[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 > config.cache << "EOF"
|
---|
[5ec7618f] | 34 | ac_cv_func_mmap_fixed_mapped=yes
|
---|
| 35 | ac_cv_func_strcoll_works=yes
|
---|
| 36 | ac_cv_func_working_mktime=yes
|
---|
| 37 | bash_cv_func_sigsetjmp=present
|
---|
| 38 | bash_cv_getcwd_malloc=yes
|
---|
| 39 | bash_cv_job_control_missing=present
|
---|
| 40 | bash_cv_printf_a_format=yes
|
---|
| 41 | bash_cv_sys_named_pipes=present
|
---|
| 42 | bash_cv_ulimit_maxfds=yes
|
---|
| 43 | bash_cv_under_sys_siglist=yes
|
---|
| 44 | bash_cv_unusable_rtsigs=no
|
---|
| 45 | gt_cv_int_divbyzero_sigfpe=yes
|
---|
[268f64e] | 46 | EOF</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">
|
---|
[852824db] | 60 | <title>The meaning of the new 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:install>
|
---|
| 84 |
|
---|
| 85 | <c:contents c:ref="ch-system-bash" />
|
---|
| 86 |
|
---|
| 87 | </c:package>
|
---|
[3f8be484] | 88 |
|
---|