r5506 - in branches/cross-lfs/BOOK/final-system: raq2 x86

manuel at linuxfromscratch.org manuel at linuxfromscratch.org
Sun May 29 01:38:18 PDT 2005

Author: manuel
Date: 2005-05-29 02:38:16 -0600 (Sun, 29 May 2005)
New Revision: 5506

Tagged raq2/glibc.xml

Modified: branches/cross-lfs/BOOK/final-system/raq2/glibc.xml
--- branches/cross-lfs/BOOK/final-system/raq2/glibc.xml	2005-05-29 00:48:04 UTC (rev 5505)
+++ branches/cross-lfs/BOOK/final-system/raq2/glibc.xml	2005-05-29 08:38:16 UTC (rev 5506)
@@ -18,130 +18,50 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  xpointer="xpointer(/sect1/sect2[@role='package'])"/>
+  xpointer="xpointer(id('package-glibc'))"/>
   <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>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../x86/glibc.xml"
+    xpointer="xpointer(id('install-glibc')/para[1])"/>
-<para>This architecture does not currently support NPTL,
-so we will have to include Glibc Linuxthreads as a threading library.
-Building for a Linuxthreads based glibc you will need to
-unpack the glibc-linuxthreads-&glibc-version; tarball from
-within the glibc-&glibc-version; directory.</para>
+    <para>This architecture does not currently support NPTL, so we will
+    have to include Glibc Linuxthreads as a threading library. Building
+    for a Linuxthreads based glibc you will need to unpack the
+    <filename>glibc-linuxthreads-&glibc-version;</filename> tarball from
+    within the <filename class="directory">glibc-&glibc-version;</filename>
+    directory.</para>
-<para>The Glibc build system is self-contained and will install
-perfectly, even though the compiler specs file and linker are still
-pointing at <filename class="directory">/tools</filename>. The specs
-and linker cannot be adjusted before the Glibc install because the
-Glibc autoconf tests would give false results and defeat the goal
-of achieving a clean build.</para>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../x86/glibc.xml"
+    xpointer="xpointer(id('install-glibc')/para[2])"/>
-<para>The following patch corrects the building of syscall.h:</para>
+    <para>The following patch corrects the building of
+    <filename class="headerfile">syscall.h</filename>:</para>
 <screen><userinput>patch -Np1 -i ../&glibc-raq2_syscall-patch;</userinput></screen>
-<para>NPTL is not supported under this architecture, so we are going to
-remove the nptl directory from the Glibc source:</para>
+    <para>NPTL is not supported under this architecture, so we are going to
+    remove the <filename class="directory">nptl</filename> directory from
+    the Glibc source:</para>
 <screen><userinput>rm -rf nptl*</userinput></screen>
-<para>The Glibc documentation recommends building Glibc outside of the source
-directory in a dedicated build directory:</para>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../x86/glibc.xml"
+    xpointer="xpointer(id('install-glibc')/para[4]/range-to(id('install-glibc')/para[12]))"/>
-<screen><userinput>mkdir ../glibc-build
-cd ../glibc-build</userinput></screen>
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../x86/glibc.xml"
+    xpointer="xpointer(id('install-glibc')/screen[8]/range-to(id('install-glibc')/para[last()]))"/>
-<para>Prepare Glibc for compilation:</para>
-<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
-    --disable-profile --enable-add-ons --enable-kernel=2.6.0 \
-    --libexecdir=/usr/lib/glibc</userinput></screen>
-<para>The meaning of the new configure option:</para>
-<listitem><para>This changes the location of the
-<command>pt_chown</command> program from its default of <filename
-class="directory">/usr/libexec</filename> to <filename
-<para>Compile the package:</para>
-<important><para>In this section, the test suite for Glibc is
-considered critical. Do not skip it under any
-<para>Test the results:</para>
-<screen><userinput>make check</userinput></screen>
-<para>The Glibc test suite is highly dependent on certain functions of
-the host system, in particular the kernel. In general, the Glibc test
-suite is always expected to pass. However, in certain circumstances,
-some failures are unavoidable. This is a list of the most common
-<listitem><para>The <emphasis>math</emphasis> tests sometimes fail when running
-on systems where the CPU is not a relatively new genuine Intel or authentic AMD.
-Certain optimization settings are also known to be a factor here.</para></listitem>
-<listitem><para>The <emphasis>gettext</emphasis> test sometimes fails due to
-host system issues. The exact reasons are not yet clear.</para></listitem>
-<listitem><para>The <emphasis>atime</emphasis> test sometimes fails
-when the LFS partition is mounted with the
-<parameter>noatime</parameter> option.</para></listitem>
-<listitem><para>The <emphasis>shm</emphasis> test can fail when the
-host system is using the <systemitem
-class="filesystem">devfs</systemitem> file system but does not have
-the <systemitem class="filesystem">tmpfs</systemitem> file system
-mounted at <filename class="directory">/dev/shm</filename>.  This
-occurs because of a lack of support for <systemitem
-class="filesystem">tmpfs</systemitem> in the
-<listitem><para>When running on older and slower hardware, some tests
-can fail because of test timeouts being exceeded.</para></listitem>
-<para>Though it is a harmless message, the install stage of Glibc will
-complain about the absence of <filename>/etc/ld.so.conf</filename>.
-Prevent this warning with:</para>
-<screen><userinput>touch /etc/ld.so.conf</userinput></screen>
-<para>Install the package:</para>
-<screen><userinput>make install</userinput></screen>
-<para>Build the linuxthreads man pages, which are a great reference
-on the threading API (applicable to NPTL as well):</para>
-<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
-<para>Install these pages:</para>
-<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man install</userinput></screen>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
-  xpointer="xpointer(/sect1/sect2[3])"/>
+  xpointer="xpointer(id('i18n-glibc'))"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"

Modified: branches/cross-lfs/BOOK/final-system/raq2/linux-libc-headers.xml
--- branches/cross-lfs/BOOK/final-system/raq2/linux-libc-headers.xml	2005-05-29 00:48:04 UTC (rev 5505)
+++ branches/cross-lfs/BOOK/final-system/raq2/linux-libc-headers.xml	2005-05-29 08:38:16 UTC (rev 5506)
@@ -40,7 +40,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"

Modified: branches/cross-lfs/BOOK/final-system/x86/glibc.xml
--- branches/cross-lfs/BOOK/final-system/x86/glibc.xml	2005-05-29 00:48:04 UTC (rev 5505)
+++ branches/cross-lfs/BOOK/final-system/x86/glibc.xml	2005-05-29 08:38:16 UTC (rev 5506)
@@ -156,6 +156,8 @@
     <para>Build the linuxthreads man pages, which are a great reference
     on the threading API (applicable to NPTL as well):</para>
+    <para/>
     <para>Unpack the glibc-linuxthreads-&glibc-version; tarball—it
     is needed for the next two make commands. You can ignore this if you do
     want the threading API man pages.</para>
@@ -166,6 +168,8 @@
 <screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man install</userinput></screen>
+    <para/>
   <sect2 id="i18n-glibc" role="installation">

More information about the lfs-book mailing list