Ignore:
Timestamp:
12/05/2008 08:46:02 PM (15 years ago)
Author:
Jeremy Huntwork <jhuntwork@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
6f2cc22
Parents:
6e88633
Message:

Bring in DIY's next generation build method. Move GRUB to chapter 8.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8755 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter05/glibc.xml

    r6e88633 r4e82d47  
    4444    <title>Installation of Glibc</title>
    4545
    46     <para>Fix a potential issue if <filename>/etc/ld.so.preload</filename> is
    47     used on the host system.</para>
    48 
    49 <screen><userinput remap="pre">sed -i 's@/etc/ld.so.preload@/tools/etc/ld.so.preload@' elf/rtld.c</userinput></screen>
    50 
    5146    <para>The Glibc documentation recommends building Glibc outside of the source
    5247    directory in a dedicated build directory:</para>
     
    7267
    7368<screen><userinput remap="configure">../glibc-&glibc-version;/configure --prefix=/tools \
     69    --host=$LFS_TGT --build=$(../glibc-&glibc-version;/scripts/config.guess) \
    7470    --disable-profile --enable-add-ons \
    75     --enable-kernel=2.6.0 --with-binutils=/tools/bin \
    76     --without-gd --with-headers=/tools/include \
    77     --without-selinux</userinput></screen>
     71    --enable-kernel=2.6.0 --with-headers=/tools/include \
     72    libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes</userinput></screen>
    7873
    7974    <variablelist>
    8075      <title>The meaning of the configure options:</title>
     76
     77      <varlistentry>
     78        <term><parameter>--host=$LFS_TGT, --build=$(../glibc-&glibc-version;/scripts/config.guess)</parameter></term>
     79        <listitem>
     80          <para>The combined effect of these switches is that Glibc's build system
     81          configures itself to cross-compile, using the cross-linker and
     82          cross-compiler in <filename class="directory">/tools</filename>.</para>
     83        </listitem>
     84      </varlistentry>
    8185
    8286      <varlistentry>
     
    105109
    106110      <varlistentry>
    107         <term><parameter>--with-binutils=/tools/bin</parameter></term>
    108         <listitem>
    109           <para>While not required, this switch ensures that there are
    110           no errors pertaining to which Binutils programs get used during the
    111           Glibc build.</para>
    112         </listitem>
    113       </varlistentry>
    114 
    115       <varlistentry>
    116         <term><parameter>--without-gd</parameter></term>
    117         <listitem>
    118           <para>This prevents the build of the <command>memusagestat</command>
    119           program, which insists on linking against the host's libraries
    120           (libgd, libpng, libz, etc.).</para>
    121         </listitem>
    122       </varlistentry>
    123 
    124       <varlistentry>
    125111        <term><parameter>--with-headers=/tools/include</parameter></term>
    126112        <listitem>
     
    132118
    133119      <varlistentry>
    134         <term><parameter>--without-selinux</parameter></term>
     120        <term><parameter>libc_cv_forced_unwind=yes</parameter></term>
    135121        <listitem>
    136           <para>When building from hosts that include SELinux functionality
    137           (e.g., Fedora Core 3), Glibc will build with support for SELinux.
    138           As the LFS tools environment does not contain support for SELinux, a
    139           Glibc compiled with such support will fail to operate correctly.</para>
     122          <para>The build requires support for forced unwind, but because it is
     123          being cross compiled, it cannot auto detect it. Setting this variable
     124          on the command line explicitly tells the configure script that support
     125          is available.</para>
     126        </listitem>
     127      </varlistentry>
     128      <varlistentry>
     129        <term><parameter>libc_cv_c_cleanup=yes</parameter></term>
     130        <listitem>
     131          <para>The build also requires support for C cleanup handling, which it
     132          cannot auto detect when being cross compiled. Enable it explicitly.</para>
    140133        </listitem>
    141134      </varlistentry>
     
    168161    run at this time because we do not have a C++ compiler yet.</para>
    169162
    170     <para>The install stage of Glibc will issue a harmless warning at the
    171     end about the absence of <filename>/tools/etc/ld.so.conf</filename>.
    172     Prevent this warning with:</para>
    173 
    174 <screen><userinput remap="install">mkdir -v /tools/etc
    175 touch /tools/etc/ld.so.conf</userinput></screen>
    176 
    177163    <para>Install the package:</para>
    178164
Note: See TracChangeset for help on using the changeset viewer.