diff options
Diffstat (limited to 'chapter05/glibc.xml')
-rw-r--r-- | chapter05/glibc.xml | 133 |
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> |