aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/glibc-inst.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter05/glibc-inst.xml')
-rw-r--r--chapter05/glibc-inst.xml70
1 files changed, 57 insertions, 13 deletions
diff --git a/chapter05/glibc-inst.xml b/chapter05/glibc-inst.xml
index 83b64eb69..4bae896d4 100644
--- a/chapter05/glibc-inst.xml
+++ b/chapter05/glibc-inst.xml
@@ -77,21 +77,65 @@ libpng, libz, and so forth).</para></listitem>
*** Check the INSTALL file for required versions.</screen></blockquote>
<para>The missing or incompatible <filename>msgfmt</filename> program is
-generally harmless and shouldn't cause us any problems.</para>
+generally harmless, but it's believed it can sometimes cause problems when
+running the test suite.</para>
-<para>Continue with compiling the package:</para>
+<para>Compile the package:</para>
-<para><screen><userinput>make
-make check
-make install</userinput></screen></para>
+<para><screen><userinput>make</userinput></screen></para>
-<para>The glibc make check process is highly dependent on certain functions
-of your host operating system. The most common is a host that fails to mount
-a tmpfs filesystem at /dev/shm, which may cause glibc tests to fail.</para>
+<para>Run the test suite:</para>
-<para>The locales (used by Glibc to make your Linux system respond in a
-different language) weren't installed when you ran the previous command,
-so we have to do that ourselves now:</para>
+<para><screen><userinput>make check</userinput></screen></para>
+
+<para>The Glibc test suite is highly dependent on certain functions of your host
+system, in particular the kernel. Additionally, here in Chapter 5, some tests
+can be adversely affected by existing tools or environmental issues on the host
+system. Of course, these won't be a problem when we run the Glibc test suite
+inside the chroot environment of Chapter 6. In general, the Glibc test suite is
+always expected to pass. However, as mentioned above, some failures are
+unavoidable in certain circumstances. Here is a list of the most common issues
+we are aware of:</para>
+
+<itemizedlist>
+<listitem><para>The math tests sometimes fail when running on systems where the
+CPU is not a relatively new genuine Intel or genuine AMD. Certain optimization
+settings are also known to be a factor here.</para></listitem>
+
+<listitem><para>The gettext test sometimes fails due to host system issues. The
+exact reasons are not yet clear.</para></listitem>
+
+<listitem><para>The atime test sometimes fails when the LFS parition is mounted
+with the noatime option or due to other file system quirks.</para></listitem>
+
+<listitem><para>In general, when running on slower hardware, some tests might
+fail due to test timeouts being exceeded.</para></listitem>
+
+<listitem><para>The shm test might fail in the circumstances of the host system
+running the devfs file system but not having the tmpfs filesystem mounted at
+/dev/shm due to lack of support for tmpfs in the kernel.</para></listitem>
+</itemizedlist>
+
+<para>In summary, don't worry too much if you see Glibc test suite failures here
+in Chapter 5. The Glibc in Chapter 6 is the one we'll ultimately end up using so
+that is the one we would really like to pass. But please keep in mind, even in
+Chapter 6 some failures could still occur, the math tests for example. When
+experiencing a failure, note the failure then continue on by reissuing the
+<userinput>make check</userinput>. The test suite should pick up where it left
+off and continue on. You can circumvent this stop-start sequence by issuing a
+<userinput>make -k check</userinput>. But If you do that, be sure to log the
+output so that you can later on peruse the log file and examine the total number
+of failures.</para>
+
+<para>Now install the package:</para>
+
+<para><screen><userinput>make install</userinput></screen></para>
+
+<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. This "internationalization" works by means of locales. We'll install the
+Glibc locales now:</para>
<para><screen><userinput>make localedata/install-locales</userinput></screen></para>
@@ -99,10 +143,10 @@ so we have to do that ourselves now:</para>
those locales which you need or want. This can be achieved by using the
<userinput>localedef</userinput> command. Information on this can be
found in the <filename>INSTALL</filename> file in the
-<filename>glibc-&glibc-version;</filename> tree. However, there are a
+<filename>glibc-&glibc-version;</filename> source. However, there are a
number of locales that are essential for the tests of future packages
to pass correctly, in particular, the libstdc++ tests from GCC. The following
-instructions, in place of the install-locales command above, will install
+instructions, instead of the install-locales command above, will install
the minimum set of locales necessary for the tests to run successfully:</para>
<para><screen><userinput>mkdir -p /tools/lib/locale