source: BOOK/temp-system/common/bash.xml@ 88ef769

Last change on this file since 88ef769 was 268f64e, checked in by Joe Ciccone <jciccone@…>, 14 years ago

Convert Bash in the temp-system.

  • Property mode set to 100644
File size: 3.1 KB
RevLine 
[3f8be484]1<?xml version="1.0" encoding="ISO-8859-1"?>
[268f64e]2<!DOCTYPE c:package [
[3f8be484]3 <!ENTITY % general-entities SYSTEM "../../general.ent">
4 %general-entities;
5]>
6
[268f64e]7<c:package xmlns:c="http://schema.cross-lfs.org/book"
8 xmlns:xi="http://www.w3.org/2001/XInclude"
9 id="ch-temp-system-bash" c:multibuild="false">
[3f8be484]10
[268f64e]11 <c:title>Bash</c:title>
12 <c:version>&bash-version;</c:version>
13 <c:variant>temporary system</c:variant>
[3f8be484]14
[268f64e]15 <xi:include href="../../final-system/common/bash.xml"
16 xpointer="xmlns(co=http://schema.cross-lfs.org/book)
17 xpointer(/co:package/co:description[1])" />
[6f9ab64]18
[268f64e]19 <c:install>
20
21 <xi:include href="../../final-system/common/bash.xml"
22 xpointer="xmlns(co=http://schema.cross-lfs.org/book)
23 xpointer(/co:package/co:install/*[@co:r='p-bu'])" />
24
25 <c:para>When Bash is cross-compiled, it cannot test for the presence
26 of named pipes, among other things. If you used <c:command>su</c:command> to
[5ec7618f]27 become an unprivileged user, this combination will cause Bash to build
[268f64e]28 without <c:emphasis>process substitution</c:emphasis>, which will break one
29 of the C++ test scripts in <c:literal>eglibc</c:literal>. The following prevents
[58598c1]30 future problems by skipping the check for named pipes, as well as other
[268f64e]31 tests that can not run while cross-compiling or that do not run properly:</c:para>
[ec626ab]32
[268f64e]33<c:command>cat &gt; config.cache &lt;&lt; "EOF"
[5ec7618f]34ac_cv_func_mmap_fixed_mapped=yes
35ac_cv_func_strcoll_works=yes
36ac_cv_func_working_mktime=yes
37bash_cv_func_sigsetjmp=present
38bash_cv_getcwd_malloc=yes
39bash_cv_job_control_missing=present
40bash_cv_printf_a_format=yes
41bash_cv_sys_named_pipes=present
42bash_cv_ulimit_maxfds=yes
43bash_cv_under_sys_siglist=yes
44bash_cv_unusable_rtsigs=no
45gt_cv_int_divbyzero_sigfpe=yes
[268f64e]46EOF</c:command>
47
48 <c:para>Prepare Bash for compilation:</c:para>
49
50<c:command c:arch="alpha,mips,ppc,sparc,x86">./configure -prefix=/tools \
51 -build=${CLFS_HOST} -host=${CLFS_TARGET} \
52 -without-bash-malloc -cache-file=config.cache</c:command>
53<c:command c:arch="mips64-64,mips64,ppc64,sparc64-64,sparc64,x86_64-64,x86_64">CC="${CC} ${BUILD64}" CXX="${CXX} ${BUILD64}" \
54 ./configure --prefix=/tools \
55 --build=${CLFS_HOST} --host=${CLFS_TARGET} \
56 --without-bash-malloc --cache-file=config.cache</c:command>
[3f8be484]57
[268f64e]58<!--
[663f8a7]59 <variablelist os="c">
[173da18]60 <title>The meaning of the configure option:</title>
[3f8be484]61
62 <varlistentry>
[268f64e]63 <term><parameter>-without-bash-malloc</parameter></term>
[3f8be484]64 <listitem>
[4866cb6]65 <para>This option turns off the use of Bash's memory allocation
[3f8be484]66 (malloc) function which is known to cause segmentation faults.
[76cf100]67 By turning this option off, Bash will use the malloc functions
[3f8be484]68 from Glibc which are more stable.</para>
69 </listitem>
70 </varlistentry>
71
72 </variablelist>
[268f64e]73-->
[3f8be484]74
[268f64e]75 <c:para>Compile the package:</c:para>
[3f8be484]76
[268f64e]77<c:command>make</c:command>
[3f8be484]78
[268f64e]79 <c:para>Install the package:</c:para>
[3f8be484]80
[268f64e]81<c:command>make install</c:command>
[3f8be484]82
[268f64e]83 <c:para>Make a link for programs that use <c:command>sh</c:command> for
84 a shell:</c:para>
[3f8be484]85
[268f64e]86<c:command>ln -sv bash /tools/bin/sh</c:command>
87
88 </c:install>
89
90 <c:contents c:ref="ch-system-bash" />
91
92</c:package>
[3f8be484]93
Note: See TracBrowser for help on using the repository browser.