aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/glibc.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter05/glibc.xml')
-rw-r--r--chapter05/glibc.xml133
1 files changed, 5 insertions, 128 deletions
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 3b7ac093a..b256792f1 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -12,7 +12,6 @@
<secondary>tools</secondary></indexterm>
<sect2 role="package"><title/>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
@@ -20,25 +19,11 @@
<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem>
</segmentedlist>
-<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
-
</sect2>
<sect2 role="installation">
<title>Installation of Glibc</title>
-<para>This package is known to behave badly when you change its default
-optimization flags (including the <parameter>-march</parameter> and
-<parameter>-mcpu</parameter> options). Therefore, if you have defined any
-environment variables that override default optimizations, such as CFLAGS and
-CXXFLAGS, we recommend un-setting them when building Glibc.</para>
-
-<para>Basically, compiling Glibc in any other way than the book suggests
-is putting the stability of your system at risk.</para>
-
-<para>The Glibc documentation recommends building Glibc outside of the source
-directory in a dedicated build directory:</para>
-
<screen><userinput>mkdir ../glibc-build
cd ../glibc-build</userinput></screen>
@@ -49,104 +34,15 @@ cd ../glibc-build</userinput></screen>
--enable-kernel=2.6.0 --with-binutils=/tools/bin \
--without-gd --without-cvs --with-headers=/tools/include</userinput></screen>
-<para>The meaning of the configure options:</para>
-
-<variablelist>
-<varlistentry>
-<term><parameter>--disable-profile</parameter></term>
-<listitem><para>This builds the
-libraries without profiling information. Omit this option if you plan to do
-profiling on the temporary tools.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--enable-add-ons</parameter></term>
-<listitem><para>This tells Glibc to use the add-on' that it can use like NPTL
-as its threading library.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--enable-kernel=2.6.0</parameter></term>
-<listitem><para>This tells Glibc to compile the library for support of
-linux 2.6.x kernels.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-binutils=/tools/bin</parameter></term>
-<listitem><para>Strictly speaking this switch is not required. But it does ensure
-nothing can go wrong with regard to what Binutils programs get used during the
-Glibc build.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--without-gd</parameter></term>
-<listitem><para>This prevents the build of the <command>memusagestat</command>
-program, which strangely enough insists on linking against the host's libraries
-(libgd, libpng, libz, and so forth). </para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--without-cvs</parameter></term>
-<listitem><para>This is meant to prevent
-the Makefiles from attempting automatic CVS checkouts when using a CVS
-snapshot. But it's not actually needed these days. We use it because it
-suppresses an annoying but harmless warning about a missing
-<command>autoconf</command> program.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term><parameter>--with-headers=/tools/include</parameter></term>
-<listitem><para>This forces glibc to use the linux-libc-headers installed
-in /tools/include, rather than those on the host, which may be too old to
-support needed functionality.</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-<para>During this stage you might see the following warning:</para>
-
-<blockquote><screen><computeroutput>configure: WARNING:
-*** These auxiliary programs are missing or incompatible versions: msgfmt
-*** some features will be disabled.
-*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
-
-<para>The missing or incompatible <command>msgfmt</command> program is
-generally harmless, but it's believed it can sometimes cause problems when
-running the test suite.</para>
-
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
-<para>Compilation is now complete. As mentioned earlier, running the test suites
-for the temporary tools installed in this chapter is not mandatory. If you want
-to run the Glibc test suite though, the following command will do so:</para>
-
<screen><userinput>make check</userinput></screen>
<para>For a discussion of test failures that are of particular
importance, please see <xref linkend="ch-system-glibc"/>.</para>
-<para>In this chapter, some tests can be adversely affected by existing tools or
-environmental issues on the host system. In short, don't worry too much if you
-see Glibc test suite failures in this chapter. The Glibc in
-<xref linkend="chapter-building-system"/> is the one we'll ultimately end up
-using, so that is the one we would really like to see pass the tests (but even
-there some failures could still occur -- the <emphasis>math</emphasis> tests,
-for example).</para>
-
-<para>When experiencing a failure, make a note of it, then continue by reissuing
-the <command>make check</command>. The test suite should pick up where it left
-off and continue. You can circumvent this stop-start sequence by issuing a
-<command>make -k check</command>. If you do that though, be sure to log the
-output so that you can later peruse the log file and examine the total number of
-failures.</para>
-
-<para>Though it is a harmless message, the install stage of Glibc will at the
-end complain about the absence of <filename>/tools/etc/ld.so.conf</filename>.
-Prevent this confusing little warning with:</para>
-
<screen><userinput>mkdir /tools/etc
touch /tools/etc/ld.so.conf</userinput></screen>
@@ -154,30 +50,15 @@ touch /tools/etc/ld.so.conf</userinput></screen>
<screen><userinput>make install</userinput></screen>
-<para>Different countries and cultures have varying conventions for how to
-communicate. These conventions range from very simple ones, such as the format
-for representing dates and times, to very complex ones, such as the language
-spoken. The <quote>internationalization</quote> of GNU programs works by means
-of <emphasis>locales</emphasis>.</para>
-
-<note><para>If you are not running the test suites here in this chapter as per
-our recommendation, there is little point in installing the locales now. We'll
-be installing the locales in the next chapter.</para></note>
-
-<para>If you still want to install the Glibc locales anyway, the following
-command will do so:</para>
+<para>To install the Glibc locales, use the following
+command:</para>
<screen><userinput>make localedata/install-locales</userinput></screen>
<para>An alternative to running the previous command is to install only those
-locales which you need or want. This can be achieved by using the
-<command>localedef</command> command. Information on this can be found in
-the <filename>INSTALL</filename> file in the Glibc source. However, there are
-a number of locales that are essential for the tests of future packages to
-pass, in particular, the <emphasis>libstdc++</emphasis> tests from GCC. The
-following instructions, instead of the install-locales target above, will
-install the minimum set of locales necessary for the tests to run
-successfully:</para>
+locales which you need or want. The following instructions, instead of the
+install-locales target above, will install the minimum set of locales necessary
+for the tests to run successfully:</para>
<screen><userinput>mkdir -p /tools/lib/locale
localedef -i de_DE -f ISO-8859-1 de_DE
@@ -194,8 +75,4 @@ localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
</sect2>
-<sect2 role="content"><title/>
-<para>The details on this package are found in <xref linkend="contents-glibc"/>.</para>
-</sect2>
-
</sect1>