diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index d2989fa42..aa2ea3623 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -1,115 +1,141 @@ - %general-entities; ]> + -GCC-&gcc-version; - Pass 1 - + - -GCC -tools, pass 1 + GCC-&gcc-version; - Pass 1 - -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + <indexterm zone="ch-tools-gcc-pass1"> + <primary sortas="a-GCC">GCC</primary> + <secondary>tools, pass 1</secondary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>4.4 SBU</seg><seg>219 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> + <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" + href="../chapter06/gcc.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> -</sect2> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="installation"> -<title>Installation of GCC + + 4.4 SBU + 219 MB + + -The GCC documentation recommends building GCC outside of the -source directory in a dedicated build directory: + + + + + + Installation of GCC + + The GCC documentation recommends building GCC outside of the + source directory in a dedicated build directory: mkdir -v ../gcc-build cd ../gcc-build -Prepare GCC for compilation: + Prepare GCC for compilation: ../gcc-&gcc-version;/configure --prefix=/tools \ --with-local-prefix=/tools --disable-nls --enable-shared \ --enable-languages=c -The meaning of the configure options: + + The meaning of the configure options: - - ---with-local-prefix=/tools -The purpose of this switch is to remove /usr/local/include -from gcc's include search path. This is not absolutely -essential, however, it helps to minimize the influence of the host -system. - - + + --with-local-prefix=/tools + + The purpose of this switch is to remove /usr/local/include from + gcc's include search path. This is not + absolutely essential, however, it helps to minimize the + influence of the host system. + + - ---enable-shared -This switch allows the building of -libgcc_s.so.1 and -libgcc_eh.a. Having -libgcc_eh.a available ensures that the -configure script for Glibc (the next package we compile) produces the proper -results. - + + --enable-shared + + This switch allows the building of libgcc_s.so.1 and + libgcc_eh.a. + Having libgcc_eh.a + available ensures that the configure script for Glibc (the + next package we compile) produces the proper results. + + - ---enable-languages=c -This option ensures that only the C compiler is built. - - - + + --enable-languages=c + + This option ensures that only the C compiler is built. + + -Continue with compiling the package: + + + Continue with compiling the package: make bootstrap -The meaning of the make parameters: + + The meaning of the make parameters: - - -bootstrap -This target does not just compile GCC, but compiles it -several times. It uses the programs compiled in a first round to -compile itself a second time, and then again a third time. It then -compares these second and third compiles to make sure it can reproduce -itself flawlessly. This also implies that it was compiled -correctly. - - + + bootstrap + + This target does not just compile GCC, but compiles it + several times. It uses the programs compiled in a first round + to compile itself a second time, and then again a third time. + It then compares these second and third compiles to make sure + it can reproduce itself flawlessly. This also implies that it + was compiled correctly. + + -Compilation is now complete. At this point, the test suite would -normally be run, but, as mentioned before, the test suite framework is -not in place yet. The benefits of running the tests at this point -are minimal since the programs from this first pass will soon be -replaced. + -Install the package: + Compilation is now complete. At this point, the test suite would + normally be run, but, as mentioned before, the test suite framework is + not in place yet. The benefits of running the tests at this point + are minimal since the programs from this first pass will soon be + replaced. + + Install the package: make install -As a finishing touch, create a symlink. Many programs and -scripts run cc instead of gcc, which is used to keep programs generic -and therefore usable on all kinds of UNIX systems where the GNU C compiler -is not always installed. Running cc leaves the system administrator -free to decide which C compiler to install. + As a finishing touch, create a symlink. Many programs and scripts + run cc instead of gcc, which is + used to keep programs generic and therefore usable on all kinds of UNIX + systems where the GNU C compiler is not always installed. Running + cc leaves the system administrator free to decide + which C compiler to install. ln -vs gcc /tools/bin/cc - + - -<para>Details on this package are located in <xref -linkend="contents-gcc" role="."/></para> -</sect2> + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-gcc" role="."/></para> + + </sect2> </sect1> - diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml index 9d206d724..254b3517d 100644 --- a/chapter05/gcc-pass2.xml +++ b/chapter05/gcc-pass2.xml @@ -1,103 +1,120 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-tools-gcc-pass2" role="wrap"> -<title>GCC-&gcc-version; - Pass 2 - + - -GCC -tools, pass 2 + GCC-&gcc-version; - Pass 2 - + <indexterm zone="ch-tools-gcc-pass2"> + <primary sortas="a-GCC">GCC</primary> + <secondary>tools, pass 2</secondary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>11.0 SBU</seg><seg>292 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> + <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" + href="../chapter06/gcc.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> -</sect2> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="installation"> -<title>Re-installation of GCC + + 11.0 SBU + 292 MB + + -The tools required to test GCC and Binutils—Tcl, Expect -and DejaGNU—are installed now. GCC and Binutils can now be -rebuilt, linking them against the new Glibc and testing them properly -(if running the test suites in this chapter). Please note that these -test suites are highly dependent on properly functioning PTYs which -are provided by the host. PTYs are most commonly implemented via the -devpts file system. Check -to see if the host system is set up correctly in this regard by -performing a quick test: + + + + + + Re-installation of GCC + + The tools required to test GCC and Binutils—Tcl, Expect + and DejaGNU—are installed now. GCC and Binutils can now be + rebuilt, linking them against the new Glibc and testing them properly + (if running the test suites in this chapter). Please note that these + test suites are highly dependent on properly functioning PTYs which + are provided by the host. PTYs are most commonly implemented via the + devpts file system. Check + to see if the host system is set up correctly in this regard by + performing a quick test: expect -c "spawn ls" -The response might be: + The response might be: -The system has no more ptys. +The system has no more ptys. Ask your system administrator to create more. -If the above message is received, the host does not have its PTYs set up -properly. In this case, there is no point in running the test suites for GCC and -Binutils until this issue is resolved. Please consult the LFS FAQ at for more information on how to get PTYs -working. + If the above message is received, the host does not have its PTYs + set up properly. In this case, there is no point in running the test + suites for GCC and Binutils until this issue is resolved. Please consult + the LFS FAQ at for more + information on how to get PTYs working. -As previously explained in , under -normal circumstances the GCC fixincludes script is run in -order to fix potentially broken header files. As GCC-&gcc-version; and -Glibc-&glibc-version; have already been installed at this point, and their -respective header files are known to not require fixing, the -fixincludes script is not required. As mentioned previously, -the script may in fact pollute the build environment by installing fixed headers -from the host system into GCC's private include directory. The running of the -fixincludes script can be suppressed by issuing the following -commands: + As previously explained in , + under normal circumstances the GCC fixincludes script + is run in order to fix potentially broken header files. As GCC-&gcc-version; + and Glibc-&glibc-version; have already been installed at this point, and + their respective header files are known to not require fixing, the + fixincludes script is not required. As mentioned + previously, the script may in fact pollute the build environment by + installing fixed headers from the host system into GCC's private include + directory. The running of the fixincludes script can + be suppressed by issuing the following commands: cp -v gcc/Makefile.in{,.orig} && sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in -The bootstrap build performed in -built GCC with the compiler flag. -Non-bootstrap builds omit this flag by default, so apply the following -sed to use it in order to ensure consistent compiler builds. - + The bootstrap build performed in + built GCC with the compiler flag. + Non-bootstrap builds omit this flag by default, so apply the following + sed to use it in order to ensure consistent compiler + builds. cp -v gcc/Makefile.in{,.tmp} && sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \ - > gcc/Makefile.in + > gcc/Makefile.in -Apply the following patch to change the location of GCC's default dynamic -linker (typically ld-linux.so.2): + Apply the following patch to change the location of GCC's default + dynamiclinker (typically ld-linux.so.2): patch -Np1 -i ../&gcc-specs-patch; -The above patch also removes -/usr/include from GCC's include search -path. Patching now rather than adjusting the specs file after installation -ensures that the new dynamic linker is used during the actual build of GCC. That -is, all of the binaries created during the build will link against the new -Glibc. + The above patch also removes /usr/include from GCC's include search path. + Patching now rather than adjusting the specs file after installation + ensures that the new dynamic linker is used during the actual build of + GCC. That is, all of the binaries created during the build will link + against the new Glibc. -The above patch is critical in ensuring a -successful overall build. Do not forget to apply -it. + + The above patch is critical in ensuring a successful overall + build. Do not forget to apply it. + -Create a separate build directory again: + Create a separate build directory again: mkdir -v ../gcc-build cd ../gcc-build -Before starting to build GCC, remember to unset any environment -variables that override the default optimization flags. + Before starting to build GCC, remember to unset any environment + variables that override the default optimization flags. -Now prepare GCC for compilation: + Now prepare GCC for compilation: ../gcc-&gcc-version;/configure --prefix=/tools \ --with-local-prefix=/tools --enable-clocale=gnu \ @@ -105,105 +122,116 @@ variables that override the default optimization flags. --enable-__cxa_atexit --enable-languages=c,c++ \ --disable-libstdcxx-pch -The meaning of the new configure options: + + The meaning of the new configure options: - - ---enable-clocale=gnu -This option ensures the correct locale model is -selected for the C++ libraries under all circumstances. If the -configure script finds the de_DE locale installed, it will select the -correct gnu locale model. However, if the de_DE locale is not -installed, there is the risk of building Application Binary Interface -(ABI)-incompatible C++ libraries because the incorrect generic locale -model may be selected. - + + --enable-clocale=gnu + + This option ensures the correct locale model is selected + for the C++ libraries under all circumstances. If the configure + script finds the de_DE locale installed, + it will select the correct gnu locale model. However, if the + de_DE locale is not installed, there is the + risk of building Application Binary Interface (ABI)-incompatible + C++ libraries because the incorrect generic locale model may be + selected. + + - ---enable-threads=posix -This enables C++ exception handling for multi-threaded -code. - + + --enable-threads=posix + + This enables C++ exception handling for multi-threaded code. + + - ---enable-__cxa_atexit -This option allows use of -__cxa_atexit, rather than -atexit, to register C++ destructors for local -statics and global objects. This option is essential for fully -standards-compliant handling of destructors. It also affects the C++ -ABI, and therefore results in C++ shared libraries and C++ programs -that are interoperable with other Linux -distributions. - + + --enable-__cxa_atexit + + This option allows use of __cxa_atexit, + rather than atexit, to register C++ destructors + for local statics and global objects. This option is essential for + fully standards-compliant handling of destructors. It also affects + the C++ ABI, and therefore results in C++ shared libraries and C++ + programs that are interoperable with other Linux distributions. + + - ---enable-languages=c,c++ -This option -ensures that both the C and C++ compilers are built. - + + --enable-languages=c,c++ + + This option ensures that both the C and C++ compilers are + built. + + - ---disable-libstdcxx-pch -Do not build the pre-compiled header (PCH) for -libstdc++. It takes up a lot of space, -and we have no use for it. - - + + --disable-libstdcxx-pch + + Do not build the pre-compiled header (PCH) for + libstdc++. It takes up a + lot of space, and we have no use for it. + + -Compile the package: + + + Compile the package: make -There is no need to use the bootstrap -target now because the compiler being used to compile this GCC was -built from the exact same version of the GCC sources used -earlier. + There is no need to use the bootstrap target + now because the compiler being used to compile this GCC was built from + the exact same version of the GCC sources used earlier. -Compilation is now complete. As previously mentioned, running -the test suites for the temporary tools compiled in this chapter is -not mandatory. To run the GCC test suite anyway, use the following -command: + Compilation is now complete. As previously mentioned, running the test + suites for the temporary tools compiled in this chapter is not mandatory. + To run the GCC test suite anyway, use the following command: make -k check -The -k flag is used to make the test suite run -through to completion and not stop at the first failure. The GCC test -suite is very comprehensive and is almost guaranteed to generate a few -failures. To receive a summary of the test suite results, run: - + The -k flag is used to make the test suite run + through to completion and not stop at the first failure. The GCC test + suite is very comprehensive and is almost guaranteed to generate a few + failures. To receive a summary of the test suite results, run: + ../gcc-&gcc-version;/contrib/test_summary -For only the summaries, pipe the output through -grep -A7 Summ. + For only the summaries, pipe the output through + grep -A7 Summ. -Results can be compared with those located at . + Results can be compared with those located at . -A few unexpected failures cannot always be avoided. The GCC developers are -usually aware of these issues, but have not resolved them yet. In particular, -the libmudflap tests are known be -particularly problematic as a result of a bug in GCC (). Unless the test -results are vastly different from those at the above URL, it is safe to -continue. + A few unexpected failures cannot always be avoided. The GCC developers + are usually aware of these issues, but have not resolved them yet. In + particular, the libmudflap tests + are known be particularly problematic as a result of a bug in GCC + (). + Unless the test results are vastly different from those at the above URL, + it is safe to continue. -Install the package: + Install the package: make install -At this point it is strongly recommended to repeat the -sanity check we performed earlier in this chapter. Refer back to and repeat the test compilation. If -the result is wrong, the most likely reason is that the GCC Specs -patch was not properly applied. + + At this point it is strongly recommended to repeat the sanity + check we performed earlier in this chapter. Refer back to and repeat the test compilation. + If the result is wrong, the most likely reason is that the GCC Specs + patch was not properly applied. + - + - -<para>Details on this package are located in <xref -linkend="contents-gcc" role="."/></para> -</sect2> + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-gcc" role="."/></para> + + </sect2> </sect1> - diff --git a/chapter05/gettext.xml b/chapter05/gettext.xml index 030c9c2c3..58063a815 100644 --- a/chapter05/gettext.xml +++ b/chapter05/gettext.xml @@ -1,68 +1,89 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-tools-gettext" role="wrap"> -<title>Gettext-&gettext-version; - + - -Gettext -tools + Gettext-&gettext-version; - -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + <indexterm zone="ch-tools-gettext"> + <primary sortas="a-Gettext">Gettext</primary> + <secondary>tools</secondary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.5 SBU</seg><seg>63.0 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> + <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" + href="../chapter06/gettext.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> -</sect2> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="installation"> -<title>Installation of Gettext + + 0.5 SBU + 63.0 MB + + -For our temporary set of tools, we only need to build and install one binary from Gettext. + -Prepare Gettext for compilation: + + + + Installation of Gettext + + For our temporary set of tools, we only need to build and install + one binary from Gettext. + + Prepare Gettext for compilation: cd gettext-tools ./configure --prefix=/tools --disable-shared -The meaning of the configure options: + + The meaning of the configure options: - - ---disable-shared -We do not need to install any of the shared gettext libraries at -this time, therefore there is no need to build them. - - + + --disable-shared + + We do not need to install any of the shared Gettext libraries at + this time, therefore there is no need to build them. + + -Compile the package: + + + Compile the package: make -C lib make -C src msgfmt -As only one binary has been compiled, it is not possible to run the -testsuite without compiling additional support libraries from the Gettext -package. It is therefore not recommended to attempt to run the testsuite at -this stage. + As only one binary has been compiled, it is not possible to run the + testsuite without compiling additional support libraries from the Gettext + package. It is therefore not recommended to attempt to run the testsuite at + this stage. -Install the msgfmt binary: + Install the msgfmt binary: cp -v src/msgfmt /tools/bin - + - -<para>Details on this package are located in <xref linkend="contents-gettext" role="."/></para> -</sect2> + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-gettext" role="."/></para> + + </sect2> </sect1> - diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index cf6a2ee34..19891d165 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -1,39 +1,53 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-tools-glibc" role="wrap"> -<title>Glibc-&glibc-version; - + - -Glibc -tools + Glibc-&glibc-version; - -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + <indexterm zone="ch-tools-glibc"> + <primary sortas="a-Glibc">Glibc</primary> + <secondary>tools</secondary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>11.8 SBU</seg><seg>454 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> + <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" + href="../chapter06/glibc.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> -</sect2> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="installation"> -<title>Installation of Glibc + + 11.8 SBU + 454 MB + + -The Glibc documentation recommends building Glibc outside of the source -directory in a dedicated build directory: + + + + + + Installation of Glibc + + The Glibc documentation recommends building Glibc outside of the source + directory in a dedicated build directory: mkdir -v ../glibc-build cd ../glibc-build -Next, prepare Glibc for compilation: + Next, prepare Glibc for compilation: ../glibc-&glibc-version;/configure --prefix=/tools \ --disable-profile --enable-add-ons \ @@ -41,133 +55,152 @@ cd ../glibc-build --without-gd --with-headers=/tools/include \ --without-selinux -The meaning of the configure options: + + The meaning of the configure options: - - ---disable-profile -This builds the libraries without profiling -information. Omit this option if profiling on the temporary tools is -necessary. - + + --disable-profile + + This builds the libraries without profiling information. Omit + this option if profiling on the temporary tools is necessary. + + - ---enable-add-ons -This tells Glibc to use the NPTL add-on as its threading -library. - + + --enable-add-ons + + This tells Glibc to use the NPTL add-on as its threading + library. + + - ---enable-kernel=2.6.0 -This tells Glibc to compile the library with support -for 2.6.x Linux kernels. - + + --enable-kernel=2.6.0 + + This tells Glibc to compile the library with support + for 2.6.x Linux kernels. + + - ---with-binutils=/tools/bin -While not required, this switch ensures that there are -no errors pertaining to which Binutils programs get used during the -Glibc build. - + + --with-binutils=/tools/bin + + While not required, this switch ensures that there are + no errors pertaining to which Binutils programs get used during the + Glibc build. + + - ---without-gd -This prevents the build of the -memusagestat program, which insists on linking -against the host's libraries (libgd, libpng, libz, -etc.). - + + --without-gd + + This prevents the build of the memusagestat + program, which insists on linking against the host's libraries + (libgd, libpng, libz, etc.). + + - ---with-headers=/tools/include -This tells Glibc to compile itself against the headers recently -installed to the tools directory, so that it knows exactly what features the -kernel has and can optimize itself accordingly. - + + --with-headers=/tools/include + + This tells Glibc to compile itself against the headers recently + installed to the tools directory, so that it knows exactly what + features the kernel has and can optimize itself accordingly. + + - ---without-selinux -When building from hosts that include SELinux functionality -(e.g., Fedora Core 3), Glibc will build with support for SELinux. As the LFS -tools environment does not contain support for SELinux, a Glibc compiled with -such support will fail to operate correctly. - - + + --without-selinux + + When building from hosts that include SELinux functionality + (e.g., Fedora Core 3), Glibc will build with support for SELinux. + As the LFS tools environment does not contain support for SELinux, a + Glibc compiled with such support will fail to operate correctly. + + -During this stage the following warning might appear: + -
configure: WARNING: -*** These auxiliary programs are missing or + During this stage the following warning might appear: + +
+configure: WARNING: +*** These auxiliary programs are missing or *** incompatible versions: msgfmt *** some features will be disabled. -*** Check the INSTALL file for required versions.
+*** Check the INSTALL file for required versions.
+
-The missing or incompatible msgfmt program is -generally harmless, but it can sometimes cause issues when running the -test suite. This msgfmt program is part of the -Gettext package which the host distribution should provide. If -msgfmt is present but deemed incompatible, upgrade -the host system's Gettext package or continue without it and see if -the test suite runs without problems regardless. + The missing or incompatible msgfmt program is + generally harmless, but it can sometimes cause issues when running the + test suite. This msgfmt program is part of the + Gettext package which the host distribution should provide. If + msgfmt is present but deemed incompatible, upgrade + the host system's Gettext package or continue without it and see if + the test suite runs without problems regardless. -Compile the package: + Compile the package: make -Compilation is now complete. As mentioned earlier, running the -test suites for the temporary tools installed in this chapter is not -mandatory. To run the Glibc test suite (if desired), the following -command will do so: + Compilation is now complete. As mentioned earlier, running the + test suites for the temporary tools installed in this chapter is not + mandatory. To run the Glibc test suite (if desired), the following + command will do so: make check -For a discussion of test failures that are of particular -importance, please see + For a discussion of test failures that are of particular + importance, please see -In this chapter, some tests can be adversely affected by -existing tools or environmental issues on the host system. Glibc test -suite failures in this chapter are typically not worrisome. The Glibc -installed in is the one that -will ultimately end up being used, so that is the one that needs to pass -most tests (even in , some -failures could still occur, for example, with the math tests). + In this chapter, some tests can be adversely affected by + existing tools or environmental issues on the host system. Glibc test + suite failures in this chapter are typically not worrisome. The Glibc + installed in is the one that + will ultimately end up being used, so that is the one that needs to pass + most tests (even in , some + failures could still occur, for example, with the math tests). -When experiencing a failure, make a note of it, then continue by -reissuing the make check command. The test suite should pick up where it left -off and continue. This stop-start sequence can be circumvented by -issuing a make -k check command. If using this option, be sure to log the -output so that the log file can be examined for failures later. + When experiencing a failure, make a note of it, then continue by + reissuing the make check command. The test suite + should pick up where it left off and continue. This stop-start sequence + can be circumvented by issuing a make -k check command. + If using this option, be sure to log the output so that the log file can + be examined for failures later. -The install stage of Glibc will issue a harmless warning at the -end about the absence of /tools/etc/ld.so.conf. -Prevent this warning with: + The install stage of Glibc will issue a harmless warning at the + end about the absence of /tools/etc/ld.so.conf. + Prevent this warning with: mkdir -v /tools/etc touch /tools/etc/ld.so.conf -Install the package: + Install the package: make install -Different countries and cultures have varying conventions for -how to communicate. These conventions range from the format for -representing dates and times to more complex issues, such as the -language spoken. The internationalization of GNU -programs works by locale. + Different countries and cultures have varying conventions for + how to communicate. These conventions range from the format for + representing dates and times to more complex issues, such as the + language spoken. The internationalization of GNU + programs works by locale. -If the test suites are not being run in this chapter (as -per the recommendation), there is no need to install the locales now. -The appropriate locales will be installed in the next -chapter. To install the Glibc locales anyway, use instructions from - - + + If the test suites are not being run in this chapter (as per + the recommendation), there is no need to install the locales now. + The appropriate locales will be installed in the next chapter. + To install the Glibc locales anyway, use instructions from + + -
+
- -<para>Details on this package are located in <xref -linkend="contents-glibc" role="."/></para> -</sect2> + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-glibc" role="."/></para> + + </sect2> </sect1> - diff --git a/chapter05/grep.xml b/chapter05/grep.xml index bf0cbe71a..49012584a 100644 --- a/chapter05/grep.xml +++ b/chapter05/grep.xml @@ -1,65 +1,85 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-tools-grep" role="wrap"> -<title>Grep-&grep-version; - + - -Grep -tools + Grep-&grep-version; - -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + <indexterm zone="ch-tools-grep"> + <primary sortas="a-Grep">Grep</primary> + <secondary>tools</secondary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>4.5 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> + <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" + href="../chapter06/grep.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> -</sect2> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="installation"> -<title>Installation of Grep + + 0.1 SBU + 4.5 MB + + -Prepare Grep for compilation: + + + + + + Installation of Grep + + Prepare Grep for compilation: ./configure --prefix=/tools \ --disable-perl-regexp -The meaning of the configure options: + + The meaning of the configure options: - - ---disable-perl-regexp -This ensures that the grep program does not -get linked against a Perl Compatible Regular Expression (PCRE) library that may -be present on the host but will not be available once we enter the -chroot environment. - - + + --disable-perl-regexp + + This ensures that the grep program does + not get linked against a Perl Compatible Regular Expression (PCRE) + library that may be present on the host but will not be available + once we enter the chroot environment. + + -Compile the package: + + + Compile the package: make -To test the results, issue: make check. + To test the results, issue: + make check. -Install the package: + Install the package: make install - + - -<para>Details on this package are located in <xref -linkend="contents-grep" role="."/></para> -</sect2> + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-grep" role="."/></para> + + </sect2> </sect1> - diff --git a/chapter05/gzip.xml b/chapter05/gzip.xml index 5e5883230..84f22972e 100644 --- a/chapter05/gzip.xml +++ b/chapter05/gzip.xml @@ -1,52 +1,68 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-tools-gzip" role="wrap"> -<title>Gzip-&gzip-version; - + - -Gzip -tools + Gzip-&gzip-version; - -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + <indexterm zone="ch-tools-gzip"> + <primary sortas="a-Gzip">Gzip</primary> + <secondary>tools</secondary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>2.2 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> + <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" + href="../chapter06/gzip.xml" + xpointer="xpointer(/sect1/sect2[1]/para[1])"/> -</sect2> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="installation"> -<title>Installation of Gzip + + 0.1 SBU + 2.2 MB + + -Prepare Gzip for compilation: + + + + + + Installation of Gzip + + Prepare Gzip for compilation: ./configure --prefix=/tools -Compile the package: + Compile the package: make -This package does not come with a test suite. + This package does not come with a test suite. -Install the package: + Install the package: make install - + - -<para>Details on this package are located in <xref -linkend="contents-gzip" role="."/></para> -</sect2> + <sect2 role="content"> + <title/> + + <para>Details on this package are located in + <xref linkend="contents-gzip" role="."/></para> + + </sect2> </sect1> -