Ignore:
Timestamp:
12/20/2004 05:23:16 PM (19 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
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.1, 6.1.1, 6.3, 6.4, 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:
24244831
Parents:
6790655
Message:

Removed text in chapter 05 - second round.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter05/glibc.xml

    r6790655 rfba1478  
    1313
    1414<sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
    1615
    1716<segmentedlist>
     
    2120</segmentedlist>
    2221
    23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
    24 
    2522</sect2>
    2623
    2724<sect2 role="installation">
    2825<title>Installation of Glibc</title>
    29 
    30 <para>This package is known to behave badly when you change its default
    31 optimization flags (including the <parameter>-march</parameter> and
    32 <parameter>-mcpu</parameter> options). Therefore, if you have defined any
    33 environment variables that override default optimizations, such as CFLAGS and
    34 CXXFLAGS, we recommend un-setting them when building Glibc.</para>
    35 
    36 <para>Basically, compiling Glibc in any other way than the book suggests
    37 is putting the stability of your system at risk.</para>
    38 
    39 <para>The Glibc documentation recommends building Glibc outside of the source
    40 directory in a dedicated build directory:</para>
    4126
    4227<screen><userinput>mkdir ../glibc-build
     
    5035    --without-gd --without-cvs --with-headers=/tools/include</userinput></screen>
    5136
    52 <para>The meaning of the configure options:</para>
    53 
    54 <variablelist>
    55 <varlistentry>
    56 <term><parameter>--disable-profile</parameter></term>
    57 <listitem><para>This builds the
    58 libraries without profiling information. Omit this option if you plan to do
    59 profiling on the temporary tools.</para></listitem>
    60 </varlistentry>
    61 
    62 <varlistentry>
    63 <term><parameter>--enable-add-ons</parameter></term>
    64 <listitem><para>This tells Glibc to use the add-on' that it can use like NPTL
    65 as its threading library.</para></listitem>
    66 </varlistentry>
    67 
    68 <varlistentry>
    69 <term><parameter>--enable-kernel=2.6.0</parameter></term>
    70 <listitem><para>This tells Glibc to compile the library for support of
    71 linux 2.6.x kernels.
    72 </para></listitem>
    73 </varlistentry>
    74 
    75 <varlistentry>
    76 <term><parameter>--with-binutils=/tools/bin</parameter></term>
    77 <listitem><para>Strictly speaking this switch is not required. But it does ensure
    78 nothing can go wrong with regard to what Binutils programs get used during the
    79 Glibc build.</para></listitem>
    80 </varlistentry>
    81 
    82 <varlistentry>
    83 <term><parameter>--without-gd</parameter></term>
    84 <listitem><para>This prevents the build of the <command>memusagestat</command>
    85 program, which strangely enough insists on linking against the host's libraries
    86 (libgd, libpng, libz, and so forth). </para></listitem>
    87 </varlistentry>
    88 
    89 <varlistentry>
    90 <term><parameter>--without-cvs</parameter></term>
    91 <listitem><para>This is meant to prevent
    92 the Makefiles from attempting automatic CVS checkouts when using a CVS
    93 snapshot. But it's not actually needed these days. We use it because it
    94 suppresses an annoying but harmless warning about a missing
    95 <command>autoconf</command> program.</para></listitem>
    96 </varlistentry>
    97 
    98 <varlistentry>
    99 <term><parameter>--with-headers=/tools/include</parameter></term>
    100 <listitem><para>This forces glibc to use the linux-libc-headers installed
    101 in /tools/include, rather than those on the host, which may be too old to
    102 support needed functionality.</para></listitem>
    103 </varlistentry>
    104 
    105 </variablelist>
    106 
    107 <para>During this stage you might see the following warning:</para>
    108 
    109 <blockquote><screen><computeroutput>configure: WARNING:
    110 *** These auxiliary programs are missing or incompatible versions: msgfmt
    111 *** some features will be disabled.
    112 *** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
    113 
    114 <para>The missing or incompatible <command>msgfmt</command> program is
    115 generally harmless, but it's believed it can sometimes cause problems when
    116 running the test suite.</para>
    117 
    11837<para>Compile the package:</para>
    11938
    12039<screen><userinput>make</userinput></screen>
    121 
    122 <para>Compilation is now complete. As mentioned earlier, running the test suites
    123 for the temporary tools installed in this chapter is not mandatory. If you want
    124 to run the Glibc test suite though, the following command will do so:</para>
    12540
    12641<screen><userinput>make check</userinput></screen>
     
    12843<para>For a discussion of test failures that are of particular
    12944importance, please see <xref linkend="ch-system-glibc"/>.</para>
    130 
    131 <para>In this chapter, some tests can be adversely affected by existing tools or
    132 environmental issues on the host system.  In short, don't worry too much if you
    133 see Glibc test suite failures in this chapter. The Glibc in
    134 <xref linkend="chapter-building-system"/> is the one we'll ultimately end up
    135 using, so that is the one we would really like to see pass the tests (but even
    136 there some failures could still occur -- the <emphasis>math</emphasis> tests,
    137 for example).</para>
    138 
    139 <para>When experiencing a failure, make a note of it, then continue by reissuing
    140 the <command>make check</command>. The test suite should pick up where it left
    141 off and continue. You can circumvent this stop-start sequence by issuing a
    142 <command>make -k check</command>. If you do that though, be sure to log the
    143 output so that you can later peruse the log file and examine the total number of
    144 failures.</para>
    145 
    146 <para>Though it is a harmless message, the install stage of Glibc will at the
    147 end complain about the absence of <filename>/tools/etc/ld.so.conf</filename>.
    148 Prevent this confusing little warning with:</para>
    14945
    15046<screen><userinput>mkdir /tools/etc
     
    15551<screen><userinput>make install</userinput></screen>
    15652
    157 <para>Different countries and cultures have varying conventions for how to
    158 communicate. These conventions range from very simple ones, such as the format
    159 for representing dates and times, to very complex ones, such as the language
    160 spoken. The <quote>internationalization</quote> of GNU programs works by means
    161 of <emphasis>locales</emphasis>.</para>
    162 
    163 <note><para>If you are not running the test suites here in this chapter as per
    164 our recommendation, there is little point in installing the locales now. We'll
    165 be installing the locales in the next chapter.</para></note>
    166 
    167 <para>If you still want to install the Glibc locales anyway, the following
    168 command will do so:</para>
     53<para>To install the Glibc locales, use the following
     54command:</para>
    16955
    17056<screen><userinput>make localedata/install-locales</userinput></screen>
    17157
    17258<para>An alternative to running the previous command is to install only those
    173 locales which you need or want. This can be achieved by using the
    174 <command>localedef</command> command. Information on this can be found in
    175 the <filename>INSTALL</filename> file in the Glibc source. However, there are
    176 a number of locales that are essential for the tests of future packages to
    177 pass, in particular, the <emphasis>libstdc++</emphasis> tests from GCC. The
    178 following instructions, instead of the install-locales target above, will
    179 install the minimum set of locales necessary for the tests to run
    180 successfully:</para>
     59locales which you need or want. The following instructions, instead of the
     60install-locales target above, will install the minimum set of locales necessary
     61for the tests to run successfully:</para>
    18162
    18263<screen><userinput>mkdir -p /tools/lib/locale
     
    19576</sect2>
    19677
    197 <sect2 role="content"><title/>
    198 <para>The details on this package are found in <xref linkend="contents-glibc"/>.</para>
    199 </sect2>
    200 
    20178</sect1>
Note: See TracChangeset for help on using the changeset viewer.