diff options
author | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2006-02-04 13:28:41 +0000 |
---|---|---|
committer | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2006-02-04 13:28:41 +0000 |
commit | 6a82dd9a1814badb87e18df165474a8b89a39b73 (patch) | |
tree | 9ed4435c395713efb8710603809efbe99690fbb9 /chapter06 | |
parent | 54e422c1d96d41a9fbc8938962b9cb0f1e087e94 (diff) |
Indenting chapter 6, part 5
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7344 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r-- | chapter06/gawk.xml | 262 | ||||
-rw-r--r-- | chapter06/gcc.xml | 374 | ||||
-rw-r--r-- | chapter06/gettext.xml | 655 | ||||
-rw-r--r-- | chapter06/glibc.xml | 1378 | ||||
-rw-r--r-- | chapter06/grep.xml | 163 |
5 files changed, 1581 insertions, 1251 deletions
diff --git a/chapter06/gawk.xml b/chapter06/gawk.xml index 710ef57ef..13e5bb818 100644 --- a/chapter06/gawk.xml +++ b/chapter06/gawk.xml @@ -1,145 +1,181 @@ <?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-system-gawk" role="wrap"> -<title>Gawk-&gawk-version;</title> -<?dbhtml filename="gawk.html"?> + <?dbhtml filename="gawk.html"?> + + <title>Gawk-&gawk-version;</title> + + <indexterm zone="ch-system-gawk"> + <primary sortas="a-Gawk">Gawk</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-gawk"><primary sortas="a-Gawk">Gawk</primary></indexterm> + <para>The Gawk package contains programs for manipulating text files.</para> -<sect2 role="package"><title/> -<para>The Gawk package contains programs for manipulating text files.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.2 SBU</seg><seg>16.4 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.2 SBU</seg> + <seg>16.4 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, -Diffutils, GCC, Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Gawk</title> + <seglistitem> + <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, + Grep, Make, and Sed</seg> + </seglistitem> + </segmentedlist> -<para>Under some circumstances, Gawk-&gawk-version; attempts to free a chunk -of memory that was not allocated. This bug is fixed by the following patch:</para> + </sect2> + + <sect2 role="installation"> + <title>Installation of Gawk</title> + + <para>Under some circumstances, Gawk-&gawk-version; attempts to free a + chunk of memory that was not allocated. This bug is fixed by the following + patch:</para> <screen><userinput>patch -Np1 -i ../&gawk-segfault-patch;</userinput></screen> -<para>Prepare Gawk for compilation:</para> + <para>Prepare Gawk for compilation:</para> <screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib</userinput></screen> -<para>Due to a bug in the <command>configure</command> script, Gawk fails -to detect certain aspects of locale support in Glibc. This -bug leads to, e.g., Gettext testsuite failures. Work around this issue -by appending the missing macro definitions to <filename>config.h</filename>:</para> + <para>Due to a bug in the <command>configure</command> script, Gawk fails + to detect certain aspects of locale support in Glibc. This bug leads to, + e.g., Gettext testsuite failures. Work around this issue by appending the + missing macro definitions to <filename>config.h</filename>:</para> <screen><userinput>cat >>config.h <<"EOF" <literal>#define HAVE_LANGINFO_CODESET 1 #define HAVE_LC_MESSAGES 1</literal> EOF</userinput></screen> -<para>Compile the package:</para> + <para>Compile the package:</para> <screen><userinput>make</userinput></screen> -<para>To test the results, issue: -<userinput>make check</userinput>.</para> + <para>To test the results, issue: + <userinput>make check</userinput>.</para> -<para>Install the package:</para> + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -</sect2> - - -<sect2 id="contents-gawk" role="content"><title>Contents of Gawk</title> - -<segmentedlist> -<segtitle>Installed programs</segtitle> -<seglistitem><seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk, -pgawk, pgawk-&gawk-version;, and pwcat</seg></seglistitem> -</segmentedlist> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<varlistentry id="awk"> -<term><command>awk</command></term> -<listitem> -<para>A link to <command>gawk</command></para> -<indexterm zone="ch-system-gawk awk"><primary sortas="b-awk">awk</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="gawk"> -<term><command>gawk</command></term> -<listitem> -<para>A program for manipulating text files; it is the GNU -implementation of <command>awk</command></para> -<indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="gawk-version"> -<term><command>gawk-&gawk-version;</command></term> -<listitem> -<para>A hard link to <command>gawk</command></para> -<indexterm zone="ch-system-gawk gawk-version"><primary sortas="b-gawk-&gawk-version;">gawk-&gawk-version;</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="grcat"> -<term><command>grcat</command></term> -<listitem> -<para>Dumps the group database <filename>/etc/group</filename></para> -<indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="igawk"> -<term><command>igawk</command></term> -<listitem> -<para>Gives <command>gawk</command> the ability to include files</para> -<indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pgawk"> -<term><command>pgawk</command></term> -<listitem> -<para>The profiling version of <command>gawk</command></para> -<indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pgawk-version"> -<term><command>pgawk-&gawk-version;</command></term> -<listitem> -<para>Hard link to <command>pgawk</command></para> -<indexterm zone="ch-system-gawk pgawk-version"><primary sortas="b-pgawk-&gawk-version;">pgawk-&gawk-version;</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pwcat"> -<term><command>pwcat</command></term> -<listitem> -<para>Dumps the password database <filename>/etc/passwd</filename></para> -<indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> - -</sect2> + </sect2> + + <sect2 id="contents-gawk" role="content"> + <title>Contents of Gawk</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + + <seglistitem> + <seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk, pgawk, + pgawk-&gawk-version;, and pwcat</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="awk"> + <term><command>awk</command></term> + <listitem> + <para>A link to <command>gawk</command></para> + <indexterm zone="ch-system-gawk awk"> + <primary sortas="b-awk">awk</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gawk"> + <term><command>gawk</command></term> + <listitem> + <para>A program for manipulating text files; it is the GNU + implementation of <command>awk</command></para> + <indexterm zone="ch-system-gawk gawk"> + <primary sortas="b-gawk">gawk</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gawk-version"> + <term><command>gawk-&gawk-version;</command></term> + <listitem> + <para>A hard link to <command>gawk</command></para> + <indexterm zone="ch-system-gawk gawk-version"> + <primary sortas="b-gawk-&gawk-version;">gawk-&gawk-version;</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="grcat"> + <term><command>grcat</command></term> + <listitem> + <para>Dumps the group database <filename>/etc/group</filename></para> + <indexterm zone="ch-system-gawk grcat"> + <primary sortas="b-grcat">grcat</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="igawk"> + <term><command>igawk</command></term> + <listitem> + <para>Gives <command>gawk</command> the ability to include files</para> + <indexterm zone="ch-system-gawk igawk"> + <primary sortas="b-igawk">igawk</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pgawk"> + <term><command>pgawk</command></term> + <listitem> + <para>The profiling version of <command>gawk</command></para> + <indexterm zone="ch-system-gawk pgawk"> + <primary sortas="b-pgawk">pgawk</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pgawk-version"> + <term><command>pgawk-&gawk-version;</command></term> + <listitem> + <para>Hard link to <command>pgawk</command></para> + <indexterm zone="ch-system-gawk pgawk-version"> + <primary sortas="b-pgawk-&gawk-version;">pgawk-&gawk-version;</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pwcat"> + <term><command>pwcat</command></term> + <listitem> + <para>Dumps the password database <filename>/etc/passwd</filename></para> + <indexterm zone="ch-system-gawk pwcat"> + <primary sortas="b-pwcat">pwcat</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml index b67e4ede7..1611b2c59 100644 --- a/chapter06/gcc.xml +++ b/chapter06/gcc.xml @@ -1,217 +1,261 @@ <?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-system-gcc" role="wrap"> -<title>GCC-&gcc-version;</title> -<?dbhtml filename="gcc.html"?> + <?dbhtml filename="gcc.html"?> + + <title>GCC-&gcc-version;</title> + + <indexterm zone="ch-system-gcc"> + <primary sortas="a-GCC">GCC</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-gcc"><primary sortas="a-GCC">GCC</primary></indexterm> + <para>The GCC package contains the GNU compiler collection, which includes + the C and C++ compilers.</para> -<sect2 role="package"><title/> -<para>The GCC package contains the GNU compiler collection, which includes -the C and C++ compilers.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>11.7 SBU</seg><seg>451 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>11.7 SBU</seg> + <seg>451 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, Findutils, -Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, and Texinfo</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of GCC</title> + <seglistitem> + <seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, + Glibc, Grep, Make, Perl, Sed, and Texinfo</seg> + </seglistitem> + </segmentedlist> -<para>Apply a <command>sed</command> substitution that will suppress the -installation of <filename class="libraryfile">libiberty.a</filename>. The -version of <filename class="libraryfile">libiberty.a</filename> provided by -Binutils will be used instead:</para> + </sect2> + + <sect2 role="installation"> + <title>Installation of GCC</title> + + <para>Apply a <command>sed</command> substitution that will suppress the + installation of <filename class="libraryfile">libiberty.a</filename>. The + version of <filename class="libraryfile">libiberty.a</filename> provided by + Binutils will be used instead:</para> <screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen> -<para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/> -built GCC with the <option>-fomit-frame-pointer</option> compiler flag. -Non-bootstrap builds omit this flag by default, so apply the following -<command>sed</command> to use it in order to ensure consistent compiler builds. -</para> + <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/> + built GCC with the <option>-fomit-frame-pointer</option> compiler flag. + Non-bootstrap builds omit this flag by default, so apply the following + <command>sed</command> to use it in order to ensure consistent compiler + builds.</para> <screen><userinput>sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in</userinput></screen> -<para>The <command>fixincludes</command> script is known to occasionally -erroneously attempt to "fix" the system headers installed so far. As -the headers installed by GCC-&gcc-version; and Glibc-&glibc-version; are known -to not require fixing, issue the following command to prevent the -<command>fixincludes</command> script from running:</para> + <para>The <command>fixincludes</command> script is known to occasionally + erroneously attempt to "fix" the system headers installed so far. As + the headers installed by GCC-&gcc-version; and Glibc-&glibc-version; are known + to not require fixing, issue the following command to prevent the + <command>fixincludes</command> script from running:</para> <screen><userinput>sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in</userinput></screen> -<para>GCC provides a <command>gccbug</command> script which detects at -compile time whether mktemp is present, and hardcodes the result in a test. -This will cause the script to fall back to using less random names for -temporary files. We will be installing mktemp later, so the following sed -will simulate its presence.</para> + <para>GCC provides a <command>gccbug</command> script which detects at + compile time whether mktemp is present, and hardcodes the result in a test. + This will cause the script to fall back to using less random names for + temporary files. We will be installing mktemp later, so the following sed + will simulate its presence.</para> <screen>sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.in</screen> -<para>The GCC documentation recommends building GCC outside of the source -directory in a dedicated build directory:</para> + <para>The GCC documentation recommends building GCC outside of the source + directory in a dedicated build directory:</para> <screen><userinput>mkdir -v ../gcc-build cd ../gcc-build</userinput></screen> -<para>Prepare GCC for compilation:</para> + <para>Prepare GCC for compilation:</para> <screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr \ --libexecdir=/usr/lib --enable-shared \ --enable-threads=posix --enable-__cxa_atexit \ --enable-clocale=gnu --enable-languages=c,c++</userinput></screen> -<para>Compile the package:</para> + <para>Compile the package:</para> <screen><userinput>make</userinput></screen> -<important><para>In this section, the test suite for GCC is considered -critical. Do not skip it under any circumstance.</para></important> + <important> + <para>In this section, the test suite for GCC is considered + critical. Do not skip it under any circumstance.</para> + </important> -<para>Test the results, but do not stop at errors:</para> + <para>Test the results, but do not stop at errors:</para> <screen><userinput>make -k check</userinput></screen> -<para>Some of the errors are known issues and were noted in the -previous chapter. The test suite notes from <xref -linkend="ch-tools-gcc-pass2" role=","/> are still relevant here. Be sure to -refer back to them as necessary.</para> + <para>Some of the errors are known issues and were noted in the + previous chapter. The test suite notes from <xref + linkend="ch-tools-gcc-pass2" role=","/> are still relevant here. Be sure to + refer back to them as necessary.</para> -<para>Install the package:</para> + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -<para>Some packages expect the C preprocessor to be installed in the -<filename class="directory">/lib</filename> directory. -To support those packages, create this symlink:</para> + <para>Some packages expect the C preprocessor to be installed in the + <filename class="directory">/lib</filename> directory. + To support those packages, create this symlink:</para> <screen><userinput>ln -sv ../usr/bin/cpp /lib</userinput></screen> -<para>Many packages use the name <command>cc</command> to call the C -compiler. To satisfy those packages, create a symlink:</para> + <para>Many packages use the name <command>cc</command> to call the C + compiler. To satisfy those packages, create a symlink:</para> <screen><userinput>ln -sv gcc /usr/bin/cc</userinput></screen> -<note><para>At this point, it is strongly recommended to repeat the -sanity check performed earlier in this chapter. Refer back to <xref -linkend="ch-system-readjusting" role=","/> and repeat the check. If the results -are in error, then the most likely reason is that the GCC Specs patch -from <xref linkend="chapter-temporary-tools"/> was erroneously applied -here.</para></note> - -</sect2> - - -<sect2 id="contents-gcc" role="content"><title>Contents of GCC</title> - -<segmentedlist> -<segtitle>Installed programs</segtitle> -<segtitle>Installed libraries</segtitle> -<seglistitem><seg>c++, cc (link to gcc), cpp, g++, gcc, gccbug, and -gcov</seg> -<seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so], and libsupc++.a</seg></seglistitem> -</segmentedlist> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<varlistentry id="cc"> -<term><command>cc</command></term> -<listitem> -<para>The C compiler</para> -<indexterm zone="ch-system-gcc cc"><primary sortas="b-cc">cc</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="cpp"> -<term><command>cpp</command></term> -<listitem> -<para>The C preprocessor; it is used by the compiler to expand the -#include, #define, and similar statements in the source files</para> -<indexterm zone="ch-system-gcc cpp"><primary sortas="b-cpp">cpp</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="c"> -<term><command>c++</command></term> -<listitem> -<para>The C++ compiler</para> -<indexterm zone="ch-system-gcc c"><primary sortas="b-c++">c++</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="g"> -<term><command>g++</command></term> -<listitem> -<para>The C++ compiler</para> -<indexterm zone="ch-system-gcc g"><primary sortas="b-g++">g++</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="gcc"> -<term><command>gcc</command></term> -<listitem> -<para>The C compiler</para> -<indexterm zone="ch-system-gcc gcc"><primary sortas="b-gcc">gcc</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="gccbug"> -<term><command>gccbug</command></term> -<listitem> -<para>A shell script used to help create useful bug reports</para> -<indexterm zone="ch-system-gcc gccbug"><primary sortas="b-gccbug">gccbug</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="gcov"> -<term><command>gcov</command></term> -<listitem> -<para>A coverage testing tool; it is used to analyze programs to -determine where optimizations will have the most effect</para> -<indexterm zone="ch-system-gcc gcov"><primary sortas="b-gcov">gcov</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libgcc"> -<term><filename class="libraryfile">libgcc</filename></term> -<listitem> -<para>Contains run-time support for <command>gcc</command></para> -<indexterm zone="ch-system-gcc libgcc"><primary sortas="c-libgcc*">libgcc*</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libstdc"> -<term><filename class="libraryfile">libstdc++</filename></term> -<listitem> -<para>The standard C++ library</para> -<indexterm zone="ch-system-gcc libstdc"><primary sortas="c-libstdc++">libstdc++</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libsupc"> -<term><filename class="libraryfile">libsupc++</filename></term> -<listitem> -<para>Provides supporting routines for the C++ programming language</para> -<indexterm zone="ch-system-gcc libsupc"><primary sortas="c-libsupc++">libsupc++</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> - -</sect2> + <note> + <para>At this point, it is strongly recommended to repeat the sanity + check performed earlier in this chapter. Refer back to <xref + linkend="ch-system-readjusting" role=","/> and repeat the check. If + the results are in error, then the most likely reason is that the GCC + Specs patch from <xref linkend="chapter-temporary-tools"/> was + erroneously applied here.</para> + </note> + + </sect2> + + <sect2 id="contents-gcc" role="content"> + <title>Contents of GCC</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + <segtitle>Installed libraries</segtitle> + + <seglistitem> + <seg>c++, cc (link to gcc), cpp, g++, gcc, gccbug, and gcov</seg> + <seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so], and + libsupc++.a</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="cc"> + <term><command>cc</command></term> + <listitem> + <para>The C compiler</para> + <indexterm zone="ch-system-gcc cc"> + <primary sortas="b-cc">cc</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="cpp"> + <term><command>cpp</command></term> + <listitem> + <para>The C preprocessor; it is used by the compiler to expand the + #include, #define, and similar statements in the source files</para> + <indexterm zone="ch-system-gcc cpp"> + <primary sortas="b-cpp">cpp</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="c"> + <term><command>c++</command></term> + <listitem> + <para>The C++ compiler</para> + <indexterm zone="ch-system-gcc c"> + <primary sortas="b-c++">c++</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="g"> + <term><command>g++</command></term> + <listitem> + <para>The C++ compiler</para> + <indexterm zone="ch-system-gcc g"> + <primary sortas="b-g++">g++</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gcc"> + <term><command>gcc</command></term> + <listitem> + <para>The C compiler</para> + <indexterm zone="ch-system-gcc gcc"> + <primary sortas="b-gcc">gcc</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gccbug"> + <term><command>gccbug</command></term> + <listitem> + <para>A shell script used to help create useful bug reports</para> + <indexterm zone="ch-system-gcc gccbug"> + <primary sortas="b-gccbug">gccbug</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gcov"> + <term><command>gcov</command></term> + <listitem> + <para>A coverage testing tool; it is used to analyze programs to + determine where optimizations will have the most effect</para> + <indexterm zone="ch-system-gcc gcov"> + <primary sortas="b-gcov">gcov</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libgcc"> + <term><filename class="libraryfile">libgcc</filename></term> + <listitem> + <para>Contains run-time support for <command>gcc</command></para> + <indexterm zone="ch-system-gcc libgcc"> + <primary sortas="c-libgcc*">libgcc*</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libstdc"> + <term><filename class="libraryfile">libstdc++</filename></term> + <listitem> + <para>The standard C++ library</para> + <indexterm zone="ch-system-gcc libstdc"> + <primary sortas="c-libstdc++">libstdc++</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libsupc"> + <term><filename class="libraryfile">libsupc++</filename></term> + <listitem> + <para>Provides supporting routines for the C++ programming + language</para> + <indexterm zone="ch-system-gcc libsupc"> + <primary sortas="c-libsupc++">libsupc++</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - diff --git a/chapter06/gettext.xml b/chapter06/gettext.xml index 42e8fd2ba..0c88354c4 100644 --- a/chapter06/gettext.xml +++ b/chapter06/gettext.xml @@ -1,308 +1,393 @@ <?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-system-gettext" role="wrap"> -<title>Gettext-&gettext-version;</title> -<?dbhtml filename="gettext.html"?> + <?dbhtml filename="gettext.html"?> + + <title>Gettext-&gettext-version;</title> + + <indexterm zone="ch-system-gettext"> + <primary sortas="a-Gettext">Gettext</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-gettext"><primary sortas="a-Gettext">Gettext</primary></indexterm> + <para>The Gettext package contains utilities for internationalization and + localization. These allow programs to be compiled with NLS (Native Language + Support), enabling them to output messages in the user's native + language.</para> -<sect2 role="package"><title/> -<para>The Gettext package contains utilities for internationalization and -localization. These allow programs to be compiled with NLS (Native Language -Support), enabling them to output messages in the user's native language.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>1.2 SBU</seg><seg>65.1 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>1.2 SBU</seg> + <seg>65.1 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Bison, Coreutils, -Diffutils, Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Gettext</title> + <seglistitem> + <seg>Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, + Grep, Make, and Sed</seg> + </seglistitem> + </segmentedlist> -<para>Prepare Gettext for compilation:</para> + </sect2> + + <sect2 role="installation"> + <title>Installation of Gettext</title> + + <para>Prepare Gettext for compilation:</para> <screen><userinput>./configure --prefix=/usr</userinput></screen> -<para>Compile the package:</para> + <para>Compile the package:</para> <screen><userinput>make</userinput></screen> -<para>To test the results, issue: -<userinput>make check</userinput>. This takes a very long time, around -7 SBUs.</para> + <para>To test the results, issue: + <userinput>make check</userinput>. + This takes a very long time, around 7 SBUs.</para> -<para>Install the package:</para> + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -</sect2> - - -<sect2 id="contents-gettext" role="content"><title>Contents of Gettext</title> - -<segmentedlist> -<segtitle>Installed programs</segtitle> -<segtitle>Installed libraries</segtitle> -<seglistitem><seg>autopoint, config.charset, config.rpath, envsubst, gettext, -gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, -msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, -ngettext, and xgettext</seg> -<seg>libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so], and libgettextsrc.so</seg></seglistitem> -</segmentedlist> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<varlistentry id="autopoint"> -<term><command>autopoint</command></term> -<listitem> -<para>Copies standard Gettext infrastructure files into a source package</para> -<indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="config.charset"> -<term><command>config.charset</command></term> -<listitem> -<para>Outputs a system-dependent table of character encoding aliases</para> -<indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="config.rpath"> -<term><command>config.rpath</command></term> -<listitem> -<para>Outputs a system-dependent set of variables, describing how to set the -runtime search path of shared libraries in an executable</para> -<indexterm zone="ch-system-gettext config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="envsubst"> -<term><command>envsubst</command></term> -<listitem> -<para>Substitutes environment variables in shell format strings</para> -<indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="gettext"> -<term><command>gettext</command></term> -<listitem> -<para>Translates a natural language message into the user's language -by looking up the translation in a message catalog</para> -<indexterm zone="ch-system-gettext gettext"><primary sortas="b-gettext">gettext</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="gettextize"> -<term><command>gettextize</command></term> -<listitem> -<para>Copies all standard Gettext files into the given top-level -directory of a package to begin internationalizing it</para> -<indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="hostname-gettext"> -<term><command>hostname</command></term> -<listitem> -<para>Displays a network hostname in various forms</para> -<indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgattrib"> -<term><command>msgattrib</command></term> -<listitem> -<para>Filters the messages of a translation catalog according to their -attributes and manipulates the attributes</para> -<indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgcat"> -<term><command>msgcat</command></term> -<listitem> -<para>Concatenates and merges the given <filename class="extension">.po</filename> files</para> -<indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgcmp"> -<term><command>msgcmp</command></term> -<listitem> -<para>Compares two <filename class="extension">.po</filename> -files to check that both contain the same set of msgid strings</para> -<indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgcomm"> -<term><command>msgcomm</command></term> -<listitem> -<para>Finds the messages that are common to -to the given <filename class="extension">.po</filename> files</para> -<indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgconv"> -<term><command>msgconv</command></term> -<listitem> -<para>Converts a translation catalog to a different character encoding</para> -<indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgen"> -<term><command>msgen</command></term> -<listitem> -<para>Creates an English translation catalog</para> -<indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgexec"> -<term><command>msgexec</command></term> -<listitem> -<para>Applies a command to all translations of a translation catalog</para> -<indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgfilter"> -<term><command>msgfilter</command></term> -<listitem> -<para>Applies a filter to all translations of a translation catalog</para> -<indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgfmt"> -<term><command>msgfmt</command></term> -<listitem> -<para>Generates a binary message catalog from a translation catalog</para> -<indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msggrep"> -<term><command>msggrep</command></term> -<listitem> -<para>Extracts all messages of a translation catalog that match a -given pattern or belong to some given source files</para> -<indexterm zone="ch-system-gettext msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msginit"> -<term><command>msginit</command></term> -<listitem> -<para>Creates a new <filename class="extension">.po</filename> file, initializing the meta -information with values from the user's environment</para> -<indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgmerge"> -<term><command>msgmerge</command></term> -<listitem> -<para>Combines two raw translations into a single file</para> -<indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msgunfmt"> -<term><command>msgunfmt</command></term> -<listitem> -<para>Decompiles a binary message catalog into raw translation text</para> -<indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="msguniq"> -<term><command>msguniq</command></term> -<listitem> -<para>Unifies duplicate translations in a translation catalog</para> -<indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="ngettext"> -<term><command>ngettext</command></term> -<listitem> -<para>Displays native language translations of a textual message whose -grammatical form depends on a number</para> -<indexterm zone="ch-system-gettext ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="xgettext"> -<term><command>xgettext</command></term> -<listitem> -<para>Extracts the translatable message lines from the given source -files to make the first translation template</para> -<indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libasprintf"> -<term><filename class="libraryfile">libasprintf</filename></term> -<listitem> -<para>defines the <emphasis>autosprintf</emphasis> class, which makes -C formatted output routines usable in C++ programs, for use with the -<emphasis><string></emphasis> strings and the -<emphasis><iostream></emphasis> streams</para> -<indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libgettextlib"> -<term><filename class="libraryfile">libgettextlib</filename></term> -<listitem> -<para>a private library containing common routines used by the various Gettext -programs; these are not intended for general use</para> -<indexterm zone="ch-system-gettext libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libgettextpo"> -<term><filename class="libraryfile">libgettextpo</filename></term> -<listitem> -<para>Used to write specialized programs that process <filename -class="extension">.po</filename> files; this library is used when the -standard applications shipped with Gettext (such as -<command>msgcomm</command>, <command>msgcmp</command>, -<command>msgattrib</command>, and <command>msgen</command>) will not -suffice</para> -<indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libgettextsrc"> -<term><filename class="libraryfile">libgettextsrc</filename></term> -<listitem> -<para>A private library containing common routines used by the various Gettext -programs; these are not intended for general use</para> -<indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> - -</sect2> + </sect2> + + <sect2 id="contents-gettext" role="content"> + <title>Contents of Gettext</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + <segtitle>Installed libraries</segtitle> + + <seglistitem> + <seg>autopoint, config.charset, config.rpath, envsubst, gettext, + gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, + msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, + ngettext, and xgettext</seg> + <seg>libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so], and + libgettextsrc.so</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="autopoint"> + <term><command>autopoint</command></term> + <listitem> + <para>Copies standard Gettext infrastructure files into a source + package</para> + <indexterm zone="ch-system-gettext autopoint"> + <primary sortas="b-autopoint">autopoint</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="config.charset"> + <term><command>config.charset</command></term> + <listitem> + <para>Outputs a system-dependent table of character encoding + aliases</para> + <indexterm zone="ch-system-gettext config.charset"> + <primary sortas="b-config.charset">config.charset</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="config.rpath"> + <term><command>config.rpath</command></term> + <listitem> + <para>Outputs a system-dependent set of variables, describing how + to set the runtime search path of shared libraries in an + executable</para> + <indexterm zone="ch-system-gettext config.rpath"> + <primary sortas="b-config.rpath">config.rpath</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="envsubst"> + <term><command>envsubst</command></term> + <listitem> + <para>Substitutes environment variables in shell format strings</para> + <indexterm zone="ch-system-gettext envsubst"> + <primary sortas="b-envsubst">envsubst</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gettext"> + <term><command>gettext</command></term> + <listitem> + <para>Translates a natural language message into the user's language + by looking up the translation in a message catalog</para> + <indexterm zone="ch-system-gettext gettext"> + <primary sortas="b-gettext">gettext</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gettextize"> + <term><command>gettextize</command></term> + <listitem> + <para>Copies all standard Gettext files into the given top-level + directory of a package to begin internationalizing it</para> + <indexterm zone="ch-system-gettext gettextize"> + <primary sortas="b-gettextize">gettextize</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="hostname-gettext"> + <term><command>hostname</command></term> + <listitem> + <para>Displays a network hostname in various forms</para> + <indexterm zone="ch-system-gettext hostname-gettext"> + <primary sortas="b-hostname-gettext">hostname</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgattrib"> + <term><command>msgattrib</command></term> + <listitem> + <para>Filters the messages of a translation catalog according to their + attributes and manipulates the attributes</para> + <indexterm zone="ch-system-gettext msgattrib"> + <primary sortas="b-msgattrib">msgattrib</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgcat"> + <term><command>msgcat</command></term> + <listitem> + <para>Concatenates and merges the given + <filename class="extension">.po</filename> files</para> + <indexterm zone="ch-system-gettext msgcat"> + <primary sortas="b-msgcat">msgcat</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgcmp"> + <term><command>msgcmp</command></term> + <listitem> + <para>Compares two <filename class="extension">.po</filename> + files to check that both contain the same set of msgid strings</para> + <indexterm zone="ch-system-gettext msgcmp"> + <primary sortas="b-msgcmp">msgcmp</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgcomm"> + <term><command>msgcomm</command></term> + <listitem> + <para>Finds the messages that are common to to the given + <filename class="extension">.po</filename> files</para> + <indexterm zone="ch-system-gettext msgcomm"> + <primary sortas="b-msgcomm">msgcomm</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgconv"> + <term><command>msgconv</command></term> + <listitem> + <para>Converts a translation catalog to a different character + encoding</para> + <indexterm zone="ch-system-gettext msgconv"> + <primary sortas="b-msgconv">msgconv</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgen"> + <term><command>msgen</command></term> + <listitem> + <para>Creates an English translation catalog</para> + <indexterm zone="ch-system-gettext msgen"> + <primary sortas="b-msgen">msgen</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgexec"> + <term><command>msgexec</command></term> + <listitem> + <para>Applies a command to all translations of a translation + catalog</para> + <indexterm zone="ch-system-gettext msgexec"> + <primary sortas="b-msgexec">msgexec</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgfilter"> + <term><command>msgfilter</command></term> + <listitem> + <para>Applies a filter to all translations of a translation + catalog</para> + <indexterm zone="ch-system-gettext msgfilter"> + <primary sortas="b-msgfilter">msgfilter</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgfmt"> + <term><command>msgfmt</command></term> + <listitem> + <para>Generates a binary message catalog from a translation + catalog</para> + <indexterm zone="ch-system-gettext msgfmt"> + <primary sortas="b-msgfmt">msgfmt</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msggrep"> + <term><command>msggrep</command></term> + <listitem> + <para>Extracts all messages of a translation catalog that match a + given pattern or belong to some given source files</para> + <indexterm zone="ch-system-gettext msggrep"> + <primary sortas="b-msggrep">msggrep</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msginit"> + <term><command>msginit</command></term> + <listitem> + <para>Creates a new <filename class="extension">.po</filename> file, + initializing the meta information with values from the user's + environment</para> + <indexterm zone="ch-system-gettext msginit"> + <primary sortas="b-msginit">msginit</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgmerge"> + <term><command>msgmerge</command></term> + <listitem> + <para>Combines two raw translations into a single file</para> + <indexterm zone="ch-system-gettext msgmerge"> + <primary sortas="b-msgmerge">msgmerge</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msgunfmt"> + <term><command>msgunfmt</command></term> + <listitem> + <para>Decompiles a binary message catalog into raw translation + text</para> + <indexterm zone="ch-system-gettext msgunfmt"> + <primary sortas="b-msgunfmt">msgunfmt</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="msguniq"> + <term><command>msguniq</command></term> + <listitem> + <para>Unifies duplicate translations in a translation catalog</para> + <indexterm zone="ch-system-gettext msguniq"> + <primary sortas="b-msguniq">msguniq</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="ngettext"> + <term><command>ngettext</command></term> + <listitem> + <para>Displays native language translations of a textual message whose + grammatical form depends on a number</para> + <indexterm zone="ch-system-gettext ngettext"> + <primary sortas="b-ngettext">ngettext</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="xgettext"> + <term><command>xgettext</command></term> + <listitem> + <para>Extracts the translatable message lines from the given source + files to make the first translation template</para> + <indexterm zone="ch-system-gettext xgettext"> + <primary sortas="b-xgettext">xgettext</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libasprintf"> + <term><filename class="libraryfile">libasprintf</filename></term> + <listitem> + <para>defines the <emphasis>autosprintf</emphasis> class, which makes + C formatted output routines usable in C++ programs, for use with the + <emphasis><string></emphasis> strings and the + <emphasis><iostream></emphasis> streams</para> + <indexterm zone="ch-system-gettext libasprintf"> + <primary sortas="c-libasprintf">libasprintf</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libgettextlib"> + <term><filename class="libraryfile">libgettextlib</filename></term> + <listitem> + <para>a private library containing common routines used by the + various Gettext programs; these are not intended for general use</para> + <indexterm zone="ch-system-gettext libgettextlib"> + <primary sortas="c-libgettextlib">libgettextlib</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libgettextpo"> + <term><filename class="libraryfile">libgettextpo</filename></term> + <listitem> + <para>Used to write specialized programs that process + <filename class="extension">.po</filename> files; this library is + used when the standard applications shipped with Gettext (such as + <command>msgcomm</command>, <command>msgcmp</command>, + <command>msgattrib</command>, and <command>msgen</command>) will + not suffice</para> + <indexterm zone="ch-system-gettext libgettextpo"> + <primary sortas="c-libgettextpo">libgettextpo</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libgettextsrc"> + <term><filename class="libraryfile">libgettextsrc</filename></term> + <listitem> + <para>A private library containing common routines used by the + various Gettext programs; these are not intended for general use</para> + <indexterm zone="ch-system-gettext libgettextsrc"> + <primary sortas="c-libgettextsrc">libgettextsrc</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml index de0d272e5..dfab1c2a5 100644 --- a/chapter06/glibc.xml +++ b/chapter06/glibc.xml @@ -1,170 +1,195 @@ <?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-system-glibc" role="wrap"> -<title>Glibc-&glibc-version;</title> -<?dbhtml filename="glibc.html"?> - -<indexterm zone="ch-system-glibc"><primary sortas="a-Glibc">Glibc</primary></indexterm> - -<sect2 role="package"><title/> -<para>The Glibc package contains the main C library. This library provides -the basic routines for allocating memory, searching directories, opening and -closing files, reading and writing files, string handling, pattern matching, -arithmetic, and so on.</para> - -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>16.7 SBU</seg><seg>500 MB</seg></seglistitem> -</segmentedlist> - -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, -Gawk, GCC, Gettext, Grep, Make, Perl, Sed, and Texinfo</seg></seglistitem> -</segmentedlist> -</sect2> - -<sect2 role="installation"> -<title>Installation of Glibc</title> - -<note><para>Some packages outside of LFS suggest installing GNU libiconv in -order to translate data from one encoding to another. The project's home page -(<ulink url="http://www.gnu.org/software/libiconv/"/>) says <quote>This library -provides an <function>iconv()</function> implementation, for use on systems -which don't have one, or whose implementation cannot convert from/to Unicode. -</quote> Glibc provides an <function>iconv()</function> implementation and can -convert from/to Unicode, therefore libiconv is not required on an LFS -system.</para></note> - -<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> - -<para>The glibc-libidn tarball adds support for internationalized -domain names (IDN) to Glibc. Many programs that -support IDN require the full libidn library (see -<ulink url="&blfs-root;view/svn/general/libidn.html"/>), -not this add-on. -Unpack the tarball from within the Glibc source -directory:</para> + <?dbhtml filename="glibc.html"?> + + <title>Glibc-&glibc-version;</title> + + <indexterm zone="ch-system-glibc"> + <primary sortas="a-Glibc">Glibc</primary> + </indexterm> + + <sect2 role="package"> + <title/> + + <para>The Glibc package contains the main C library. This library provides + the basic routines for allocating memory, searching directories, opening and + closing files, reading and writing files, string handling, pattern matching, + arithmetic, and so on.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>16.7 SBU</seg> + <seg>500 MB</seg> + </seglistitem> + </segmentedlist> + + <segmentedlist> + <segtitle>&dependencies;</segtitle> + + <seglistitem> + <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep, + Make, Perl, Sed, and Texinfo</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Glibc</title> + + <note> + <para>Some packages outside of LFS suggest installing GNU libiconv in + order to translate data from one encoding to another. The project's + home page (<ulink url="http://www.gnu.org/software/libiconv/"/>) says + <quote>This library provides an <function>iconv()</function> + implementation, for use on systems which don't have one, or whose + implementation cannot convert from/to Unicode.</quote> Glibc provides + an <function>iconv()</function> implementation and can convert from/to + Unicode, therefore libiconv is not required on an LFS system.</para> + </note> + + <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> + + <para>The glibc-libidn tarball adds support for internationalized domain + names (IDN) to Glibc. Many programs that support IDN require the full + <filename class="libraryfile">libidn</filename> library (see + <ulink url="&blfs-root;view/svn/general/libidn.html"/>), not this add-on. + Unpack the tarball from within the Glibc source directory:</para> <screen><userinput>tar -xf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen> -<para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop -at startup. It is unknown whether this is a <command>bash</command> bug or a -Glibc problem. Disable installation of this locale in order to avoid the -problem:</para> + <para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop + at startup. It is unknown whether this is a <command>bash</command> bug or a + Glibc problem. Disable installation of this locale in order to avoid the + problem:</para> <screen><userinput>sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen> -<para>When running <command>make install</command>, a script called -<filename>test-installation.pl</filename> performs a small sanity test -on our newly installed Glibc. However, because our toolchain still points to the -<filename class="directory">/tools</filename> directory, the sanity test would -be carried out against the wrong Glibc. We can force the script to check the -Glibc we have just installed with the following:</para> + <para>When running <command>make install</command>, a script called + <filename>test-installation.pl</filename> performs a small sanity test on + our newly installed Glibc. However, because our toolchain still points to + the <filename class="directory">/tools</filename> directory, the sanity + test would be carried out against the wrong Glibc. We can force the script + to check the Glibc we have just installed with the following:</para> <screen><userinput>sed -i \ 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \ scripts/test-installation.pl</userinput></screen> -<para>The Glibc documentation recommends building Glibc outside of the source -directory in a dedicated build directory:</para> + <para>The Glibc documentation recommends building Glibc outside of the source + directory in a dedicated build directory:</para> <screen><userinput>mkdir -v ../glibc-build cd ../glibc-build</userinput></screen> -<para>Prepare Glibc for compilation:</para> + <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 options:</para> + <variablelist> + <title>The meaning of the new configure options:</title> + + <varlistentry> + <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term> + <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 + class="directory">/usr/lib/glibc</filename>.</para> + </listitem> + </varlistentry> -<variablelist> -<varlistentry> -<term><parameter>--libexecdir=/usr/lib/glibc</parameter></term> -<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 -class="directory">/usr/lib/glibc</filename>.</para></listitem> -</varlistentry> -</variablelist> + </variablelist> -<para>Compile the package:</para> + <para>Compile the package:</para> <screen><userinput>make</userinput></screen> -<important><para>In this section, the test suite for Glibc is -considered critical. Do not skip it under any -circumstance.</para></important> + <important> + <para>In this section, the test suite for Glibc is considered critical. + Do not skip it under any circumstance.</para> + </important> -<para>Test the results:</para> + <para>Test the results:</para> <screen><userinput>make -k check >glibc-check-log 2>&1 grep Error glibc-check-log</userinput></screen> -<para>On at least i686 you can expect to see failures in the <emphasis>test-double -</emphasis> and <emphasis>test-idouble</emphasis> math tests with -gcc-&gcc-version;, as well as an expected (ignored) failure in <emphasis> -posix/annexc</emphasis>. These two failures in the math tests appear to be -harmless.</para> - -<para>The Glibc test suite is highly dependent on certain functions of -the host system, in particular the kernel. In certain circumstances, -some failures are unavoidable. This is a list of the most common -issues:</para> - -<itemizedlist> -<listitem><para>The <emphasis>math</emphasis> tests sometimes fail in other tests -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>If you have mounted the LFS partition with the -<parameter>noatime</parameter> option, the <emphasis>atime</emphasis> test will -fail. As mentioned in <xref linkend="space-mounting"/>, do not use the -<parameter>noatime</parameter> option while building LFS.</para></listitem> - -<listitem><para>When running on older and slower hardware, some tests -can fail because of test timeouts being exceeded.</para></listitem> -</itemizedlist> - -<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> + <para>On at least i686 you can expect to see failures in the + <emphasis>test-double </emphasis> and <emphasis>test-idouble</emphasis> + math tests with gcc-&gcc-version;, as well as an expected (ignored) + failure in <emphasis> posix/annexc</emphasis>. These two failures in + the math tests appear to be harmless.</para> + + <para>The Glibc test suite is highly dependent on certain functions of + the host system, in particular the kernel. In certain circumstances, + some failures are unavoidable. This is a list of the most common + issues:</para> + + <itemizedlist> + <listitem> + <para>The <emphasis>math</emphasis> tests sometimes fail in other + tests 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>If you have mounted the LFS partition with the + <parameter>noatime</parameter> option, the <emphasis>atime</emphasis> + test will fail. As mentioned in <xref linkend="space-mounting"/>, do not + use the <parameter>noatime</parameter> option while building LFS.</para> + </listitem> + <listitem> + <para>When running on older and slower hardware, some tests + can fail because of test timeouts being exceeded.</para> + </listitem> + </itemizedlist> + + <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> + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -<para>The locales that can make the system respond in a different -language were not installed by the above command. None of the -locales are required, but, if some of them are misssing, testuites of the -future packages would skip important testcases.</para> - -<para>Individual locales can be installed using the <command>localedef</command> -program. E.g., the first <command>localedef</command> command below combines -the <filename>/usr/share/i18n/locales/de_DE</filename> charset-independent -locale definition with the -<filename>/usr/share/i18n/charmaps/ISO-8859-1.gz</filename> charmap definition -and appends the result to the -<filename>/usr/lib/locale/locale-archive</filename> file. The following -instructions will install the minimum set of locales necessary -for the optimal coverage of tests:</para> + <para>The locales that can make the system respond in a different language + were not installed by the above command. None of the locales are required, + but, if some of them are misssing, testuites of the future packages would + skip important testcases.</para> + + <para>Individual locales can be installed using the + <command>localedef</command> program. E.g., the first + <command>localedef</command> command below combines the + <filename>/usr/share/i18n/locales/de_DE</filename> + charset-independent locale definition with the + <filename>/usr/share/i18n/charmaps/ISO-8859-1.gz</filename> + charmap definition and appends the result to the + <filename>/usr/lib/locale/locale-archive</filename> file. + The following instructions will install the minimum set of + locales necessary for the optimal coverage of tests:</para> <screen role="nodump"><userinput>mkdir -pv /usr/lib/locale localedef -i de_DE -f ISO-8859-1 de_DE @@ -181,36 +206,43 @@ localedef -i fr_FR -f UTF-8 fr_FR.UTF-8 localedef -i it_IT -f ISO-8859-1 it_IT localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen> -<para>In addition, install the locale for your own country, language and -character set.</para> + <para>In addition, install the locale for your own country, language and + character set.</para> -<para>Alternatively, install all locales -listed in the <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> -file (it includes every locale listed above and many more) -at once with the following time-consuming command:</para> + <para>Alternatively, install all locales listed in the + <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file + (it includes every locale listed above and many more) at once with the + following time-consuming command:</para> <screen><userinput>make localedata/install-locales</userinput></screen> -<para>Then use the <command>localedef</command> command to create and -install locales not listed in the -<filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file -in the unlikely case if you need them.</para> -<!-- The Live CD patches the localedata/SUPPORTED file instead of -running localedef, the results are equivalent --> + <para>Then use the <command>localedef</command> command to create and + install locales not listed in the + <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file + in the unlikely case if you need them.</para> + <!-- The Live CD patches the localedata/SUPPORTED file instead of + running localedef, the results are equivalent --> + + </sect2> -</sect2> + <sect2 id="conf-glibc" role="configuration"> + <title>Configuring Glibc</title> -<sect2 id="conf-glibc" role="configuration"><title>Configuring Glibc</title> -<indexterm zone="conf-glibc"><primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm> -<indexterm zone="conf-glibc"><primary sortas="e-/etc/localtime">/etc/localtime</primary></indexterm> + <indexterm zone="conf-glibc"> + <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary> + </indexterm> -<para>The <filename>/etc/nsswitch.conf</filename> file needs to be created -because, although Glibc provides defaults when this file is missing or corrupt, -the Glibc defaults do not work well in a networked environment. The time zone -also needs to be configured.</para> + <indexterm zone="conf-glibc"> + <primary sortas="e-/etc/localtime">/etc/localtime</primary> + </indexterm> -<para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the -following:</para> + <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created + because, although Glibc provides defaults when this file is missing or corrupt, + the Glibc defaults do not work well in a networked environment. The time zone + also needs to be configured.</para> + + <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the + following:</para> <screen><userinput>cat > /etc/nsswitch.conf << "EOF" <literal># Begin /etc/nsswitch.conf @@ -230,59 +262,62 @@ rpc: files # End /etc/nsswitch.conf</literal> EOF</userinput></screen> -<para>To determine the local time zone, run the following script:</para> + <para>To determine the local time zone, run the following script:</para> <screen role="nodump"><userinput>tzselect</userinput></screen> -<para>After answering a few questions about the location, the script -will output the name of the time zone (e.g., -<emphasis>EST5EDT</emphasis> or <emphasis>Canada/Eastern</emphasis>). -Then create the <filename>/etc/localtime</filename> file by -running:</para> + <para>After answering a few questions about the location, the script will + output the name of the time zone (e.g., <emphasis>EST5EDT</emphasis> or + <emphasis>Canada/Eastern</emphasis>). Then create the + <filename>/etc/localtime</filename> file by running:</para> <screen><userinput>cp -v --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \ /etc/localtime</userinput></screen> -<para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone -that <command>tzselect</command> provided (e.g., Canada/Eastern).</para> - -<para>The meaning of the cp option:</para> - -<variablelist> -<varlistentry> -<term><parameter>--remove-destination</parameter></term> -<listitem><para>This is needed to force removal of the already -existing symbolic link. The reason for copying the file instead of -using a symlink is to cover the situation where <filename -class="directory">/usr</filename> is on a separate partition. This -could be important when booted into single user -mode.</para></listitem> -</varlistentry> -</variablelist> - -</sect2> - - -<sect2 id="conf-ld" role="configuration"> -<title>Configuring the Dynamic Loader</title> -<indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm> - -<para>By default, the dynamic loader (<filename -class="libraryfile">/lib/ld-linux.so.2</filename>) searches through -<filename class="directory">/lib</filename> and <filename -class="directory">/usr/lib</filename> for dynamic libraries that are -needed by programs as they are run. However, if there are libraries in -directories other than <filename class="directory">/lib</filename> and -<filename class="directory">/usr/lib</filename>, these need to be -added to the <filename>/etc/ld.so.conf</filename> file in order -for the dynamic loader to find them. Two directories that are commonly -known to contain additional libraries are <filename -class="directory">/usr/local/lib</filename> and <filename -class="directory">/opt/lib</filename>, so add those directories to the -dynamic loader's search path.</para> - -<para>Create a new file <filename>/etc/ld.so.conf</filename> by running the -following:</para> + <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone + that <command>tzselect</command> provided (e.g., Canada/Eastern).</para> + + <variablelist> + <title>The meaning of the cp option:</title> + + <varlistentry> + <term><parameter>--remove-destination</parameter></term> + <listitem> + <para>This is needed to force removal of the already existing symbolic + link. The reason for copying the file instead of using a symlink is to + cover the situation where <filename class="directory">/usr</filename> + is on a separate partition. This could be important when booted into + single user mode.</para> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> + + <sect2 id="conf-ld" role="configuration"> + <title>Configuring the Dynamic Loader</title> + + <indexterm zone="conf-ld"> + <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary> + </indexterm> + + <para>By default, the dynamic loader (<filename + class="libraryfile">/lib/ld-linux.so.2</filename>) searches through + <filename class="directory">/lib</filename> and <filename + class="directory">/usr/lib</filename> for dynamic libraries that are + needed by programs as they are run. However, if there are libraries in + directories other than <filename class="directory">/lib</filename> and + <filename class="directory">/usr/lib</filename>, these need to be added + to the <filename>/etc/ld.so.conf</filename> file in order for the + dynamic loader to find them. Two directories that are commonly known + to contain additional libraries are <filename + class="directory">/usr/local/lib</filename> and <filename + class="directory">/opt/lib</filename>, so add those directories to the + dynamic loader's search path.</para> + + <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the + following:</para> <screen><userinput>cat > /etc/ld.so.conf << "EOF" <literal># Begin /etc/ld.so.conf @@ -293,430 +328,535 @@ following:</para> # End /etc/ld.so.conf</literal> EOF</userinput></screen> -</sect2> - -<sect2 id="contents-glibc" role="content"><title>Contents of Glibc</title> - -<segmentedlist> -<segtitle>Installed programs</segtitle> -<segtitle>Installed libraries</segtitle> -<seglistitem><seg>catchsegv, gencat, getconf, -getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, -localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen, -rpcinfo, sln, sprof, tzselect, xtrace, zdump, and zic</seg> -<seg>ld.so, libBrokenLocale.[a,so], -libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libcidn.so, -libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a, -libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so, -libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so, -libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so], -libthread_db.so, and libutil.[a,so]</seg></seglistitem> -</segmentedlist> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<varlistentry id="catchsegv"> -<term><command>catchsegv</command></term> -<listitem> -<para>Can be used to create a stack trace when a program -terminates with a segmentation fault</para> -<indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="gencat"> -<term><command>gencat</command></term> -<listitem> -<para>Generates message catalogues</para> -<indexterm zone="ch-system-glibc gencat"><primary sortas="b-gencat">gencat</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="getconf"> -<term><command>getconf</command></term> -<listitem> -<para>Displays the system configuration values for file system specific variables</para> -<indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="getent"> -<term><command>getent</command></term> -<listitem> -<para>Gets entries from an administrative database</para> -<indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="iconv"> -<term><command>iconv</command></term> -<listitem> -<para>Performs character set conversion</para> -<indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="iconvconfig"> -<term><command>iconvconfig</command></term> -<listitem> -<para>Creates fastloading <command>iconv</command> module configuration files</para> -<indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="ldconfig"> -<term><command>ldconfig</command></term> -<listitem> -<para>Configures the dynamic linker runtime bindings</para> -<indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="ldd"> -<term><command>ldd</command></term> -<listitem> -<para>Reports which shared libraries are required -by each given program or shared library</para> -<indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="lddlibc4"> -<term><command>lddlibc4</command></term> -<listitem> -<para>Assists <command>ldd</command> with object files</para> -<indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="locale"> -<term><command>locale</command></term> -<listitem> -<para>Prints various information about the current locale</para> -<indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="localedef"> -<term><command>localedef</command></term> -<listitem> -<para>Compiles locale specifications</para> -<indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="mtrace"> -<term><command>mtrace</command></term> -<listitem> -<para>Reads and interprets a memory trace file and displays a summary in human-readable format</para> -<indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="nscd"> -<term><command>nscd</command></term> -<listitem> -<para>A daemon that provides a cache for the most common name -service requests</para> -<indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="nscd_nischeck"> -<term><command>nscd_nischeck</command></term> -<listitem> -<para>Checks whether or not secure mode is necessary for NIS+ lookup</para> -<indexterm zone="ch-system-glibc nscd_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pcprofiledump"> -<term><command>pcprofiledump</command></term> -<listitem> -<para>Dumps information generated by PC profiling</para> -<indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pt_chown"> -<term><command>pt_chown</command></term> -<listitem> -<para>A helper program for <command>grantpt</command> to set -the owner, group and access permissions of a slave pseudo terminal</para> -<indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="rpcgen"> -<term><command>rpcgen</command></term> -<listitem> -<para>Generates C code to implement the Remote Procecure Call (RPC) protocol</para> -<indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="rpcinfo"> -<term><command>rpcinfo</command></term> -<listitem> -<para>Makes an RPC call to an RPC server</para> -<indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="sln"> -<term><command>sln</command></term> -<listitem> -<para>A statically linked <command>ln</command> program</para> -<indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="sprof"> -<term><command>sprof</command></term> -<listitem> -<para>Reads and displays shared object profiling data</para> -<indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="tzselect"> -<term><command>tzselect</command></term> -<listitem> -<para>Asks the user about the location of the -system and reports the corresponding time zone description</para> -<indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="xtrace"> -<term><command>xtrace</command></term> -<listitem> -<para>Traces the execution of a program by -printing the currently executed function</para> -<indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="zdump"> -<term><command>zdump</command></term> -<listitem> -<para>The time zone dumper</para> -<indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="zic"> -<term><command>zic</command></term> -<listitem> -<para>The time zone compiler</para> -<indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="ld.so"> -<term><filename class="libraryfile">ld.so</filename></term> -<listitem> -<para>The helper program for shared library executables</para> -<indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libBrokenLocale"> -<term><filename class="libraryfile">libBrokenLocale</filename></term> -<listitem> -<para>Used internally by Glibc as a gross hack to get broken programs -(e.g., some Motif applications) running. See comments in -<filename>glibc-&glibc-version;/locale/broken_cur_max.c</filename> for more -information</para> -<indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libSegFault"> -<term><filename class="libraryfile">libSegFault</filename></term> -<listitem> -<para>The segmentation fault signal handler, used by -<command>catchsegv</command></para> -<indexterm zone="ch-system-glibc libSegFault"><primary sortas="c-libSegFault">libSegFault</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libanl"> -<term><filename class="libraryfile">libanl</filename></term> -<listitem> -<para>An asynchronous name lookup library</para> -<indexterm zone="ch-system-glibc libanl"><primary sortas="c-libanl">libanl</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libbsd-compat"> -<term><filename class="libraryfile">libbsd-compat</filename></term> -<listitem> -<para>Provides the portability needed -in order to run certain Berkey Software Distribution (BSD) programs under Linux</para> -<indexterm zone="ch-system-glibc libbsd-compat"><primary sortas="c-libbsd-compat">libbsd-compat</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libc"> -<term><filename class="libraryfile">libc</filename></term> -<listitem> -<para>The main C library</para> -<indexterm zone="ch-system-glibc libc"><primary sortas="c-libc">libc</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libcidn"> -<term><filename class="libraryfile">libcidn</filename></term> -<listitem> -<para>Used internally by Glibc for handling internationalized domain names in -the <function>getaddrinfo()</function> function</para> -<indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libcrypt"> -<term><filename class="libraryfile">libcrypt</filename></term> -<listitem> -<para>The cryptography library</para> -<indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libdl"> -<term><filename class="libraryfile">libdl</filename></term> -<listitem> -<para>The dynamic linking interface library</para> -<indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libg"> -<term><filename class="libraryfile">libg</filename></term> -<listitem> -<para>Dummy library containing no functions. Previously was a runtime library -for <command>g++</command></para> -<indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libieee"> -<term><filename class="libraryfile">libieee</filename></term> -<listitem> -<para>Linking in this module forces error handling rules for math functions as -defined by the Institute of Electrical and Electronic Engineers (IEEE). -The default is POSIX.1 error handling</para> -<indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libm"> -<term><filename class="libraryfile">libm</filename></term> -<listitem> -<para>The mathematical library</para> -<indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libmcheck"> -<term><filename class="libraryfile">libmcheck</filename></term> -<listitem> -<para>Turns on memory allocation checking when linked to</para> -<indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libmemusage"> -<term><filename class="libraryfile">libmemusage</filename></term> -<listitem> -<para>Used by <command>memusage</command> to help collect -information about the memory usage of a program</para> -<indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libnsl"> -<term><filename class="libraryfile">libnsl</filename></term> -<listitem> -<para>The network services library</para> -<indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libnss"> -<term><filename class="libraryfile">libnss</filename></term> -<listitem> -<para>The Name Service Switch libraries, -containing functions for resolving host names, user names, group names, -aliases, services, protocols, etc.</para> -<indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss">libnss</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libpcprofile"> -<term><filename class="libraryfile">libpcprofile</filename></term> -<listitem> -<para>Contains profiling functions used -to track the amount of CPU time spent in specific source code lines</para> -<indexterm zone="ch-system-glibc libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libpthread"> -<term><filename class="libraryfile">libpthread</filename></term> -<listitem> -<para>The POSIX threads library</para> -<indexterm zone="ch-system-glibc libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libresolv"> -<term><filename class="libraryfile">libresolv</filename></term> -<listitem> -<para>Contains functions for creating, -sending, and interpreting packets to the Internet domain name servers</para> -<indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="librpcsvc"> -<term><filename class="libraryfile">librpcsvc</filename></term> -<listitem> -<para>Contains functions providing miscellaneous RPC services</para> -<indexterm zone="ch-system-glibc librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="librt"> -<term><filename class="libraryfile">librt</filename></term> -<listitem> -<para>Contains functions providing most of the -interfaces specified by the POSIX.1b Realtime Extension</para> -<indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libthread_db"> -<term><filename class="libraryfile">libthread_db</filename></term> -<listitem> -<para>Contains functions useful for -building debuggers for multi-threaded programs</para> -<indexterm zone="ch-system-glibc libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libutil"> -<term><filename class="libraryfile">libutil</filename></term> -<listitem> -<para>Contains code for <quote>standard</quote> functions used in many different Unix utilities</para> -<indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> - -</sect2> + </sect2> + + <sect2 id="contents-glibc" role="content"> + <title>Contents of Glibc</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + <segtitle>Installed libraries</segtitle> + + <seglistitem> + <seg>catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig, + ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck, + pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, + zdump, and zic</seg> + <seg>ld.so, libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so], + libbsd-compat.a, libc.[a,so], libcidn.so, libcrypt.[a,so], libdl.[a,so], + libg.a, libieee.a, libm.[a,so], libmcheck.a, libmemusage.so, libnsl.a, + libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, + libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so], + libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so, and + libutil.[a,so]</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="catchsegv"> + <term><command>catchsegv</command></term> + <listitem> + <para>Can be used to create a stack trace when a program + terminates with a segmentation fault</para> + <indexterm zone="ch-system-glibc catchsegv"> + <primary sortas="b-catchsegv">catchsegv</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gencat"> + <term><command>gencat</command></term> + <listitem> + <para>Generates message catalogues</para> + <indexterm zone="ch-system-glibc gencat"> + <primary sortas="b-gencat">gencat</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="getconf"> + <term><command>getconf</command></term> + <listitem> + <para>Displays the system configuration values for file system + specific variables</para> + <indexterm zone="ch-system-glibc getconf"> + <primary sortas="b-getconf">getconf</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="getent"> + <term><command>getent</command></term> + <listitem> + <para>Gets entries from an administrative database</para> + <indexterm zone="ch-system-glibc getent"> + <primary sortas="b-getent">getent</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="iconv"> + <term><command>iconv</command></term> + <listitem> + <para>Performs character set conversion</para> + <indexterm zone="ch-system-glibc iconv"> + <primary sortas="b-iconv">iconv</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="iconvconfig"> + <term><command>iconvconfig</command></term> + <listitem> + <para>Creates fastloading <command>iconv</command> module configuration + files</para> + <indexterm zone="ch-system-glibc iconvconfig"> + <primary sortas="b-iconvconfig">iconvconfig</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="ldconfig"> + <term><command>ldconfig</command></term> + <listitem> + <para>Configures the dynamic linker runtime bindings</para> + <indexterm zone="ch-system-glibc ldconfig"> + <primary sortas="b-ldconfig">ldconfig</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="ldd"> + <term><command>ldd</command></term> + <listitem> + <para>Reports which shared libraries are required + by each given program or shared library</para> + <indexterm zone="ch-system-glibc ldd"> + <primary sortas="b-ldd">ldd</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="lddlibc4"> + <term><command>lddlibc4</command></term> + <listitem> + <para>Assists <command>ldd</command> with object files</para> + <indexterm zone="ch-system-glibc lddlibc4"> + <primary sortas="b-lddlibc4">lddlibc4</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="locale"> + <term><command>locale</command></term> + <listitem> + <para>Prints various information about the current locale</para> + <indexterm zone="ch-system-glibc locale"> + <primary sortas="b-locale">locale</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="localedef"> + <term><command>localedef</command></term> + <listitem> + <para>Compiles locale specifications</para> + <indexterm zone="ch-system-glibc localedef"> + <primary sortas="b-localedef">localedef</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="mtrace"> + <term><command>mtrace</command></term> + <listitem> + <para>Reads and interprets a memory trace file and displays a summary + in human-readable format</para> + <indexterm zone="ch-system-glibc mtrace"> + <primary sortas="b-mtrace">mtrace</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="nscd"> + <term><command>nscd</command></term> + <listitem> + <para>A daemon that provides a cache for the most common name + service requests</para> + <indexterm zone="ch-system-glibc nscd"> + <primary sortas="b-nscd">nscd</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="nscd_nischeck"> + <term><command>nscd_nischeck</command></term> + <listitem> + <para>Checks whether or not secure mode is necessary for NIS+ + lookup</para> + <indexterm zone="ch-system-glibc nscd_nischeck"> + <primary sortas="b-nscd_nischeck">nscd_nischeck</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pcprofiledump"> + <term><command>pcprofiledump</command></term> + <listitem> + <para>Dumps information generated by PC profiling</para> + <indexterm zone="ch-system-glibc pcprofiledump"> + <primary sortas="b-pcprofiledump">pcprofiledump</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pt_chown"> + <term><command>pt_chown</command></term> + <listitem> + <para>A helper program for <command>grantpt</command> to set the owner, + group and access permissions of a slave pseudo terminal</para> + <indexterm zone="ch-system-glibc pt_chown"> + <primary sortas="b-pt_chown">pt_chown</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="rpcgen"> + <term><command>rpcgen</command></term> + <listitem> + <para>Generates C code to implement the Remote Procecure Call (RPC) + protocol</para> + <indexterm zone="ch-system-glibc rpcgen"> + <primary sortas="b-rpcgen">rpcgen</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="rpcinfo"> + <term><command>rpcinfo</command></term> + <listitem> + <para>Makes an RPC call to an RPC server</para> + <indexterm zone="ch-system-glibc rpcinfo"> + <primary sortas="b-rpcinfo">rpcinfo</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="sln"> + <term><command>sln</command></term> + <listitem> + <para>A statically linked <command>ln</command> program</para> + <indexterm zone="ch-system-glibc sln"> + <primary sortas="b-sln">sln</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="sprof"> + <term><command>sprof</command></term> + <listitem> + <para>Reads and displays shared object profiling data</para> + <indexterm zone="ch-system-glibc sprof"> + <primary sortas="b-sprof">sprof</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="tzselect"> + <term><command>tzselect</command></term> + <listitem> + <para>Asks the user about the location of the system and reports + the corresponding time zone description</para> + <indexterm zone="ch-system-glibc tzselect"> + <primary sortas="b-tzselect">tzselect</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="xtrace"> + <term><command>xtrace</command></term> + <listitem> + <para>Traces the execution of a program by printing the currently + executed function</para> + <indexterm zone="ch-system-glibc xtrace"> + <primary sortas="b-xtrace">xtrace</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="zdump"> + <term><command>zdump</command></term> + <listitem> + <para>The time zone dumper</para> + <indexterm zone="ch-system-glibc zdump"> + <primary sortas="b-zdump">zdump</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="zic"> + <term><command>zic</command></term> + <listitem> + <para>The time zone compiler</para> + <indexterm zone="ch-system-glibc zic"> + <primary sortas="b-zic">zic</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="ld.so"> + <term><filename class="libraryfile">ld.so</filename></term> + <listitem> + <para>The helper program for shared library executables</para> + <indexterm zone="ch-system-glibc ld.so"> + <primary sortas="c-ld.so">ld.so</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libBrokenLocale"> + <term><filename class="libraryfile">libBrokenLocale</filename></term> + <listitem> + <para>Used internally by Glibc as a gross hack to get broken programs + (e.g., some Motif applications) running. See comments in + <filename>glibc-&glibc-version;/locale/broken_cur_max.c</filename> + for more information</para> + <indexterm zone="ch-system-glibc libBrokenLocale"> + <primary sortas="c-libBrokenLocale">libBrokenLocale</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libSegFault"> + <term><filename class="libraryfile">libSegFault</filename></term> + <listitem> + <para>The segmentation fault signal handler, used by + <command>catchsegv</command></para> + <indexterm zone="ch-system-glibc libSegFault"> + <primary sortas="c-libSegFault">libSegFault</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libanl"> + <term><filename class="libraryfile">libanl</filename></term> + <listitem> + <para>An asynchronous name lookup library</para> + <indexterm zone="ch-system-glibc libanl"> + <primary sortas="c-libanl">libanl</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libbsd-compat"> + <term><filename class="libraryfile">libbsd-compat</filename></term> + <listitem> + <para>Provides the portability needed in order to run certain Berkey + Software Distribution (BSD) programs under Linux</para> + <indexterm zone="ch-system-glibc libbsd-compat"> + <primary sortas="c-libbsd-compat">libbsd-compat</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libc"> + <term><filename class="libraryfile">libc</filename></term> + <listitem> + <para>The main C library</para> + <indexterm zone="ch-system-glibc libc"> + <primary sortas="c-libc">libc</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libcidn"> + <term><filename class="libraryfile">libcidn</filename></term> + <listitem> + <para>Used internally by Glibc for handling internationalized domain + names in the <function>getaddrinfo()</function> function</para> + <indexterm zone="ch-system-glibc libcrypt"> + <primary sortas="c-libcrypt">libcrypt</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libcrypt"> + <term><filename class="libraryfile">libcrypt</filename></term> + <listitem> + <para>The cryptography library</para> + <indexterm zone="ch-system-glibc libcrypt"> + <primary sortas="c-libcrypt">libcrypt</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libdl"> + <term><filename class="libraryfile">libdl</filename></term> + <listitem> + <para>The dynamic linking interface library</para> + <indexterm zone="ch-system-glibc libdl"> + <primary sortas="c-libdl">libdl</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libg"> + <term><filename class="libraryfile">libg</filename></term> + <listitem> + <para>Dummy library containing no functions. Previously was a runtime + library for <command>g++</command></para> + <indexterm zone="ch-system-glibc libg"> + <primary sortas="c-libg">libg</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libieee"> + <term><filename class="libraryfile">libieee</filename></term> + <listitem> + <para>Linking in this module forces error handling rules for math + functions as defined by the Institute of Electrical and Electronic + Engineers (IEEE). The default is POSIX.1 error handling</para> + <indexterm zone="ch-system-glibc libieee"> + <primary sortas="c-libieee">libieee</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libm"> + <term><filename class="libraryfile">libm</filename></term> + <listitem> + <para>The mathematical library</para> + <indexterm zone="ch-system-glibc libm"> + <primary sortas="c-libm">libm</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libmcheck"> + <term><filename class="libraryfile">libmcheck</filename></term> + <listitem> + <para>Turns on memory allocation checking when linked to</para> + <indexterm zone="ch-system-glibc libmcheck"> + <primary sortas="c-libmcheck">libmcheck</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libmemusage"> + <term><filename class="libraryfile">libmemusage</filename></term> + <listitem> + <para>Used by <command>memusage</command> to help collect + information about the memory usage of a program</para> + <indexterm zone="ch-system-glibc libmemusage"> + <primary sortas="c-libmemusage">libmemusage</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libnsl"> + <term><filename class="libraryfile">libnsl</filename></term> + <listitem> + <para>The network services library</para> + <indexterm zone="ch-system-glibc libnsl"> + <primary sortas="c-libnsl">libnsl</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libnss"> + <term><filename class="libraryfile">libnss</filename></term> + <listitem> + <para>The Name Service Switch libraries, containing functions for + resolving host names, user names, group names, aliases, services, + protocols, etc.</para> + <indexterm zone="ch-system-glibc libnss"> + <primary sortas="c-libnss">libnss</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libpcprofile"> + <term><filename class="libraryfile">libpcprofile</filename></term> + <listitem> + <para>Contains profiling functions used to track the amount of CPU + time spent in specific source code lines</para> + <indexterm zone="ch-system-glibc libpcprofile"> + <primary sortas="c-libpcprofile">libpcprofile</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libpthread"> + <term><filename class="libraryfile">libpthread</filename></term> + <listitem> + <para>The POSIX threads library</para> + <indexterm zone="ch-system-glibc libpthread"> + <primary sortas="c-libpthread">libpthread</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libresolv"> + <term><filename class="libraryfile">libresolv</filename></term> + <listitem> + <para>Contains functions for creating, sending, and interpreting + packets to the Internet domain name servers</para> + <indexterm zone="ch-system-glibc libresolv"> + <primary sortas="c-libresolv">libresolv</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="librpcsvc"> + <term><filename class="libraryfile">librpcsvc</filename></term> + <listitem> + <para>Contains functions providing miscellaneous RPC services</para> + <indexterm zone="ch-system-glibc librpcsvc"> + <primary sortas="c-librpcsvc">librpcsvc</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="librt"> + <term><filename class="libraryfile">librt</filename></term> + <listitem> + <para>Contains functions providing most of the interfaces specified + by the POSIX.1b Realtime Extension</para> + <indexterm zone="ch-system-glibc librt"> + <primary sortas="c-librt">librt</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libthread_db"> + <term><filename class="libraryfile">libthread_db</filename></term> + <listitem> + <para>Contains functions useful for building debuggers for + multi-threaded programs</para> + <indexterm zone="ch-system-glibc libthread_db"> + <primary sortas="c-libthread_db">libthread_db</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libutil"> + <term><filename class="libraryfile">libutil</filename></term> + <listitem> + <para>Contains code for <quote>standard</quote> functions used in + many different Unix utilities</para> + <indexterm zone="ch-system-glibc libutil"> + <primary sortas="c-libutil">libutil</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - diff --git a/chapter06/grep.xml b/chapter06/grep.xml index f050a89a1..84742ae30 100644 --- a/chapter06/grep.xml +++ b/chapter06/grep.xml @@ -1,98 +1,123 @@ <?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-system-grep" role="wrap"> -<title>Grep-&grep-version;</title> -<?dbhtml filename="grep.html"?> - -<indexterm zone="ch-system-grep"><primary sortas="a-Grep">Grep</primary></indexterm> -<sect2 role="package"><title/> -<para>The Grep package contains programs for searching through files.</para> - -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>4.5 MB</seg></seglistitem> -</segmentedlist> +<sect1 id="ch-system-grep" role="wrap"> + <?dbhtml filename="grep.html"?> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, -Diffutils, GCC, Gettext, Glibc, Make, Sed, and Texinfo</seg></seglistitem> -</segmentedlist> -</sect2> + <title>Grep-&grep-version;</title> -<sect2 role="installation"> -<title>Installation of Grep</title> + <indexterm zone="ch-system-grep"> + <primary sortas="a-Grep">Grep</primary> + </indexterm> -<para>The current Grep package has many bugs, especially in the support of -multibyte locales. RedHat fixed some of them with the following patch:</para> + <sect2 role="package"> + <title/> -<screen><userinput>patch -Np1 -i ../&grep-fixes-patch;</userinput></screen> + <para>The Grep package contains programs for searching through files.</para> -<para>In order for the tests added by this patch to pass, the permissions for -the test file have to be changed:</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<screen><userinput>chmod +x tests/fmbtest.sh</userinput></screen> + <seglistitem> + <seg>0.1 SBU</seg> + <seg>4.5 MB</seg> + </seglistitem> + </segmentedlist> -<para>Prepare Grep for compilation:</para> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen> + <seglistitem> + <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Make, + Sed, and Texinfo</seg> + </seglistitem> + </segmentedlist> -<para>Compile the package:</para> + </sect2> -<screen><userinput>make</userinput></screen> + <sect2 role="installation"> + <title>Installation of Grep</title> -<para>To test the results, issue: -<userinput>make check</userinput>.</para> + <para>The current Grep package has many bugs, especially in the support of + multibyte locales. RedHat fixed some of them with the following patch:</para> -<para>Install the package:</para> +<screen><userinput>patch -Np1 -i ../&grep-fixes-patch;</userinput></screen> -<screen><userinput>make install</userinput></screen> + <para>In order for the tests added by this patch to pass, the permissions for + the test file have to be changed:</para> -</sect2> +<screen><userinput>chmod +x tests/fmbtest.sh</userinput></screen> + <para>Prepare Grep for compilation:</para> -<sect2 id="contents-grep" role="content"><title>Contents of Grep</title> +<screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen> -<segmentedlist> -<segtitle>Installed programs</segtitle> -<seglistitem><seg>egrep (link to grep), fgrep (link to grep), and grep</seg></seglistitem> -</segmentedlist> + <para>Compile the package:</para> -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> +<screen><userinput>make</userinput></screen> -<varlistentry id="egrep"> -<term><command>egrep</command></term> -<listitem> -<para>Prints lines matching an extended regular expression</para> -<indexterm zone="ch-system-grep egrep"><primary sortas="b-egrep">egrep</primary></indexterm> -</listitem> -</varlistentry> + <para>To test the results, issue: + <userinput>make check</userinput>.</para> -<varlistentry id="fgrep"> -<term><command>fgrep</command></term> -<listitem> -<para>Prints lines matching a list of fixed strings</para> -<indexterm zone="ch-system-grep fgrep"><primary sortas="b-fgrep">fgrep</primary></indexterm> -</listitem> -</varlistentry> + <para>Install the package:</para> -<varlistentry id="grep"> -<term><command>grep</command></term> -<listitem> -<para>Prints lines matching a basic regular expression</para> -<indexterm zone="ch-system-grep grep"><primary sortas="b-grep">grep</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> +<screen><userinput>make install</userinput></screen> -</sect2> + </sect2> + + <sect2 id="contents-grep" role="content"> + <title>Contents of Grep</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + + <seglistitem> + <seg>egrep (link to grep), fgrep (link to grep), and grep</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="egrep"> + <term><command>egrep</command></term> + <listitem> + <para>Prints lines matching an extended regular expression</para> + <indexterm zone="ch-system-grep egrep"> + <primary sortas="b-egrep">egrep</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="fgrep"> + <term><command>fgrep</command></term> + <listitem> + <para>Prints lines matching a list of fixed strings</para> + <indexterm zone="ch-system-grep fgrep"> + <primary sortas="b-fgrep">fgrep</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="grep"> + <term><command>grep</command></term> + <listitem> + <para>Prints lines matching a basic regular expression</para> + <indexterm zone="ch-system-grep grep"> + <primary sortas="b-grep">grep</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - |