source: BOOK/temp-system/common/bash.xml@ 268f64e

Last change on this file since 268f64e 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
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE c:package [
3 <!ENTITY % general-entities SYSTEM "../../general.ent">
4 %general-entities;
5]>
6
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">
10
11 <c:title>Bash</c:title>
12 <c:version>&bash-version;</c:version>
13 <c:variant>temporary system</c:variant>
14
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])" />
18
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
27 become an unprivileged user, this combination will cause Bash to build
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
30 future problems by skipping the check for named pipes, as well as other
31 tests that can not run while cross-compiling or that do not run properly:</c:para>
32
33<c:command>cat &gt; config.cache &lt;&lt; "EOF"
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
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>
57
58<!--
59 <variablelist os="c">
60 <title>The meaning of the configure option:</title>
61
62 <varlistentry>
63 <term><parameter>-without-bash-malloc</parameter></term>
64 <listitem>
65 <para>This option turns off the use of Bash's memory allocation
66 (malloc) function which is known to cause segmentation faults.
67 By turning this option off, Bash will use the malloc functions
68 from Glibc which are more stable.</para>
69 </listitem>
70 </varlistentry>
71
72 </variablelist>
73-->
74
75 <c:para>Compile the package:</c:para>
76
77<c:command>make</c:command>
78
79 <c:para>Install the package:</c:para>
80
81<c:command>make install</c:command>
82
83 <c:para>Make a link for programs that use <c:command>sh</c:command> for
84 a shell:</c:para>
85
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>
93
Note: See TracBrowser for help on using the repository browser.