Changeset 73c180db


Ignore:
Timestamp:
02/04/2006 01:37:25 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Children:
3a0a57c
Parents:
fa994c9
Message:

Ported r7344 from trunk to alphabetical branch.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/alphabetical/BOOK@7346 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Location:
chapter06
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • chapter06/gawk.xml

    rfa994c9 r73c180db  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-gawk" role="wrap">
    7 <title>Gawk-&gawk-version;</title>
    8 <?dbhtml filename="gawk.html"?>
     9  <?dbhtml filename="gawk.html"?>
    910
    10 <indexterm zone="ch-system-gawk"><primary sortas="a-Gawk">Gawk</primary></indexterm>
     11  <title>Gawk-&gawk-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Gawk package contains programs for manipulating text files.</para>
     13  <indexterm zone="ch-system-gawk">
     14    <primary sortas="a-Gawk">Gawk</primary>
     15  </indexterm>
    1416
    15 <segmentedlist>
    16 <segtitle>&buildtime;</segtitle>
    17 <segtitle>&diskspace;</segtitle>
    18 <seglistitem><seg>0.2 SBU</seg><seg>16.4 MB</seg></seglistitem>
    19 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2019
    21 <segmentedlist>
    22 <segtitle>&dependencies;</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils,
    24 Diffutils, GCC, Gettext, Glibc, Grep, Make, Patch, and Sed</seg></seglistitem>
    25 </segmentedlist>
    26 </sect2>
     20    <para>The Gawk package contains programs for manipulating text files.</para>
    2721
    28 <sect2 role="installation">
    29 <title>Installation of Gawk</title>
     22    <segmentedlist>
     23      <segtitle>&buildtime;</segtitle>
     24      <segtitle>&diskspace;</segtitle>
    3025
    31 <para>Under some circumstances, Gawk-&gawk-version;  attempts to free a chunk
    32 of memory that was not allocated. This bug is fixed by the following patch:</para>
     26      <seglistitem>
     27        <seg>0.2 SBU</seg>
     28        <seg>16.4 MB</seg>
     29      </seglistitem>
     30    </segmentedlist>
     31
     32    <segmentedlist>
     33      <segtitle>&dependencies;</segtitle>
     34
     35      <seglistitem>
     36        <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc,
     37        Grep, Make, Patch, and Sed</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Gawk</title>
     45
     46    <para>Under some circumstances, Gawk-&gawk-version;  attempts to free a
     47    chunk of memory that was not allocated. This bug is fixed by the following
     48    patch:</para>
    3349
    3450<screen><userinput>patch -Np1 -i ../&gawk-segfault-patch;</userinput></screen>
    3551
    36 <para>Prepare Gawk for compilation:</para>
     52    <para>Prepare Gawk for compilation:</para>
    3753
    3854<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib</userinput></screen>
    3955
    40 <para>Due to a bug in the <command>configure</command> script, Gawk fails
    41 to detect certain aspects of locale support in Glibc. This
    42 bug leads to, e.g., Gettext testsuite failures. Work around this issue
    43 by appending the missing macro definitions to <filename>config.h</filename>:</para>
     56    <para>Due to a bug in the <command>configure</command> script, Gawk fails
     57    to detect certain aspects of locale support in Glibc. This bug leads to,
     58    e.g., Gettext testsuite failures. Work around this issue by appending the
     59    missing macro definitions to <filename>config.h</filename>:</para>
    4460
    4561<screen><userinput>cat &gt;&gt;config.h &lt;&lt;"EOF"
     
    4864EOF</userinput></screen>
    4965
    50 <para>Compile the package:</para>
     66    <para>Compile the package:</para>
    5167
    5268<screen><userinput>make</userinput></screen>
    5369
    54 <para>To test the results, issue:
    55 <userinput>make check</userinput>.</para>
     70    <para>To test the results, issue:
     71    <userinput>make check</userinput>.</para>
    5672
    57 <para>Install the package:</para>
     73    <para>Install the package:</para>
    5874
    5975<screen><userinput>make install</userinput></screen>
    6076
    61 </sect2>
     77  </sect2>
    6278
     79  <sect2 id="contents-gawk" role="content">
     80    <title>Contents of Gawk</title>
    6381
    64 <sect2 id="contents-gawk" role="content"><title>Contents of Gawk</title>
     82    <segmentedlist>
     83      <segtitle>Installed programs</segtitle>
    6584
    66 <segmentedlist>
    67 <segtitle>Installed programs</segtitle>
    68 <seglistitem><seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk,
    69 pgawk, pgawk-&gawk-version;, and pwcat</seg></seglistitem>
    70 </segmentedlist>
     85      <seglistitem>
     86        <seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk, pgawk,
     87        pgawk-&gawk-version;, and pwcat</seg>
     88      </seglistitem>
     89    </segmentedlist>
    7190
    72 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    73 <?dbfo list-presentation="list"?>
    74 <?dbhtml list-presentation="table"?>
     91    <variablelist>
     92      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     93      <?dbfo list-presentation="list"?>
     94      <?dbhtml list-presentation="table"?>
    7595
    76 <varlistentry id="awk">
    77 <term><command>awk</command></term>
    78 <listitem>
    79 <para>A link to <command>gawk</command></para>
    80 <indexterm zone="ch-system-gawk awk"><primary sortas="b-awk">awk</primary></indexterm>
    81 </listitem>
    82 </varlistentry>
     96      <varlistentry id="awk">
     97        <term><command>awk</command></term>
     98        <listitem>
     99          <para>A link to <command>gawk</command></para>
     100          <indexterm zone="ch-system-gawk awk">
     101            <primary sortas="b-awk">awk</primary>
     102          </indexterm>
     103        </listitem>
     104      </varlistentry>
    83105
    84 <varlistentry id="gawk">
    85 <term><command>gawk</command></term>
    86 <listitem>
    87 <para>A program for manipulating text files; it is the GNU
    88 implementation of <command>awk</command></para>
    89 <indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm>
    90 </listitem>
    91 </varlistentry>
     106      <varlistentry id="gawk">
     107        <term><command>gawk</command></term>
     108        <listitem>
     109          <para>A program for manipulating text files; it is the GNU
     110          implementation of <command>awk</command></para>
     111          <indexterm zone="ch-system-gawk gawk">
     112            <primary sortas="b-gawk">gawk</primary>
     113          </indexterm>
     114        </listitem>
     115      </varlistentry>
    92116
    93 <varlistentry id="gawk-version">
    94 <term><command>gawk-&gawk-version;</command></term>
    95 <listitem>
    96 <para>A hard link to <command>gawk</command></para>
    97 <indexterm zone="ch-system-gawk gawk-version"><primary sortas="b-gawk-&gawk-version;">gawk-&gawk-version;</primary></indexterm>
    98 </listitem>
    99 </varlistentry>
     117      <varlistentry id="gawk-version">
     118        <term><command>gawk-&gawk-version;</command></term>
     119        <listitem>
     120          <para>A hard link to <command>gawk</command></para>
     121          <indexterm zone="ch-system-gawk gawk-version">
     122            <primary sortas="b-gawk-&gawk-version;">gawk-&gawk-version;</primary>
     123          </indexterm>
     124        </listitem>
     125      </varlistentry>
    100126
    101 <varlistentry id="grcat">
    102 <term><command>grcat</command></term>
    103 <listitem>
    104 <para>Dumps the group database <filename>/etc/group</filename></para>
    105 <indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm>
    106 </listitem>
    107 </varlistentry>
     127      <varlistentry id="grcat">
     128        <term><command>grcat</command></term>
     129        <listitem>
     130          <para>Dumps the group database <filename>/etc/group</filename></para>
     131          <indexterm zone="ch-system-gawk grcat">
     132            <primary sortas="b-grcat">grcat</primary>
     133          </indexterm>
     134        </listitem>
     135      </varlistentry>
    108136
    109 <varlistentry id="igawk">
    110 <term><command>igawk</command></term>
    111 <listitem>
    112 <para>Gives <command>gawk</command> the ability to include files</para>
    113 <indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm>
    114 </listitem>
    115 </varlistentry>
     137      <varlistentry id="igawk">
     138        <term><command>igawk</command></term>
     139        <listitem>
     140          <para>Gives <command>gawk</command> the ability to include files</para>
     141          <indexterm zone="ch-system-gawk igawk">
     142            <primary sortas="b-igawk">igawk</primary>
     143          </indexterm>
     144        </listitem>
     145      </varlistentry>
    116146
    117 <varlistentry id="pgawk">
    118 <term><command>pgawk</command></term>
    119 <listitem>
    120 <para>The profiling version of <command>gawk</command></para>
    121 <indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm>
    122 </listitem>
    123 </varlistentry>
     147      <varlistentry id="pgawk">
     148        <term><command>pgawk</command></term>
     149        <listitem>
     150          <para>The profiling version of <command>gawk</command></para>
     151          <indexterm zone="ch-system-gawk pgawk">
     152            <primary sortas="b-pgawk">pgawk</primary>
     153          </indexterm>
     154        </listitem>
     155      </varlistentry>
    124156
    125 <varlistentry id="pgawk-version">
    126 <term><command>pgawk-&gawk-version;</command></term>
    127 <listitem>
    128 <para>Hard link to <command>pgawk</command></para>
    129 <indexterm zone="ch-system-gawk pgawk-version"><primary sortas="b-pgawk-&gawk-version;">pgawk-&gawk-version;</primary></indexterm>
    130 </listitem>
    131 </varlistentry>
     157      <varlistentry id="pgawk-version">
     158        <term><command>pgawk-&gawk-version;</command></term>
     159        <listitem>
     160          <para>Hard link to <command>pgawk</command></para>
     161          <indexterm zone="ch-system-gawk pgawk-version">
     162            <primary sortas="b-pgawk-&gawk-version;">pgawk-&gawk-version;</primary>
     163          </indexterm>
     164        </listitem>
     165      </varlistentry>
    132166
    133 <varlistentry id="pwcat">
    134 <term><command>pwcat</command></term>
    135 <listitem>
    136 <para>Dumps the password database <filename>/etc/passwd</filename></para>
    137 <indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm>
    138 </listitem>
    139 </varlistentry>
    140 </variablelist>
     167      <varlistentry id="pwcat">
     168        <term><command>pwcat</command></term>
     169        <listitem>
     170          <para>Dumps the password database <filename>/etc/passwd</filename></para>
     171          <indexterm zone="ch-system-gawk pwcat">
     172            <primary sortas="b-pwcat">pwcat</primary>
     173          </indexterm>
     174        </listitem>
     175      </varlistentry>
    141176
    142 </sect2>
     177    </variablelist>
     178
     179  </sect2>
    143180
    144181</sect1>
    145 
  • chapter06/gcc.xml

    rfa994c9 r73c180db  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-gcc" role="wrap">
    7 <title>GCC-&gcc-version;</title>
    8 <?dbhtml filename="gcc.html"?>
    9 
    10 <indexterm zone="ch-system-gcc"><primary sortas="a-GCC">GCC</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The GCC package contains the GNU compiler collection, which includes
    14 the C and C++ compilers.</para>
    15 
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>11.7 SBU</seg><seg>451 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, DejaGNU, Diffutils, Findutils,
    25 Expect, Gawk, Gettext, Glibc, Grep, Make, Patch, Perl, Sed, Tcl, and
    26 Texinfo</seg></seglistitem>
    27 </segmentedlist>
    28 </sect2>
    29 
    30 <sect2 role="installation">
    31 <title>Installation of GCC</title>
    32 
    33 <para>Apply a <command>sed</command> substitution that will suppress the
    34 installation of <filename class="libraryfile">libiberty.a</filename>. The
    35 version of <filename class="libraryfile">libiberty.a</filename> provided by
    36 Binutils will be used instead:</para>
     9  <?dbhtml filename="gcc.html"?>
     10
     11  <title>GCC-&gcc-version;</title>
     12
     13  <indexterm zone="ch-system-gcc">
     14    <primary sortas="a-GCC">GCC</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The GCC package contains the GNU compiler collection, which includes
     21    the C and C++ compilers.</para>
     22
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
     26
     27      <seglistitem>
     28        <seg>11.7 SBU</seg>
     29        <seg>451 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34      <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Bash, Binutils, Coreutils, DejaGNU, Diffutils, Findutils, Expect,
     38        Gawk, Gettext, Glibc, Grep, Make, Patch, Perl, Sed, Tcl, and Texinfo</seg>
     39      </seglistitem>
     40    </segmentedlist>
     41
     42  </sect2>
     43
     44  <sect2 role="installation">
     45    <title>Installation of GCC</title>
     46
     47    <para>Apply a <command>sed</command> substitution that will suppress the
     48    installation of <filename class="libraryfile">libiberty.a</filename>. The
     49    version of <filename class="libraryfile">libiberty.a</filename> provided by
     50    Binutils will be used instead:</para>
    3751
    3852<screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen>
    3953
    40 <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/>
    41 built GCC with the <option>-fomit-frame-pointer</option> compiler flag.
    42 Non-bootstrap builds omit this flag by default, so apply the following
    43 <command>sed</command> to use it in order to ensure consistent compiler builds.
    44 </para>
     54    <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/>
     55    built GCC with the <option>-fomit-frame-pointer</option> compiler flag.
     56    Non-bootstrap builds omit this flag by default, so apply the following
     57    <command>sed</command> to use it in order to ensure consistent compiler
     58    builds.</para>
    4559
    4660<screen><userinput>sed -i 's/^XCFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in</userinput></screen>
    4761
    48 <para>The <command>fixincludes</command> script is known to occasionally
    49 erroneously attempt to &quot;fix&quot; the system headers installed so far. As
    50 the headers installed by GCC-&gcc-version; and Glibc-&glibc-version; are known
    51 to not require fixing, issue the following command to prevent the
    52 <command>fixincludes</command> script from running:</para>
     62    <para>The <command>fixincludes</command> script is known to occasionally
     63    erroneously attempt to &quot;fix&quot; the system headers installed so far. As
     64    the headers installed by GCC-&gcc-version; and Glibc-&glibc-version; are known
     65    to not require fixing, issue the following command to prevent the
     66    <command>fixincludes</command> script from running:</para>
    5367
    5468<screen><userinput>sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in</userinput></screen>
    5569
    56 <para>GCC provides a <command>gccbug</command> script which detects at
    57 compile time whether mktemp is present, and hardcodes the result in a test.
    58 This will cause the script to fall back to using less random names for
    59 temporary files.  We will be installing mktemp later, so the following sed
    60 will simulate its presence.</para>
     70    <para>GCC provides a <command>gccbug</command> script which detects at
     71    compile time whether mktemp is present, and hardcodes the result in a test.
     72    This will cause the script to fall back to using less random names for
     73    temporary files.  We will be installing mktemp later, so the following sed
     74    will simulate its presence.</para>
    6175
    6276<screen>sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.in</screen>
    6377
    64 <para>The GCC documentation recommends building GCC outside of the source
    65 directory in a dedicated build directory:</para>
     78    <para>The GCC documentation recommends building GCC outside of the source
     79    directory in a dedicated build directory:</para>
    6680
    6781<screen><userinput>mkdir -v ../gcc-build
    6882cd ../gcc-build</userinput></screen>
    6983
    70 <para>Prepare GCC for compilation:</para>
     84    <para>Prepare GCC for compilation:</para>
    7185
    7286<screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr \
     
    7589    --enable-clocale=gnu --enable-languages=c,c++</userinput></screen>
    7690
    77 <para>Compile the package:</para>
     91    <para>Compile the package:</para>
    7892
    7993<screen><userinput>make</userinput></screen>
    8094
    81 <important><para>In this section, the test suite for GCC is considered
    82 critical. Do not skip it under any circumstance.</para></important>
    83 
    84 <para>Test the results, but do not stop at errors:</para>
     95    <important>
     96      <para>In this section, the test suite for GCC is considered
     97      critical. Do not skip it under any circumstance.</para>
     98    </important>
     99
     100    <para>Test the results, but do not stop at errors:</para>
    85101
    86102<screen><userinput>make -k check</userinput></screen>
    87103
    88 <para>Some of the errors are known issues and were noted in the
    89 previous chapter. The test suite notes from <xref
    90 linkend="ch-tools-gcc-pass2" role=","/> are still relevant here. Be sure to
    91 refer back to them as necessary.</para>
    92 
    93 <para>Install the package:</para>
     104    <para>Some of the errors are known issues and were noted in the
     105    previous chapter. The test suite notes from <xref
     106    linkend="ch-tools-gcc-pass2" role=","/> are still relevant here. Be sure to
     107    refer back to them as necessary.</para>
     108
     109    <para>Install the package:</para>
    94110
    95111<screen><userinput>make install</userinput></screen>
    96112
    97 <para>Some packages expect the C preprocessor to be installed in the
    98 <filename class="directory">/lib</filename> directory.
    99 To support those packages, create this symlink:</para>
     113    <para>Some packages expect the C preprocessor to be installed in the
     114    <filename class="directory">/lib</filename> directory.
     115    To support those packages, create this symlink:</para>
    100116
    101117<screen><userinput>ln -sv ../usr/bin/cpp /lib</userinput></screen>
    102118
    103 <para>Many packages use the name <command>cc</command> to call the C
    104 compiler. To satisfy those packages, create a symlink:</para>
     119    <para>Many packages use the name <command>cc</command> to call the C
     120    compiler. To satisfy those packages, create a symlink:</para>
    105121
    106122<screen><userinput>ln -sv gcc /usr/bin/cc</userinput></screen>
    107123
    108 <note><para>At this point, it is strongly recommended to repeat the
    109 sanity check performed earlier in this chapter. Refer back to <xref
    110 linkend="ch-system-readjusting" role=","/> and repeat the check. If the results
    111 are in error, then the most likely reason is that the GCC Specs patch
    112 from <xref linkend="chapter-temporary-tools"/> was erroneously applied
    113 here.</para></note>
    114 
    115 </sect2>
    116 
    117 
    118 <sect2 id="contents-gcc" role="content"><title>Contents of GCC</title>
    119 
    120 <segmentedlist>
    121 <segtitle>Installed programs</segtitle>
    122 <segtitle>Installed libraries</segtitle>
    123 <seglistitem><seg>c++, cc (link to gcc), cpp, g++, gcc, gccbug, and
    124 gcov</seg>
    125 <seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so], and libsupc++.a</seg></seglistitem>
    126 </segmentedlist>
    127 
    128 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    129 <?dbfo list-presentation="list"?>
    130 <?dbhtml list-presentation="table"?>
    131 
    132 <varlistentry id="cc">
    133 <term><command>cc</command></term>
    134 <listitem>
    135 <para>The C compiler</para>
    136 <indexterm zone="ch-system-gcc cc"><primary sortas="b-cc">cc</primary></indexterm>
    137 </listitem>
    138 </varlistentry>
    139 
    140 <varlistentry id="cpp">
    141 <term><command>cpp</command></term>
    142 <listitem>
    143 <para>The C preprocessor; it is used by the compiler to expand the
    144 #include, #define, and similar statements in the source files</para>
    145 <indexterm zone="ch-system-gcc cpp"><primary sortas="b-cpp">cpp</primary></indexterm>
    146 </listitem>
    147 </varlistentry>
    148 
    149 <varlistentry id="c">
    150 <term><command>c++</command></term>
    151 <listitem>
    152 <para>The C++ compiler</para>
    153 <indexterm zone="ch-system-gcc c"><primary sortas="b-c++">c++</primary></indexterm>
    154 </listitem>
    155 </varlistentry>
    156 
    157 <varlistentry id="g">
    158 <term><command>g++</command></term>
    159 <listitem>
    160 <para>The C++ compiler</para>
    161 <indexterm zone="ch-system-gcc g"><primary sortas="b-g++">g++</primary></indexterm>
    162 </listitem>
    163 </varlistentry>
    164 
    165 <varlistentry id="gcc">
    166 <term><command>gcc</command></term>
    167 <listitem>
    168 <para>The C compiler</para>
    169 <indexterm zone="ch-system-gcc gcc"><primary sortas="b-gcc">gcc</primary></indexterm>
    170 </listitem>
    171 </varlistentry>
    172 
    173 <varlistentry id="gccbug">
    174 <term><command>gccbug</command></term>
    175 <listitem>
    176 <para>A shell script used to help create useful bug reports</para>
    177 <indexterm zone="ch-system-gcc gccbug"><primary sortas="b-gccbug">gccbug</primary></indexterm>
    178 </listitem>
    179 </varlistentry>
    180 
    181 <varlistentry id="gcov">
    182 <term><command>gcov</command></term>
    183 <listitem>
    184 <para>A coverage testing tool; it is used to analyze programs to
    185 determine where optimizations will have the most effect</para>
    186 <indexterm zone="ch-system-gcc gcov"><primary sortas="b-gcov">gcov</primary></indexterm>
    187 </listitem>
    188 </varlistentry>
    189 
    190 <varlistentry id="libgcc">
    191 <term><filename class="libraryfile">libgcc</filename></term>
    192 <listitem>
    193 <para>Contains run-time support for <command>gcc</command></para>
    194 <indexterm zone="ch-system-gcc libgcc"><primary sortas="c-libgcc*">libgcc*</primary></indexterm>
    195 </listitem>
    196 </varlistentry>
    197 
    198 <varlistentry id="libstdc">
    199 <term><filename class="libraryfile">libstdc++</filename></term>
    200 <listitem>
    201 <para>The standard C++ library</para>
    202 <indexterm zone="ch-system-gcc libstdc"><primary sortas="c-libstdc++">libstdc++</primary></indexterm>
    203 </listitem>
    204 </varlistentry>
    205 
    206 <varlistentry id="libsupc">
    207 <term><filename class="libraryfile">libsupc++</filename></term>
    208 <listitem>
    209 <para>Provides supporting routines for the C++ programming language</para>
    210 <indexterm zone="ch-system-gcc libsupc"><primary sortas="c-libsupc++">libsupc++</primary></indexterm>
    211 </listitem>
    212 </varlistentry>
    213 </variablelist>
    214 
    215 </sect2>
     124    <note>
     125      <para>At this point, it is strongly recommended to repeat the sanity
     126      check performed earlier in this chapter. Refer back to <xref
     127      linkend="ch-system-readjusting" role=","/> and repeat the check. If
     128      the results are in error, then the most likely reason is that the GCC
     129      Specs patch from <xref linkend="chapter-temporary-tools"/> was
     130      erroneously applied here.</para>
     131    </note>
     132
     133  </sect2>
     134
     135  <sect2 id="contents-gcc" role="content">
     136    <title>Contents of GCC</title>
     137
     138    <segmentedlist>
     139      <segtitle>Installed programs</segtitle>
     140      <segtitle>Installed libraries</segtitle>
     141
     142      <seglistitem>
     143        <seg>c++, cc (link to gcc), cpp, g++, gcc, gccbug, and gcov</seg>
     144        <seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so], and
     145        libsupc++.a</seg>
     146      </seglistitem>
     147    </segmentedlist>
     148
     149    <variablelist>
     150      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     151      <?dbfo list-presentation="list"?>
     152      <?dbhtml list-presentation="table"?>
     153
     154      <varlistentry id="cc">
     155        <term><command>cc</command></term>
     156        <listitem>
     157          <para>The C compiler</para>
     158          <indexterm zone="ch-system-gcc cc">
     159            <primary sortas="b-cc">cc</primary>
     160          </indexterm>
     161        </listitem>
     162      </varlistentry>
     163
     164      <varlistentry id="cpp">
     165        <term><command>cpp</command></term>
     166        <listitem>
     167          <para>The C preprocessor; it is used by the compiler to expand the
     168          #include, #define, and similar statements in the source files</para>
     169          <indexterm zone="ch-system-gcc cpp">
     170            <primary sortas="b-cpp">cpp</primary>
     171          </indexterm>
     172        </listitem>
     173      </varlistentry>
     174
     175      <varlistentry id="c">
     176        <term><command>c++</command></term>
     177        <listitem>
     178          <para>The C++ compiler</para>
     179          <indexterm zone="ch-system-gcc c">
     180            <primary sortas="b-c++">c++</primary>
     181          </indexterm>
     182        </listitem>
     183      </varlistentry>
     184
     185      <varlistentry id="g">
     186        <term><command>g++</command></term>
     187        <listitem>
     188          <para>The C++ compiler</para>
     189          <indexterm zone="ch-system-gcc g">
     190            <primary sortas="b-g++">g++</primary>
     191          </indexterm>
     192        </listitem>
     193      </varlistentry>
     194
     195      <varlistentry id="gcc">
     196        <term><command>gcc</command></term>
     197        <listitem>
     198          <para>The C compiler</para>
     199          <indexterm zone="ch-system-gcc gcc">
     200            <primary sortas="b-gcc">gcc</primary>
     201          </indexterm>
     202        </listitem>
     203      </varlistentry>
     204
     205      <varlistentry id="gccbug">
     206        <term><command>gccbug</command></term>
     207        <listitem>
     208          <para>A shell script used to help create useful bug reports</para>
     209          <indexterm zone="ch-system-gcc gccbug">
     210            <primary sortas="b-gccbug">gccbug</primary>
     211          </indexterm>
     212        </listitem>
     213      </varlistentry>
     214
     215      <varlistentry id="gcov">
     216        <term><command>gcov</command></term>
     217        <listitem>
     218          <para>A coverage testing tool; it is used to analyze programs to
     219          determine where optimizations will have the most effect</para>
     220          <indexterm zone="ch-system-gcc gcov">
     221            <primary sortas="b-gcov">gcov</primary>
     222          </indexterm>
     223        </listitem>
     224      </varlistentry>
     225
     226      <varlistentry id="libgcc">
     227        <term><filename class="libraryfile">libgcc</filename></term>
     228        <listitem>
     229          <para>Contains run-time support for <command>gcc</command></para>
     230          <indexterm zone="ch-system-gcc libgcc">
     231            <primary sortas="c-libgcc*">libgcc*</primary>
     232          </indexterm>
     233        </listitem>
     234      </varlistentry>
     235
     236      <varlistentry id="libstdc">
     237        <term><filename class="libraryfile">libstdc++</filename></term>
     238        <listitem>
     239          <para>The standard C++ library</para>
     240          <indexterm zone="ch-system-gcc libstdc">
     241            <primary sortas="c-libstdc++">libstdc++</primary>
     242          </indexterm>
     243        </listitem>
     244      </varlistentry>
     245
     246      <varlistentry id="libsupc">
     247        <term><filename class="libraryfile">libsupc++</filename></term>
     248        <listitem>
     249          <para>Provides supporting routines for the C++ programming
     250          language</para>
     251          <indexterm zone="ch-system-gcc libsupc">
     252            <primary sortas="c-libsupc++">libsupc++</primary>
     253          </indexterm>
     254        </listitem>
     255      </varlistentry>
     256
     257    </variablelist>
     258
     259  </sect2>
    216260
    217261</sect1>
    218 
  • chapter06/gettext.xml

    rfa994c9 r73c180db  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-gettext" role="wrap">
    7 <title>Gettext-&gettext-version;</title>
    8 <?dbhtml filename="gettext.html"?>
    9 
    10 <indexterm zone="ch-system-gettext"><primary sortas="a-Gettext">Gettext</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Gettext package contains utilities for internationalization and
    14 localization. These allow programs to be compiled with NLS (Native Language
    15 Support), enabling them to output messages in the user's native language.</para>
    16 
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>1.2 SBU</seg><seg>65.1 MB</seg></seglistitem>
    21 </segmentedlist>
    22 
    23 <segmentedlist>
    24 <segtitle>&dependencies;</segtitle>
    25 <seglistitem><seg>Bash, Binutils, Bison, Coreutils,
    26 Diffutils, Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
    27 </segmentedlist>
    28 </sect2>
    29 
    30 <sect2 role="installation">
    31 <title>Installation of Gettext</title>
    32 
    33 <para>Prepare Gettext for compilation:</para>
     9  <?dbhtml filename="gettext.html"?>
     10
     11  <title>Gettext-&gettext-version;</title>
     12
     13  <indexterm zone="ch-system-gettext">
     14    <primary sortas="a-Gettext">Gettext</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Gettext package contains utilities for internationalization and
     21    localization. These allow programs to be compiled with NLS (Native Language
     22    Support), enabling them to output messages in the user's native
     23    language.</para>
     24
     25    <segmentedlist>
     26      <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
     28
     29      <seglistitem>
     30        <seg>1.2 SBU</seg>
     31        <seg>65.1 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
     34
     35    <segmentedlist>
     36      <segtitle>&dependencies;</segtitle>
     37
     38      <seglistitem>
     39        <seg>Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc,
     40        Grep, Make, and Sed</seg>
     41      </seglistitem>
     42    </segmentedlist>
     43
     44  </sect2>
     45
     46  <sect2 role="installation">
     47    <title>Installation of Gettext</title>
     48
     49    <para>Prepare Gettext for compilation:</para>
    3450
    3551<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3652
    37 <para>Compile the package:</para>
     53    <para>Compile the package:</para>
    3854
    3955<screen><userinput>make</userinput></screen>
    4056
    41 <para>To test the results, issue:
    42 <userinput>make check</userinput>. This takes a very long time, around
    43 7 SBUs.</para>
    44 
    45 <para>Install the package:</para>
     57    <para>To test the results, issue:
     58    <userinput>make check</userinput>.
     59    This takes a very long time, around 7 SBUs.</para>
     60
     61    <para>Install the package:</para>
    4662
    4763<screen><userinput>make install</userinput></screen>
    4864
    49 </sect2>
    50 
    51 
    52 <sect2 id="contents-gettext" role="content"><title>Contents of Gettext</title>
    53 
    54 <segmentedlist>
    55 <segtitle>Installed programs</segtitle>
    56 <segtitle>Installed libraries</segtitle>
    57 <seglistitem><seg>autopoint, config.charset, config.rpath, envsubst, gettext,
    58 gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen,
    59 msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq,
    60 ngettext, and xgettext</seg>
    61 <seg>libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so], and libgettextsrc.so</seg></seglistitem>
    62 </segmentedlist>
    63 
    64 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    65 <?dbfo list-presentation="list"?>
    66 <?dbhtml list-presentation="table"?>
    67 
    68 <varlistentry id="autopoint">
    69 <term><command>autopoint</command></term>
    70 <listitem>
    71 <para>Copies standard Gettext infrastructure files into a source package</para>
    72 <indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm>
    73 </listitem>
    74 </varlistentry>
    75 
    76 <varlistentry id="config.charset">
    77 <term><command>config.charset</command></term>
    78 <listitem>
    79 <para>Outputs a system-dependent table of character encoding aliases</para>
    80 <indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm>
    81 </listitem>
    82 </varlistentry>
    83 
    84 <varlistentry id="config.rpath">
    85 <term><command>config.rpath</command></term>
    86 <listitem>
    87 <para>Outputs a system-dependent set of variables, describing how to set the
    88 runtime search path of shared libraries in an executable</para>
    89 <indexterm zone="ch-system-gettext config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm>
    90 </listitem>
    91 </varlistentry>
    92 
    93 <varlistentry id="envsubst">
    94 <term><command>envsubst</command></term>
    95 <listitem>
    96 <para>Substitutes environment variables in shell format strings</para>
    97 <indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm>
    98 </listitem>
    99 </varlistentry>
    100 
    101 <varlistentry id="gettext">
    102 <term><command>gettext</command></term>
    103 <listitem>
    104 <para>Translates a natural language message into the user's language
    105 by looking up the translation in a message catalog</para>
    106 <indexterm zone="ch-system-gettext gettext"><primary sortas="b-gettext">gettext</primary></indexterm>
    107 </listitem>
    108 </varlistentry>
    109 
    110 <varlistentry id="gettextize">
    111 <term><command>gettextize</command></term>
    112 <listitem>
    113 <para>Copies all standard Gettext files into the given top-level
    114 directory of a package to begin internationalizing it</para>
    115 <indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm>
    116 </listitem>
    117 </varlistentry>
    118 
    119 <varlistentry id="hostname-gettext">
    120 <term><command>hostname</command></term>
    121 <listitem>
    122 <para>Displays a network hostname in various forms</para>
    123 <indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm>
    124 </listitem>
    125 </varlistentry>
    126 
    127 <varlistentry id="msgattrib">
    128 <term><command>msgattrib</command></term>
    129 <listitem>
    130 <para>Filters the messages of a translation catalog according to their
    131 attributes and manipulates the attributes</para>
    132 <indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm>
    133 </listitem>
    134 </varlistentry>
    135 
    136 <varlistentry id="msgcat">
    137 <term><command>msgcat</command></term>
    138 <listitem>
    139 <para>Concatenates and merges the given <filename class="extension">.po</filename> files</para>
    140 <indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm>
    141 </listitem>
    142 </varlistentry>
    143 
    144 <varlistentry id="msgcmp">
    145 <term><command>msgcmp</command></term>
    146 <listitem>
    147 <para>Compares two <filename class="extension">.po</filename>
    148 files to check that both contain the same set of msgid strings</para>
    149 <indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm>
    150 </listitem>
    151 </varlistentry>
    152 
    153 <varlistentry id="msgcomm">
    154 <term><command>msgcomm</command></term>
    155 <listitem>
    156 <para>Finds the messages that are common to
    157 to the given <filename class="extension">.po</filename> files</para>
    158 <indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm>
    159 </listitem>
    160 </varlistentry>
    161 
    162 <varlistentry id="msgconv">
    163 <term><command>msgconv</command></term>
    164 <listitem>
    165 <para>Converts a translation catalog to a different character encoding</para>
    166 <indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm>
    167 </listitem>
    168 </varlistentry>
    169 
    170 <varlistentry id="msgen">
    171 <term><command>msgen</command></term>
    172 <listitem>
    173 <para>Creates an English translation catalog</para>
    174 <indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm>
    175 </listitem>
    176 </varlistentry>
    177 
    178 <varlistentry id="msgexec">
    179 <term><command>msgexec</command></term>
    180 <listitem>
    181 <para>Applies a command to all translations of a translation catalog</para>
    182 <indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm>
    183 </listitem>
    184 </varlistentry>
    185 
    186 <varlistentry id="msgfilter">
    187 <term><command>msgfilter</command></term>
    188 <listitem>
    189 <para>Applies a filter to all translations of a translation catalog</para>
    190 <indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm>
    191 </listitem>
    192 </varlistentry>
    193 
    194 <varlistentry id="msgfmt">
    195 <term><command>msgfmt</command></term>
    196 <listitem>
    197 <para>Generates a binary message catalog from a translation catalog</para>
    198 <indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm>
    199 </listitem>
    200 </varlistentry>
    201 
    202 <varlistentry id="msggrep">
    203 <term><command>msggrep</command></term>
    204 <listitem>
    205 <para>Extracts all messages of a translation catalog that match a
    206 given pattern or belong to some given source files</para>
    207 <indexterm zone="ch-system-gettext msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm>
    208 </listitem>
    209 </varlistentry>
    210 
    211 <varlistentry id="msginit">
    212 <term><command>msginit</command></term>
    213 <listitem>
    214 <para>Creates a new <filename class="extension">.po</filename> file, initializing the meta
    215 information with values from the user's environment</para>
    216 <indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm>
    217 </listitem>
    218 </varlistentry>
    219 
    220 <varlistentry id="msgmerge">
    221 <term><command>msgmerge</command></term>
    222 <listitem>
    223 <para>Combines two raw translations into a single file</para>
    224 <indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm>
    225 </listitem>
    226 </varlistentry>
    227 
    228 <varlistentry id="msgunfmt">
    229 <term><command>msgunfmt</command></term>
    230 <listitem>
    231 <para>Decompiles a binary message catalog into raw translation text</para>
    232 <indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm>
    233 </listitem>
    234 </varlistentry>
    235 
    236 <varlistentry id="msguniq">
    237 <term><command>msguniq</command></term>
    238 <listitem>
    239 <para>Unifies duplicate translations in a translation catalog</para>
    240 <indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm>
    241 </listitem>
    242 </varlistentry>
    243 
    244 <varlistentry id="ngettext">
    245 <term><command>ngettext</command></term>
    246 <listitem>
    247 <para>Displays native language translations of a textual message whose
    248 grammatical form depends on a number</para>
    249 <indexterm zone="ch-system-gettext ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm>
    250 </listitem>
    251 </varlistentry>
    252 
    253 <varlistentry id="xgettext">
    254 <term><command>xgettext</command></term>
    255 <listitem>
    256 <para>Extracts the translatable message lines from the given source
    257 files to make the first translation template</para>
    258 <indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm>
    259 </listitem>
    260 </varlistentry>
    261 
    262 <varlistentry id="libasprintf">
    263 <term><filename class="libraryfile">libasprintf</filename></term>
    264 <listitem>
    265 <para>defines the <emphasis>autosprintf</emphasis> class, which makes
    266 C formatted output routines usable in C++ programs, for use with the
    267 <emphasis>&lt;string&gt;</emphasis> strings and the
    268 <emphasis>&lt;iostream&gt;</emphasis> streams</para>
    269 <indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm>
    270 </listitem>
    271 </varlistentry>
    272 
    273 <varlistentry id="libgettextlib">
    274 <term><filename class="libraryfile">libgettextlib</filename></term>
    275 <listitem>
    276 <para>a private library containing common routines used by the various Gettext
    277 programs; these are not intended for general use</para>
    278 <indexterm zone="ch-system-gettext libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm>
    279 </listitem>
    280 </varlistentry>
    281 
    282 <varlistentry id="libgettextpo">
    283 <term><filename class="libraryfile">libgettextpo</filename></term>
    284 <listitem>
    285 <para>Used to write specialized programs that process <filename
    286 class="extension">.po</filename> files; this library is used when the
    287 standard applications shipped with Gettext (such as
    288 <command>msgcomm</command>, <command>msgcmp</command>,
    289 <command>msgattrib</command>, and <command>msgen</command>) will not
    290 suffice</para>
    291 <indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm>
    292 </listitem>
    293 </varlistentry>
    294 
    295 <varlistentry id="libgettextsrc">
    296 <term><filename class="libraryfile">libgettextsrc</filename></term>
    297 <listitem>
    298 <para>A private library containing common routines used by the various Gettext
    299 programs; these are not intended for general use</para>
    300 <indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm>
    301 </listitem>
    302 </varlistentry>
    303 </variablelist>
    304 
    305 </sect2>
     65  </sect2>
     66
     67  <sect2 id="contents-gettext" role="content">
     68    <title>Contents of Gettext</title>
     69
     70    <segmentedlist>
     71      <segtitle>Installed programs</segtitle>
     72      <segtitle>Installed libraries</segtitle>
     73
     74      <seglistitem>
     75        <seg>autopoint, config.charset, config.rpath, envsubst, gettext,
     76        gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen,
     77        msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq,
     78        ngettext, and xgettext</seg>
     79        <seg>libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so], and
     80        libgettextsrc.so</seg>
     81      </seglistitem>
     82    </segmentedlist>
     83
     84    <variablelist>
     85      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     86      <?dbfo list-presentation="list"?>
     87      <?dbhtml list-presentation="table"?>
     88
     89      <varlistentry id="autopoint">
     90        <term><command>autopoint</command></term>
     91        <listitem>
     92          <para>Copies standard Gettext infrastructure files into a source
     93          package</para>
     94          <indexterm zone="ch-system-gettext autopoint">
     95            <primary sortas="b-autopoint">autopoint</primary>
     96          </indexterm>
     97        </listitem>
     98      </varlistentry>
     99
     100      <varlistentry id="config.charset">
     101        <term><command>config.charset</command></term>
     102        <listitem>
     103          <para>Outputs a system-dependent table of character encoding
     104          aliases</para>
     105          <indexterm zone="ch-system-gettext config.charset">
     106            <primary sortas="b-config.charset">config.charset</primary>
     107          </indexterm>
     108        </listitem>
     109      </varlistentry>
     110
     111      <varlistentry id="config.rpath">
     112        <term><command>config.rpath</command></term>
     113        <listitem>
     114          <para>Outputs a system-dependent set of variables, describing how
     115          to set the runtime search path of shared libraries in an
     116          executable</para>
     117          <indexterm zone="ch-system-gettext config.rpath">
     118            <primary sortas="b-config.rpath">config.rpath</primary>
     119          </indexterm>
     120        </listitem>
     121      </varlistentry>
     122
     123      <varlistentry id="envsubst">
     124        <term><command>envsubst</command></term>
     125        <listitem>
     126          <para>Substitutes environment variables in shell format strings</para>
     127          <indexterm zone="ch-system-gettext envsubst">
     128            <primary sortas="b-envsubst">envsubst</primary>
     129          </indexterm>
     130        </listitem>
     131      </varlistentry>
     132
     133      <varlistentry id="gettext">
     134        <term><command>gettext</command></term>
     135        <listitem>
     136          <para>Translates a natural language message into the user's language
     137          by looking up the translation in a message catalog</para>
     138          <indexterm zone="ch-system-gettext gettext">
     139            <primary sortas="b-gettext">gettext</primary>
     140          </indexterm>
     141        </listitem>
     142      </varlistentry>
     143
     144      <varlistentry id="gettextize">
     145        <term><command>gettextize</command></term>
     146        <listitem>
     147          <para>Copies all standard Gettext files into the given top-level
     148          directory of a package to begin internationalizing it</para>
     149          <indexterm zone="ch-system-gettext gettextize">
     150            <primary sortas="b-gettextize">gettextize</primary>
     151          </indexterm>
     152        </listitem>
     153      </varlistentry>
     154
     155      <varlistentry id="hostname-gettext">
     156        <term><command>hostname</command></term>
     157        <listitem>
     158          <para>Displays a network hostname in various forms</para>
     159          <indexterm zone="ch-system-gettext hostname-gettext">
     160            <primary sortas="b-hostname-gettext">hostname</primary>
     161          </indexterm>
     162        </listitem>
     163      </varlistentry>
     164
     165      <varlistentry id="msgattrib">
     166        <term><command>msgattrib</command></term>
     167        <listitem>
     168          <para>Filters the messages of a translation catalog according to their
     169          attributes and manipulates the attributes</para>
     170          <indexterm zone="ch-system-gettext msgattrib">
     171            <primary sortas="b-msgattrib">msgattrib</primary>
     172          </indexterm>
     173        </listitem>
     174      </varlistentry>
     175
     176      <varlistentry id="msgcat">
     177        <term><command>msgcat</command></term>
     178        <listitem>
     179          <para>Concatenates and merges the given
     180          <filename class="extension">.po</filename> files</para>
     181          <indexterm zone="ch-system-gettext msgcat">
     182            <primary sortas="b-msgcat">msgcat</primary>
     183          </indexterm>
     184        </listitem>
     185      </varlistentry>
     186
     187      <varlistentry id="msgcmp">
     188        <term><command>msgcmp</command></term>
     189        <listitem>
     190          <para>Compares two <filename class="extension">.po</filename>
     191          files to check that both contain the same set of msgid strings</para>
     192          <indexterm zone="ch-system-gettext msgcmp">
     193            <primary sortas="b-msgcmp">msgcmp</primary>
     194          </indexterm>
     195        </listitem>
     196      </varlistentry>
     197
     198      <varlistentry id="msgcomm">
     199        <term><command>msgcomm</command></term>
     200        <listitem>
     201          <para>Finds the messages that are common to to the given
     202          <filename class="extension">.po</filename> files</para>
     203          <indexterm zone="ch-system-gettext msgcomm">
     204            <primary sortas="b-msgcomm">msgcomm</primary>
     205          </indexterm>
     206        </listitem>
     207      </varlistentry>
     208
     209      <varlistentry id="msgconv">
     210        <term><command>msgconv</command></term>
     211        <listitem>
     212          <para>Converts a translation catalog to a different character
     213          encoding</para>
     214          <indexterm zone="ch-system-gettext msgconv">
     215            <primary sortas="b-msgconv">msgconv</primary>
     216          </indexterm>
     217        </listitem>
     218      </varlistentry>
     219
     220      <varlistentry id="msgen">
     221        <term><command>msgen</command></term>
     222        <listitem>
     223          <para>Creates an English translation catalog</para>
     224          <indexterm zone="ch-system-gettext msgen">
     225            <primary sortas="b-msgen">msgen</primary>
     226          </indexterm>
     227        </listitem>
     228      </varlistentry>
     229
     230      <varlistentry id="msgexec">
     231        <term><command>msgexec</command></term>
     232        <listitem>
     233          <para>Applies a command to all translations of a translation
     234          catalog</para>
     235          <indexterm zone="ch-system-gettext msgexec">
     236            <primary sortas="b-msgexec">msgexec</primary>
     237          </indexterm>
     238        </listitem>
     239      </varlistentry>
     240
     241      <varlistentry id="msgfilter">
     242        <term><command>msgfilter</command></term>
     243        <listitem>
     244          <para>Applies a filter to all translations of a translation
     245          catalog</para>
     246          <indexterm zone="ch-system-gettext msgfilter">
     247            <primary sortas="b-msgfilter">msgfilter</primary>
     248          </indexterm>
     249        </listitem>
     250      </varlistentry>
     251
     252      <varlistentry id="msgfmt">
     253        <term><command>msgfmt</command></term>
     254        <listitem>
     255          <para>Generates a binary message catalog from a translation
     256          catalog</para>
     257          <indexterm zone="ch-system-gettext msgfmt">
     258            <primary sortas="b-msgfmt">msgfmt</primary>
     259          </indexterm>
     260        </listitem>
     261      </varlistentry>
     262
     263      <varlistentry id="msggrep">
     264        <term><command>msggrep</command></term>
     265        <listitem>
     266          <para>Extracts all messages of a translation catalog that match a
     267          given pattern or belong to some given source files</para>
     268          <indexterm zone="ch-system-gettext msggrep">
     269            <primary sortas="b-msggrep">msggrep</primary>
     270          </indexterm>
     271        </listitem>
     272      </varlistentry>
     273
     274      <varlistentry id="msginit">
     275        <term><command>msginit</command></term>
     276        <listitem>
     277          <para>Creates a new <filename class="extension">.po</filename> file,
     278          initializing the meta information with values from the user's
     279          environment</para>
     280          <indexterm zone="ch-system-gettext msginit">
     281            <primary sortas="b-msginit">msginit</primary>
     282          </indexterm>
     283        </listitem>
     284      </varlistentry>
     285
     286      <varlistentry id="msgmerge">
     287        <term><command>msgmerge</command></term>
     288        <listitem>
     289          <para>Combines two raw translations into a single file</para>
     290          <indexterm zone="ch-system-gettext msgmerge">
     291            <primary sortas="b-msgmerge">msgmerge</primary>
     292          </indexterm>
     293        </listitem>
     294      </varlistentry>
     295
     296      <varlistentry id="msgunfmt">
     297        <term><command>msgunfmt</command></term>
     298        <listitem>
     299          <para>Decompiles a binary message catalog into raw translation
     300          text</para>
     301          <indexterm zone="ch-system-gettext msgunfmt">
     302            <primary sortas="b-msgunfmt">msgunfmt</primary>
     303          </indexterm>
     304        </listitem>
     305      </varlistentry>
     306
     307      <varlistentry id="msguniq">
     308        <term><command>msguniq</command></term>
     309        <listitem>
     310          <para>Unifies duplicate translations in a translation catalog</para>
     311          <indexterm zone="ch-system-gettext msguniq">
     312            <primary sortas="b-msguniq">msguniq</primary>
     313          </indexterm>
     314        </listitem>
     315      </varlistentry>
     316
     317      <varlistentry id="ngettext">
     318        <term><command>ngettext</command></term>
     319        <listitem>
     320          <para>Displays native language translations of a textual message whose
     321          grammatical form depends on a number</para>
     322          <indexterm zone="ch-system-gettext ngettext">
     323            <primary sortas="b-ngettext">ngettext</primary>
     324          </indexterm>
     325        </listitem>
     326      </varlistentry>
     327
     328      <varlistentry id="xgettext">
     329        <term><command>xgettext</command></term>
     330        <listitem>
     331          <para>Extracts the translatable message lines from the given source
     332          files to make the first translation template</para>
     333          <indexterm zone="ch-system-gettext xgettext">
     334            <primary sortas="b-xgettext">xgettext</primary>
     335          </indexterm>
     336        </listitem>
     337      </varlistentry>
     338
     339      <varlistentry id="libasprintf">
     340        <term><filename class="libraryfile">libasprintf</filename></term>
     341        <listitem>
     342          <para>defines the <emphasis>autosprintf</emphasis> class, which makes
     343          C formatted output routines usable in C++ programs, for use with the
     344          <emphasis>&lt;string&gt;</emphasis> strings and the
     345          <emphasis>&lt;iostream&gt;</emphasis> streams</para>
     346          <indexterm zone="ch-system-gettext libasprintf">
     347            <primary sortas="c-libasprintf">libasprintf</primary>
     348          </indexterm>
     349        </listitem>
     350      </varlistentry>
     351
     352      <varlistentry id="libgettextlib">
     353        <term><filename class="libraryfile">libgettextlib</filename></term>
     354        <listitem>
     355          <para>a private library containing common routines used by the
     356          various Gettext programs; these are not intended for general use</para>
     357          <indexterm zone="ch-system-gettext libgettextlib">
     358            <primary sortas="c-libgettextlib">libgettextlib</primary>
     359          </indexterm>
     360        </listitem>
     361      </varlistentry>
     362
     363      <varlistentry id="libgettextpo">
     364        <term><filename class="libraryfile">libgettextpo</filename></term>
     365        <listitem>
     366          <para>Used to write specialized programs that process
     367          <filename class="extension">.po</filename> files; this library is
     368          used when the standard applications shipped with Gettext (such as
     369          <command>msgcomm</command>, <command>msgcmp</command>,
     370          <command>msgattrib</command>, and <command>msgen</command>) will
     371          not suffice</para>
     372          <indexterm zone="ch-system-gettext libgettextpo">
     373            <primary sortas="c-libgettextpo">libgettextpo</primary>
     374          </indexterm>
     375        </listitem>
     376      </varlistentry>
     377
     378      <varlistentry id="libgettextsrc">
     379        <term><filename class="libraryfile">libgettextsrc</filename></term>
     380        <listitem>
     381          <para>A private library containing common routines used by the
     382          various Gettext programs; these are not intended for general use</para>
     383          <indexterm zone="ch-system-gettext libgettextsrc">
     384            <primary sortas="c-libgettextsrc">libgettextsrc</primary>
     385          </indexterm>
     386        </listitem>
     387      </varlistentry>
     388
     389    </variablelist>
     390
     391  </sect2>
    306392
    307393</sect1>
    308 
  • chapter06/glibc.xml

    rfa994c9 r73c180db  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-glibc" role="wrap">
    7 <title>Glibc-&glibc-version;</title>
    8 <?dbhtml filename="glibc.html"?>
    9 
    10 <indexterm zone="ch-system-glibc"><primary sortas="a-Glibc">Glibc</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Glibc package contains the main C library. This library provides
    14 the basic routines for allocating memory, searching directories, opening and
    15 closing files, reading and writing files, string handling, pattern matching,
    16 arithmetic, and so on.</para>
    17 
    18 <segmentedlist>
    19 <segtitle>&buildtime;</segtitle>
    20 <segtitle>&diskspace;</segtitle>
    21 <seglistitem><seg>16.7 SBU</seg><seg>500 MB</seg></seglistitem>
    22 </segmentedlist>
    23 
    24 <segmentedlist>
    25 <segtitle>&dependencies;</segtitle>
    26 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    27 Gawk, GCC, Gettext, Grep, Make, Perl, Sed, and Texinfo</seg></seglistitem>
    28 </segmentedlist>
    29 </sect2>
    30 
    31 <sect2 role="installation">
    32 <title>Installation of Glibc</title>
    33 
    34 <note><para>Some packages outside of LFS suggest installing GNU libiconv in
    35 order to translate data from one encoding to another.  The project's home page
    36 (<ulink url="http://www.gnu.org/software/libiconv/"/>) says <quote>This library
    37 provides an <function>iconv()</function> implementation, for use on systems
    38 which don't have one, or whose implementation cannot convert from/to Unicode.
    39 </quote>  Glibc provides an <function>iconv()</function> implementation and can
    40 convert from/to Unicode, therefore libiconv is not required on an LFS
    41 system.</para></note>
    42 
    43 <para>The Glibc build system is self-contained and will install
    44 perfectly, even though the compiler specs file and linker are still
    45 pointing at <filename class="directory">/tools</filename>. The specs
    46 and linker cannot be adjusted before the Glibc install because the
    47 Glibc autoconf tests would give false results and defeat the goal
    48 of achieving a clean build.</para>
    49 
    50 <para>The glibc-libidn tarball adds support for internationalized
    51 domain names (IDN) to Glibc. Many programs that
    52 support IDN require the full libidn library (see
    53 <ulink url="&blfs-root;view/svn/general/libidn.html"/>),
    54 not this add-on.
    55 Unpack the tarball from within the Glibc source
    56 directory:</para>
     9  <?dbhtml filename="glibc.html"?>
     10
     11  <title>Glibc-&glibc-version;</title>
     12
     13  <indexterm zone="ch-system-glibc">
     14    <primary sortas="a-Glibc">Glibc</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Glibc package contains the main C library. This library provides
     21    the basic routines for allocating memory, searching directories, opening and
     22    closing files, reading and writing files, string handling, pattern matching,
     23    arithmetic, and so on.</para>
     24
     25    <segmentedlist>
     26      <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
     28
     29      <seglistitem>
     30        <seg>16.7 SBU</seg>
     31        <seg>500 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
     34
     35    <segmentedlist>
     36      <segtitle>&dependencies;</segtitle>
     37
     38      <seglistitem>
     39        <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep,
     40        Make, Perl, Sed, and Texinfo</seg>
     41      </seglistitem>
     42    </segmentedlist>
     43
     44  </sect2>
     45
     46  <sect2 role="installation">
     47    <title>Installation of Glibc</title>
     48
     49    <note>
     50      <para>Some packages outside of LFS suggest installing GNU libiconv in
     51      order to translate data from one encoding to another. The project's
     52      home page (<ulink url="http://www.gnu.org/software/libiconv/"/>) says
     53      <quote>This library provides an <function>iconv()</function>
     54      implementation, for use on systems which don't have one, or whose
     55      implementation cannot convert from/to Unicode.</quote> Glibc provides
     56      an <function>iconv()</function> implementation and can convert from/to
     57      Unicode, therefore libiconv is not required on an LFS system.</para>
     58    </note>
     59
     60    <para>The Glibc build system is self-contained and will install
     61    perfectly, even though the compiler specs file and linker are still
     62    pointing at <filename class="directory">/tools</filename>. The specs
     63    and linker cannot be adjusted before the Glibc install because the
     64    Glibc autoconf tests would give false results and defeat the goal
     65    of achieving a clean build.</para>
     66
     67    <para>The glibc-libidn tarball adds support for internationalized domain
     68    names (IDN) to Glibc. Many programs that support IDN require the full
     69    <filename class="libraryfile">libidn</filename> library (see
     70    <ulink url="&blfs-root;view/svn/general/libidn.html"/>), not this add-on.
     71    Unpack the tarball from within the Glibc source directory:</para>
    5772
    5873<screen><userinput>tar -xf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen>
    5974
    60 <para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop
    61 at startup. It is unknown whether this is a <command>bash</command> bug or a
    62 Glibc problem. Disable installation of this locale in order to avoid the
    63 problem:</para>
     75    <para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop
     76    at startup. It is unknown whether this is a <command>bash</command> bug or a
     77    Glibc problem. Disable installation of this locale in order to avoid the
     78    problem:</para>
    6479
    6580<screen><userinput>sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen>
    6681
    67 <para>When running <command>make install</command>, a script called
    68 <filename>test-installation.pl</filename> performs a small sanity test
    69 on our newly installed Glibc. However, because our toolchain still points to the
    70 <filename class="directory">/tools</filename> directory, the sanity test would
    71 be carried out against the wrong Glibc. We can force the script to check the
    72 Glibc we have just installed with the following:</para>
     82    <para>When running <command>make install</command>, a script called
     83    <filename>test-installation.pl</filename> performs a small sanity test on
     84    our newly installed Glibc. However, because our toolchain still points to
     85    the <filename class="directory">/tools</filename> directory, the sanity
     86    test would be carried out against the wrong Glibc. We can force the script
     87    to check the Glibc we have just installed with the following:</para>
    7388
    7489<screen><userinput>sed -i \
     
    7691        scripts/test-installation.pl</userinput></screen>
    7792
    78 <para>The Glibc documentation recommends building Glibc outside of the source
    79 directory in a dedicated build directory:</para>
     93    <para>The Glibc documentation recommends building Glibc outside of the source
     94    directory in a dedicated build directory:</para>
    8095
    8196<screen><userinput>mkdir -v ../glibc-build
    8297cd ../glibc-build</userinput></screen>
    8398
    84 <para>Prepare Glibc for compilation:</para>
     99    <para>Prepare Glibc for compilation:</para>
    85100
    86101<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
     
    88103    --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc</userinput></screen>
    89104
    90 <para>The meaning of the new configure options:</para>
    91 
    92 <variablelist>
    93 <varlistentry>
    94 <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
    95 <listitem><para>This changes the location of the
    96 <command>pt_chown</command> program from its default of <filename
    97 class="directory">/usr/libexec</filename> to <filename
    98 class="directory">/usr/lib/glibc</filename>.</para></listitem>
    99 </varlistentry>
    100 </variablelist>
    101 
    102 <para>Compile the package:</para>
     105    <variablelist>
     106      <title>The meaning of the new configure options:</title>
     107
     108      <varlistentry>
     109        <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
     110        <listitem>
     111          <para>This changes the location of the <command>pt_chown</command>
     112          program from its default of <filename
     113          class="directory">/usr/libexec</filename> to <filename
     114          class="directory">/usr/lib/glibc</filename>.</para>
     115        </listitem>
     116      </varlistentry>
     117
     118    </variablelist>
     119
     120    <para>Compile the package:</para>
    103121
    104122<screen><userinput>make</userinput></screen>
    105123
    106 <important><para>In this section, the test suite for Glibc is
    107 considered critical. Do not skip it under any
    108 circumstance.</para></important>
    109 
    110 <para>Test the results:</para>
     124    <important>
     125      <para>In this section, the test suite for Glibc is considered critical.
     126      Do not skip it under any circumstance.</para>
     127    </important>
     128
     129    <para>Test the results:</para>
    111130
    112131<screen><userinput>make -k check &gt;glibc-check-log 2&gt;&amp;1
    113132grep Error glibc-check-log</userinput></screen>
    114133
    115 <para>On at least i686 you can expect to see failures in the <emphasis>test-double
    116 </emphasis> and <emphasis>test-idouble</emphasis> math tests with
    117 gcc-&gcc-version;, as well as an expected (ignored) failure in <emphasis>
    118 posix/annexc</emphasis>.  These two failures in the math tests appear to be
    119 harmless.</para>
    120 
    121 <para>The Glibc test suite is highly dependent on certain functions of
    122 the host system, in particular the kernel. In certain circumstances,
    123 some failures are unavoidable. This is a list of the most common
    124 issues:</para>
    125 
    126 <itemizedlist>
    127 <listitem><para>The <emphasis>math</emphasis> tests sometimes fail in other tests
    128 when running
    129 on systems where the CPU is not a relatively new genuine Intel or authentic AMD.
    130 Certain optimization settings are also known to be a factor here.</para></listitem>
    131 
    132 <listitem><para>The <emphasis>gettext</emphasis> test sometimes fails due to
    133 host system issues. The exact reasons are not yet clear.</para></listitem>
    134 
    135 <listitem><para>If you have mounted the LFS partition with the
    136 <parameter>noatime</parameter> option, the <emphasis>atime</emphasis> test will
    137 fail. As mentioned in <xref linkend="space-mounting"/>, do not use the
    138 <parameter>noatime</parameter> option while building LFS.</para></listitem>
    139 
    140 <listitem><para>When running on older and slower hardware, some tests
    141 can fail because of test timeouts being exceeded.</para></listitem>
    142 </itemizedlist>
    143 
    144 <para>Though it is a harmless message, the install stage of Glibc will
    145 complain about the absence of <filename>/etc/ld.so.conf</filename>.
    146 Prevent this warning with:</para>
     134    <para>On at least i686 you can expect to see failures in the
     135    <emphasis>test-double </emphasis> and <emphasis>test-idouble</emphasis>
     136    math tests with gcc-&gcc-version;, as well as an expected (ignored)
     137    failure in <emphasis> posix/annexc</emphasis>.  These two failures in
     138    the math tests appear to be harmless.</para>
     139
     140    <para>The Glibc test suite is highly dependent on certain functions of
     141    the host system, in particular the kernel. In certain circumstances,
     142    some failures are unavoidable. This is a list of the most common
     143    issues:</para>
     144
     145    <itemizedlist>
     146      <listitem>
     147        <para>The <emphasis>math</emphasis> tests sometimes fail in other
     148        tests when running on systems where the CPU is not a relatively
     149        new genuine Intel or authentic AMD. Certain optimization settings
     150        are also known to be a factor here.</para>
     151      </listitem>
     152      <listitem>
     153        <para>The <emphasis>gettext</emphasis> test sometimes fails due to
     154        host system issues. The exact reasons are not yet clear.</para>
     155      </listitem>
     156      <listitem>
     157        <para>If you have mounted the LFS partition with the
     158        <parameter>noatime</parameter> option, the <emphasis>atime</emphasis>
     159        test will fail. As mentioned in <xref linkend="space-mounting"/>, do not
     160        use the <parameter>noatime</parameter> option while building LFS.</para>
     161      </listitem>
     162      <listitem>
     163        <para>When running on older and slower hardware, some tests
     164        can fail because of test timeouts being exceeded.</para>
     165      </listitem>
     166    </itemizedlist>
     167
     168    <para>Though it is a harmless message, the install stage of Glibc will
     169    complain about the absence of <filename>/etc/ld.so.conf</filename>.
     170    Prevent this warning with:</para>
    147171
    148172<screen><userinput>touch /etc/ld.so.conf</userinput></screen>
    149173
    150 <para>Install the package:</para>
     174    <para>Install the package:</para>
    151175
    152176<screen><userinput>make install</userinput></screen>
    153177
    154 <para>The locales that can make the system respond in a different
    155 language were not installed by the above command. None of the
    156 locales are required, but, if some of them are misssing, testuites of the
    157 future packages would skip important testcases.</para>
    158 
    159 <para>Individual locales can be installed using the <command>localedef</command>
    160 program. E.g., the first <command>localedef</command> command below combines
    161 the <filename>/usr/share/i18n/locales/de_DE</filename> charset-independent
    162 locale definition with the
    163 <filename>/usr/share/i18n/charmaps/ISO-8859-1.gz</filename> charmap definition
    164 and appends the result to the
    165 <filename>/usr/lib/locale/locale-archive</filename> file. The following
    166 instructions will install the minimum set of locales necessary
    167 for the optimal coverage of tests:</para>
     178    <para>The locales that can make the system respond in a different language
     179    were not installed by the above command. None of the locales are required,
     180    but, if some of them are misssing, testuites of the future packages would
     181    skip important testcases.</para>
     182
     183    <para>Individual locales can be installed using the
     184    <command>localedef</command> program. E.g., the first
     185    <command>localedef</command> command below combines the
     186    <filename>/usr/share/i18n/locales/de_DE</filename>
     187    charset-independent locale definition with the
     188    <filename>/usr/share/i18n/charmaps/ISO-8859-1.gz</filename>
     189    charmap definition and appends the result to the
     190    <filename>/usr/lib/locale/locale-archive</filename> file.
     191    The following instructions will install the minimum set of
     192    locales necessary for the optimal coverage of tests:</para>
    168193
    169194<screen role="nodump"><userinput>mkdir -pv /usr/lib/locale
     
    182207localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
    183208
    184 <para>In addition, install the locale for your own country, language and
    185 character set.</para>
    186 
    187 <para>Alternatively, install all locales
    188 listed in the <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename>
    189 file (it includes every locale listed above and many more)
    190 at once with the following time-consuming command:</para>
     209    <para>In addition, install the locale for your own country, language and
     210    character set.</para>
     211
     212    <para>Alternatively, install all locales listed in the
     213    <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file
     214    (it includes every locale listed above and many more) at once with the
     215    following time-consuming command:</para>
    191216
    192217<screen><userinput>make localedata/install-locales</userinput></screen>
    193218
    194 <para>Then use the <command>localedef</command> command to create and
    195 install locales not listed in the
    196 <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file
    197 in the unlikely case if you need them.</para>
    198 <!-- The Live CD patches the localedata/SUPPORTED file instead of
    199 running localedef, the results are equivalent -->
    200 
    201 </sect2>
    202 
    203 <sect2 id="conf-glibc" role="configuration"><title>Configuring Glibc</title>
    204 <indexterm zone="conf-glibc"><primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm>
    205 <indexterm zone="conf-glibc"><primary sortas="e-/etc/localtime">/etc/localtime</primary></indexterm>
    206 
    207 <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created
    208 because, although Glibc provides defaults when this file is missing or corrupt,
    209 the Glibc defaults do not work well in a networked environment. The time zone
    210 also needs to be configured.</para>
    211 
    212 <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the
    213 following:</para>
     219    <para>Then use the <command>localedef</command> command to create and
     220    install locales not listed in the
     221    <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file
     222    in the unlikely case if you need them.</para>
     223    <!-- The Live CD patches the localedata/SUPPORTED file instead of
     224    running localedef, the results are equivalent -->
     225
     226  </sect2>
     227
     228  <sect2 id="conf-glibc" role="configuration">
     229    <title>Configuring Glibc</title>
     230
     231    <indexterm zone="conf-glibc">
     232      <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary>
     233    </indexterm>
     234
     235    <indexterm zone="conf-glibc">
     236      <primary sortas="e-/etc/localtime">/etc/localtime</primary>
     237    </indexterm>
     238
     239    <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created
     240    because, although Glibc provides defaults when this file is missing or corrupt,
     241    the Glibc defaults do not work well in a networked environment. The time zone
     242    also needs to be configured.</para>
     243
     244    <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the
     245    following:</para>
    214246
    215247<screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
     
    231263EOF</userinput></screen>
    232264
    233 <para>To determine the local time zone, run the following script:</para>
     265    <para>To determine the local time zone, run the following script:</para>
    234266
    235267<screen role="nodump"><userinput>tzselect</userinput></screen>
    236268
    237 <para>After answering a few questions about the location, the script
    238 will output the name of the time zone (e.g.,
    239 <emphasis>EST5EDT</emphasis> or <emphasis>Canada/Eastern</emphasis>).
    240 Then create the <filename>/etc/localtime</filename> file by
    241 running:</para>
     269    <para>After answering a few questions about the location, the script will
     270    output the name of the time zone (e.g., <emphasis>EST5EDT</emphasis> or
     271    <emphasis>Canada/Eastern</emphasis>). Then create the
     272    <filename>/etc/localtime</filename> file by running:</para>
    242273
    243274<screen><userinput>cp -v --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \
    244275    /etc/localtime</userinput></screen>
    245276
    246 <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone
    247 that <command>tzselect</command> provided (e.g., Canada/Eastern).</para>
    248 
    249 <para>The meaning of the cp option:</para>
    250 
    251 <variablelist>
    252 <varlistentry>
    253 <term><parameter>--remove-destination</parameter></term>
    254 <listitem><para>This is needed to force removal of the already
    255 existing symbolic link. The reason for copying the file instead of
    256 using a symlink is to cover the situation where <filename
    257 class="directory">/usr</filename> is on a separate partition. This
    258 could be important when booted into single user
    259 mode.</para></listitem>
    260 </varlistentry>
    261 </variablelist>
    262 
    263 </sect2>
    264 
    265 
    266 <sect2 id="conf-ld" role="configuration">
    267 <title>Configuring the Dynamic Loader</title>
    268 <indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
    269 
    270 <para>By default, the dynamic loader (<filename
    271 class="libraryfile">/lib/ld-linux.so.2</filename>) searches through
    272 <filename class="directory">/lib</filename> and <filename
    273 class="directory">/usr/lib</filename> for dynamic libraries that are
    274 needed by programs as they are run. However, if there are libraries in
    275 directories other than <filename class="directory">/lib</filename> and
    276 <filename class="directory">/usr/lib</filename>, these need to be
    277 added to the <filename>/etc/ld.so.conf</filename> file in order
    278 for the dynamic loader to find them. Two directories that are commonly
    279 known to contain additional libraries are <filename
    280 class="directory">/usr/local/lib</filename> and <filename
    281 class="directory">/opt/lib</filename>, so add those directories to the
    282 dynamic loader's search path.</para>
    283 
    284 <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
    285 following:</para>
     277    <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone
     278    that <command>tzselect</command> provided (e.g., Canada/Eastern).</para>
     279
     280    <variablelist>
     281      <title>The meaning of the cp option:</title>
     282
     283      <varlistentry>
     284        <term><parameter>--remove-destination</parameter></term>
     285        <listitem>
     286          <para>This is needed to force removal of the already existing symbolic
     287          link. The reason for copying the file instead of using a symlink is to
     288          cover the situation where <filename class="directory">/usr</filename>
     289          is on a separate partition. This could be important when booted into
     290          single user mode.</para>
     291        </listitem>
     292      </varlistentry>
     293
     294    </variablelist>
     295
     296  </sect2>
     297
     298  <sect2 id="conf-ld" role="configuration">
     299    <title>Configuring the Dynamic Loader</title>
     300
     301    <indexterm zone="conf-ld">
     302      <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
     303    </indexterm>
     304
     305    <para>By default, the dynamic loader (<filename
     306    class="libraryfile">/lib/ld-linux.so.2</filename>) searches through
     307    <filename class="directory">/lib</filename> and <filename
     308    class="directory">/usr/lib</filename> for dynamic libraries that are
     309    needed by programs as they are run. However, if there are libraries in
     310    directories other than <filename class="directory">/lib</filename> and
     311    <filename class="directory">/usr/lib</filename>, these need to be added
     312    to the <filename>/etc/ld.so.conf</filename> file in order for the
     313    dynamic loader to find them. Two directories that are commonly known
     314    to contain additional libraries are <filename
     315    class="directory">/usr/local/lib</filename> and <filename
     316    class="directory">/opt/lib</filename>, so add those directories to the
     317    dynamic loader's search path.</para>
     318
     319    <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
     320    following:</para>
    286321
    287322<screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
     
    294329EOF</userinput></screen>
    295330
    296 </sect2>
    297 
    298 <sect2 id="contents-glibc" role="content"><title>Contents of Glibc</title>
    299 
    300 <segmentedlist>
    301 <segtitle>Installed programs</segtitle>
    302 <segtitle>Installed libraries</segtitle>
    303 <seglistitem><seg>catchsegv, gencat, getconf,
    304 getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
    305 localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
    306 rpcinfo, sln, sprof, tzselect, xtrace, zdump, and zic</seg>
    307 <seg>ld.so, libBrokenLocale.[a,so],
    308 libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libcidn.so,
    309 libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
    310 libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
    311 libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
    312 libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so],
    313 libthread_db.so, and libutil.[a,so]</seg></seglistitem>
    314 </segmentedlist>
    315 
    316 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    317 <?dbfo list-presentation="list"?>
    318 <?dbhtml list-presentation="table"?>
    319 
    320 <varlistentry id="catchsegv">
    321 <term><command>catchsegv</command></term>
    322 <listitem>
    323 <para>Can be used to create a stack trace when a program
    324 terminates with a segmentation fault</para>
    325 <indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm>
    326 </listitem>
    327 </varlistentry>
    328 
    329 <varlistentry id="gencat">
    330 <term><command>gencat</command></term>
    331 <listitem>
    332 <para>Generates message catalogues</para>
    333 <indexterm zone="ch-system-glibc gencat"><primary sortas="b-gencat">gencat</primary></indexterm>
    334 </listitem>
    335 </varlistentry>
    336 
    337 <varlistentry id="getconf">
    338 <term><command>getconf</command></term>
    339 <listitem>
    340 <para>Displays the system configuration values for file system specific variables</para>
    341 <indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm>
    342 </listitem>
    343 </varlistentry>
    344 
    345 <varlistentry id="getent">
    346 <term><command>getent</command></term>
    347 <listitem>
    348 <para>Gets entries from an administrative database</para>
    349 <indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm>
    350 </listitem>
    351 </varlistentry>
    352 
    353 <varlistentry id="iconv">
    354 <term><command>iconv</command></term>
    355 <listitem>
    356 <para>Performs character set conversion</para>
    357 <indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm>
    358 </listitem>
    359 </varlistentry>
    360 
    361 <varlistentry id="iconvconfig">
    362 <term><command>iconvconfig</command></term>
    363 <listitem>
    364 <para>Creates fastloading <command>iconv</command> module configuration files</para>
    365 <indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm>
    366 </listitem>
    367 </varlistentry>
    368 
    369 <varlistentry id="ldconfig">
    370 <term><command>ldconfig</command></term>
    371 <listitem>
    372 <para>Configures the dynamic linker runtime bindings</para>
    373 <indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm>
    374 </listitem>
    375 </varlistentry>
    376 
    377 <varlistentry id="ldd">
    378 <term><command>ldd</command></term>
    379 <listitem>
    380 <para>Reports which shared libraries are required
    381 by each given program or shared library</para>
    382 <indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm>
    383 </listitem>
    384 </varlistentry>
    385 
    386 <varlistentry id="lddlibc4">
    387 <term><command>lddlibc4</command></term>
    388 <listitem>
    389 <para>Assists <command>ldd</command> with object files</para>
    390 <indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm>
    391 </listitem>
    392 </varlistentry>
    393 
    394 <varlistentry id="locale">
    395 <term><command>locale</command></term>
    396 <listitem>
    397 <para>Prints various information about the current locale</para>
    398 <indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm>
    399 </listitem>
    400 </varlistentry>
    401 
    402 <varlistentry id="localedef">
    403 <term><command>localedef</command></term>
    404 <listitem>
    405 <para>Compiles locale specifications</para>
    406 <indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm>
    407 </listitem>
    408 </varlistentry>
    409 
    410 <varlistentry id="mtrace">
    411 <term><command>mtrace</command></term>
    412 <listitem>
    413 <para>Reads and interprets a memory trace file and displays a summary in human-readable format</para>
    414 <indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm>
    415 </listitem>
    416 </varlistentry>
    417 
    418 <varlistentry id="nscd">
    419 <term><command>nscd</command></term>
    420 <listitem>
    421 <para>A daemon that provides a cache for the most common name
    422 service requests</para>
    423 <indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm>
    424 </listitem>
    425 </varlistentry>
    426 
    427 <varlistentry id="nscd_nischeck">
    428 <term><command>nscd_nischeck</command></term>
    429 <listitem>
    430 <para>Checks whether or not secure mode is necessary for NIS+ lookup</para>
    431 <indexterm zone="ch-system-glibc nscd_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
    432 </listitem>
    433 </varlistentry>
    434 
    435 <varlistentry id="pcprofiledump">
    436 <term><command>pcprofiledump</command></term>
    437 <listitem>
    438 <para>Dumps information generated by PC profiling</para>
    439 <indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
    440 </listitem>
    441 </varlistentry>
    442 
    443 <varlistentry id="pt_chown">
    444 <term><command>pt_chown</command></term>
    445 <listitem>
    446 <para>A helper program for <command>grantpt</command> to set
    447 the owner, group and access permissions of a slave pseudo terminal</para>
    448 <indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm>
    449 </listitem>
    450 </varlistentry>
    451 
    452 <varlistentry id="rpcgen">
    453 <term><command>rpcgen</command></term>
    454 <listitem>
    455 <para>Generates C code to implement the Remote Procecure Call (RPC) protocol</para>
    456 <indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm>
    457 </listitem>
    458 </varlistentry>
    459 
    460 <varlistentry id="rpcinfo">
    461 <term><command>rpcinfo</command></term>
    462 <listitem>
    463 <para>Makes an RPC call to an RPC server</para>
    464 <indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm>
    465 </listitem>
    466 </varlistentry>
    467 
    468 <varlistentry id="sln">
    469 <term><command>sln</command></term>
    470 <listitem>
    471 <para>A statically linked <command>ln</command> program</para>
    472 <indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm>
    473 </listitem>
    474 </varlistentry>
    475 
    476 <varlistentry id="sprof">
    477 <term><command>sprof</command></term>
    478 <listitem>
    479 <para>Reads and displays shared object profiling data</para>
    480 <indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm>
    481 </listitem>
    482 </varlistentry>
    483 
    484 <varlistentry id="tzselect">
    485 <term><command>tzselect</command></term>
    486 <listitem>
    487 <para>Asks the user about the location of the
    488 system and reports the corresponding time zone description</para>
    489 <indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm>
    490 </listitem>
    491 </varlistentry>
    492 
    493 <varlistentry id="xtrace">
    494 <term><command>xtrace</command></term>
    495 <listitem>
    496 <para>Traces the execution of a program by
    497 printing the currently executed function</para>
    498 <indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm>
    499 </listitem>
    500 </varlistentry>
    501 
    502 <varlistentry id="zdump">
    503 <term><command>zdump</command></term>
    504 <listitem>
    505 <para>The time zone dumper</para>
    506 <indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm>
    507 </listitem>
    508 </varlistentry>
    509 
    510 <varlistentry id="zic">
    511 <term><command>zic</command></term>
    512 <listitem>
    513 <para>The time zone compiler</para>
    514 <indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm>
    515 </listitem>
    516 </varlistentry>
    517 
    518 <varlistentry id="ld.so">
    519 <term><filename class="libraryfile">ld.so</filename></term>
    520 <listitem>
    521 <para>The helper program for shared library executables</para>
    522 <indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm>
    523 </listitem>
    524 </varlistentry>
    525 
    526 <varlistentry id="libBrokenLocale">
    527 <term><filename class="libraryfile">libBrokenLocale</filename></term>
    528 <listitem>
    529 <para>Used internally by Glibc as a gross hack to get broken programs
    530 (e.g., some Motif applications) running. See comments in
    531 <filename>glibc-&glibc-version;/locale/broken_cur_max.c</filename> for more
    532 information</para>
    533 <indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
    534 </listitem>
    535 </varlistentry>
    536 
    537 <varlistentry id="libSegFault">
    538 <term><filename class="libraryfile">libSegFault</filename></term>
    539 <listitem>
    540 <para>The segmentation fault signal handler, used by
    541 <command>catchsegv</command></para>
    542 <indexterm zone="ch-system-glibc libSegFault"><primary sortas="c-libSegFault">libSegFault</primary></indexterm>
    543 </listitem>
    544 </varlistentry>
    545 
    546 <varlistentry id="libanl">
    547 <term><filename class="libraryfile">libanl</filename></term>
    548 <listitem>
    549 <para>An asynchronous name lookup library</para>
    550 <indexterm zone="ch-system-glibc libanl"><primary sortas="c-libanl">libanl</primary></indexterm>
    551 </listitem>
    552 </varlistentry>
    553 
    554 <varlistentry id="libbsd-compat">
    555 <term><filename class="libraryfile">libbsd-compat</filename></term>
    556 <listitem>
    557 <para>Provides the portability needed
    558 in order to run certain Berkey Software Distribution (BSD) programs under Linux</para>
    559 <indexterm zone="ch-system-glibc libbsd-compat"><primary sortas="c-libbsd-compat">libbsd-compat</primary></indexterm>
    560 </listitem>
    561 </varlistentry>
    562 
    563 <varlistentry id="libc">
    564 <term><filename class="libraryfile">libc</filename></term>
    565 <listitem>
    566 <para>The main C library</para>
    567 <indexterm zone="ch-system-glibc libc"><primary sortas="c-libc">libc</primary></indexterm>
    568 </listitem>
    569 </varlistentry>
    570 
    571 <varlistentry id="libcidn">
    572 <term><filename class="libraryfile">libcidn</filename></term>
    573 <listitem>
    574 <para>Used internally by Glibc for handling internationalized domain names in
    575 the <function>getaddrinfo()</function> function</para>
    576 <indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm>
    577 </listitem>
    578 </varlistentry>
    579 
    580 <varlistentry id="libcrypt">
    581 <term><filename class="libraryfile">libcrypt</filename></term>
    582 <listitem>
    583 <para>The cryptography library</para>
    584 <indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm>
    585 </listitem>
    586 </varlistentry>
    587 
    588 <varlistentry id="libdl">
    589 <term><filename class="libraryfile">libdl</filename></term>
    590 <listitem>
    591 <para>The dynamic linking interface library</para>
    592 <indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm>
    593 </listitem>
    594 </varlistentry>
    595 
    596 <varlistentry id="libg">
    597 <term><filename class="libraryfile">libg</filename></term>
    598 <listitem>
    599 <para>Dummy library containing no functions. Previously was a runtime library
    600 for <command>g++</command></para>
    601 <indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm>
    602 </listitem>
    603 </varlistentry>
    604 
    605 <varlistentry id="libieee">
    606 <term><filename class="libraryfile">libieee</filename></term>
    607 <listitem>
    608 <para>Linking in this module forces error handling rules for math functions as
    609 defined by the Institute of Electrical and Electronic Engineers (IEEE).
    610 The default is POSIX.1 error handling</para>
    611 <indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm>
    612 </listitem>
    613 </varlistentry>
    614 
    615 <varlistentry id="libm">
    616 <term><filename class="libraryfile">libm</filename></term>
    617 <listitem>
    618 <para>The mathematical library</para>
    619 <indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm>
    620 </listitem>
    621 </varlistentry>
    622 
    623 <varlistentry id="libmcheck">
    624 <term><filename class="libraryfile">libmcheck</filename></term>
    625 <listitem>
    626 <para>Turns on memory allocation checking when linked to</para>
    627 <indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm>
    628 </listitem>
    629 </varlistentry>
    630 
    631 <varlistentry id="libmemusage">
    632 <term><filename class="libraryfile">libmemusage</filename></term>
    633 <listitem>
    634 <para>Used by <command>memusage</command> to help collect
    635 information about the memory usage of a program</para>
    636 <indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm>
    637 </listitem>
    638 </varlistentry>
    639 
    640 <varlistentry id="libnsl">
    641 <term><filename class="libraryfile">libnsl</filename></term>
    642 <listitem>
    643 <para>The network services library</para>
    644 <indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm>
    645 </listitem>
    646 </varlistentry>
    647 
    648 <varlistentry id="libnss">
    649 <term><filename class="libraryfile">libnss</filename></term>
    650 <listitem>
    651 <para>The Name Service Switch libraries,
    652 containing functions for resolving host names, user names, group names,
    653 aliases, services, protocols, etc.</para>
    654 <indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss">libnss</primary></indexterm>
    655 </listitem>
    656 </varlistentry>
    657 
    658 <varlistentry id="libpcprofile">
    659 <term><filename class="libraryfile">libpcprofile</filename></term>
    660 <listitem>
    661 <para>Contains profiling functions used
    662 to track the amount of CPU time spent in specific source code lines</para>
    663 <indexterm zone="ch-system-glibc libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm>
    664 </listitem>
    665 </varlistentry>
    666 
    667 <varlistentry id="libpthread">
    668 <term><filename class="libraryfile">libpthread</filename></term>
    669 <listitem>
    670 <para>The POSIX threads library</para>
    671 <indexterm zone="ch-system-glibc libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm>
    672 </listitem>
    673 </varlistentry>
    674 
    675 <varlistentry id="libresolv">
    676 <term><filename class="libraryfile">libresolv</filename></term>
    677 <listitem>
    678 <para>Contains functions for creating,
    679 sending, and interpreting packets to the Internet domain name servers</para>
    680 <indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm>
    681 </listitem>
    682 </varlistentry>
    683 
    684 <varlistentry id="librpcsvc">
    685 <term><filename class="libraryfile">librpcsvc</filename></term>
    686 <listitem>
    687 <para>Contains functions providing miscellaneous RPC services</para>
    688 <indexterm zone="ch-system-glibc librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm>
    689 </listitem>
    690 </varlistentry>
    691 
    692 <varlistentry id="librt">
    693 <term><filename class="libraryfile">librt</filename></term>
    694 <listitem>
    695 <para>Contains functions providing most of the
    696 interfaces specified by the POSIX.1b Realtime Extension</para>
    697 <indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm>
    698 </listitem>
    699 </varlistentry>
    700 
    701 <varlistentry id="libthread_db">
    702 <term><filename class="libraryfile">libthread_db</filename></term>
    703 <listitem>
    704 <para>Contains functions useful for
    705 building debuggers for multi-threaded programs</para>
    706 <indexterm zone="ch-system-glibc libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm>
    707 </listitem>
    708 </varlistentry>
    709 
    710 <varlistentry id="libutil">
    711 <term><filename class="libraryfile">libutil</filename></term>
    712 <listitem>
    713 <para>Contains code for <quote>standard</quote> functions used in many different Unix utilities</para>
    714 <indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm>
    715 </listitem>
    716 </varlistentry>
    717 </variablelist>
    718 
    719 </sect2>
     331  </sect2>
     332
     333  <sect2 id="contents-glibc" role="content">
     334    <title>Contents of Glibc</title>
     335
     336    <segmentedlist>
     337      <segtitle>Installed programs</segtitle>
     338      <segtitle>Installed libraries</segtitle>
     339
     340      <seglistitem>
     341        <seg>catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig,
     342        ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck,
     343        pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace,
     344        zdump, and zic</seg>
     345        <seg>ld.so, libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so],
     346        libbsd-compat.a, libc.[a,so], libcidn.so, libcrypt.[a,so], libdl.[a,so],
     347        libg.a, libieee.a, libm.[a,so], libmcheck.a, libmemusage.so, libnsl.a,
     348        libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so,
     349        libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so],
     350        libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so, and
     351        libutil.[a,so]</seg>
     352      </seglistitem>
     353    </segmentedlist>
     354
     355    <variablelist>
     356      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     357      <?dbfo list-presentation="list"?>
     358      <?dbhtml list-presentation="table"?>
     359
     360      <varlistentry id="catchsegv">
     361        <term><command>catchsegv</command></term>
     362        <listitem>
     363          <para>Can be used to create a stack trace when a program
     364          terminates with a segmentation fault</para>
     365          <indexterm zone="ch-system-glibc catchsegv">
     366            <primary sortas="b-catchsegv">catchsegv</primary>
     367          </indexterm>
     368        </listitem>
     369      </varlistentry>
     370
     371      <varlistentry id="gencat">
     372        <term><command>gencat</command></term>
     373        <listitem>
     374          <para>Generates message catalogues</para>
     375          <indexterm zone="ch-system-glibc gencat">
     376            <primary sortas="b-gencat">gencat</primary>
     377          </indexterm>
     378        </listitem>
     379      </varlistentry>
     380
     381      <varlistentry id="getconf">
     382        <term><command>getconf</command></term>
     383        <listitem>
     384          <para>Displays the system configuration values for file system
     385          specific variables</para>
     386          <indexterm zone="ch-system-glibc getconf">
     387            <primary sortas="b-getconf">getconf</primary>
     388          </indexterm>
     389        </listitem>
     390      </varlistentry>
     391
     392      <varlistentry id="getent">
     393        <term><command>getent</command></term>
     394        <listitem>
     395          <para>Gets entries from an administrative database</para>
     396          <indexterm zone="ch-system-glibc getent">
     397            <primary sortas="b-getent">getent</primary>
     398          </indexterm>
     399        </listitem>
     400      </varlistentry>
     401
     402      <varlistentry id="iconv">
     403        <term><command>iconv</command></term>
     404        <listitem>
     405          <para>Performs character set conversion</para>
     406          <indexterm zone="ch-system-glibc iconv">
     407            <primary sortas="b-iconv">iconv</primary>
     408          </indexterm>
     409        </listitem>
     410      </varlistentry>
     411
     412      <varlistentry id="iconvconfig">
     413        <term><command>iconvconfig</command></term>
     414        <listitem>
     415          <para>Creates fastloading <command>iconv</command> module configuration
     416          files</para>
     417          <indexterm zone="ch-system-glibc iconvconfig">
     418            <primary sortas="b-iconvconfig">iconvconfig</primary>
     419          </indexterm>
     420        </listitem>
     421      </varlistentry>
     422
     423      <varlistentry id="ldconfig">
     424        <term><command>ldconfig</command></term>
     425        <listitem>
     426          <para>Configures the dynamic linker runtime bindings</para>
     427          <indexterm zone="ch-system-glibc ldconfig">
     428            <primary sortas="b-ldconfig">ldconfig</primary>
     429          </indexterm>
     430        </listitem>
     431      </varlistentry>
     432
     433      <varlistentry id="ldd">
     434        <term><command>ldd</command></term>
     435        <listitem>
     436          <para>Reports which shared libraries are required
     437          by each given program or shared library</para>
     438          <indexterm zone="ch-system-glibc ldd">
     439            <primary sortas="b-ldd">ldd</primary>
     440          </indexterm>
     441        </listitem>
     442      </varlistentry>
     443
     444      <varlistentry id="lddlibc4">
     445        <term><command>lddlibc4</command></term>
     446        <listitem>
     447          <para>Assists <command>ldd</command> with object files</para>
     448          <indexterm zone="ch-system-glibc lddlibc4">
     449            <primary sortas="b-lddlibc4">lddlibc4</primary>
     450          </indexterm>
     451        </listitem>
     452      </varlistentry>
     453
     454      <varlistentry id="locale">
     455        <term><command>locale</command></term>
     456        <listitem>
     457          <para>Prints various information about the current locale</para>
     458          <indexterm zone="ch-system-glibc locale">
     459            <primary sortas="b-locale">locale</primary>
     460          </indexterm>
     461        </listitem>
     462      </varlistentry>
     463
     464      <varlistentry id="localedef">
     465        <term><command>localedef</command></term>
     466        <listitem>
     467          <para>Compiles locale specifications</para>
     468          <indexterm zone="ch-system-glibc localedef">
     469            <primary sortas="b-localedef">localedef</primary>
     470          </indexterm>
     471        </listitem>
     472      </varlistentry>
     473
     474      <varlistentry id="mtrace">
     475        <term><command>mtrace</command></term>
     476        <listitem>
     477          <para>Reads and interprets a memory trace file and displays a summary
     478          in human-readable format</para>
     479          <indexterm zone="ch-system-glibc mtrace">
     480            <primary sortas="b-mtrace">mtrace</primary>
     481          </indexterm>
     482        </listitem>
     483      </varlistentry>
     484
     485      <varlistentry id="nscd">
     486        <term><command>nscd</command></term>
     487        <listitem>
     488          <para>A daemon that provides a cache for the most common name
     489          service requests</para>
     490          <indexterm zone="ch-system-glibc nscd">
     491            <primary sortas="b-nscd">nscd</primary>
     492          </indexterm>
     493        </listitem>
     494      </varlistentry>
     495
     496      <varlistentry id="nscd_nischeck">
     497        <term><command>nscd_nischeck</command></term>
     498        <listitem>
     499          <para>Checks whether or not secure mode is necessary for NIS+
     500          lookup</para>
     501          <indexterm zone="ch-system-glibc nscd_nischeck">
     502            <primary sortas="b-nscd_nischeck">nscd_nischeck</primary>
     503          </indexterm>
     504        </listitem>
     505      </varlistentry>
     506
     507      <varlistentry id="pcprofiledump">
     508        <term><command>pcprofiledump</command></term>
     509        <listitem>
     510          <para>Dumps information generated by PC profiling</para>
     511          <indexterm zone="ch-system-glibc pcprofiledump">
     512            <primary sortas="b-pcprofiledump">pcprofiledump</primary>
     513          </indexterm>
     514        </listitem>
     515      </varlistentry>
     516
     517      <varlistentry id="pt_chown">
     518        <term><command>pt_chown</command></term>
     519        <listitem>
     520          <para>A helper program for <command>grantpt</command> to set the owner,
     521          group and access permissions of a slave pseudo terminal</para>
     522          <indexterm zone="ch-system-glibc pt_chown">
     523            <primary sortas="b-pt_chown">pt_chown</primary>
     524          </indexterm>
     525        </listitem>
     526      </varlistentry>
     527
     528      <varlistentry id="rpcgen">
     529        <term><command>rpcgen</command></term>
     530        <listitem>
     531          <para>Generates C code to implement the Remote Procecure Call (RPC)
     532          protocol</para>
     533          <indexterm zone="ch-system-glibc rpcgen">
     534            <primary sortas="b-rpcgen">rpcgen</primary>
     535          </indexterm>
     536        </listitem>
     537      </varlistentry>
     538
     539      <varlistentry id="rpcinfo">
     540        <term><command>rpcinfo</command></term>
     541        <listitem>
     542          <para>Makes an RPC call to an RPC server</para>
     543          <indexterm zone="ch-system-glibc rpcinfo">
     544            <primary sortas="b-rpcinfo">rpcinfo</primary>
     545          </indexterm>
     546        </listitem>
     547      </varlistentry>
     548
     549      <varlistentry id="sln">
     550        <term><command>sln</command></term>
     551        <listitem>
     552          <para>A statically linked <command>ln</command> program</para>
     553          <indexterm zone="ch-system-glibc sln">
     554            <primary sortas="b-sln">sln</primary>
     555          </indexterm>
     556        </listitem>
     557      </varlistentry>
     558
     559      <varlistentry id="sprof">
     560        <term><command>sprof</command></term>
     561        <listitem>
     562          <para>Reads and displays shared object profiling data</para>
     563          <indexterm zone="ch-system-glibc sprof">
     564            <primary sortas="b-sprof">sprof</primary>
     565          </indexterm>
     566        </listitem>
     567      </varlistentry>
     568
     569      <varlistentry id="tzselect">
     570        <term><command>tzselect</command></term>
     571        <listitem>
     572          <para>Asks the user about the location of the system and reports
     573          the corresponding time zone description</para>
     574          <indexterm zone="ch-system-glibc tzselect">
     575            <primary sortas="b-tzselect">tzselect</primary>
     576          </indexterm>
     577        </listitem>
     578      </varlistentry>
     579
     580      <varlistentry id="xtrace">
     581        <term><command>xtrace</command></term>
     582        <listitem>
     583          <para>Traces the execution of a program by printing the currently
     584          executed function</para>
     585          <indexterm zone="ch-system-glibc xtrace">
     586            <primary sortas="b-xtrace">xtrace</primary>
     587          </indexterm>
     588        </listitem>
     589      </varlistentry>
     590
     591      <varlistentry id="zdump">
     592        <term><command>zdump</command></term>
     593        <listitem>
     594          <para>The time zone dumper</para>
     595          <indexterm zone="ch-system-glibc zdump">
     596            <primary sortas="b-zdump">zdump</primary>
     597          </indexterm>
     598        </listitem>
     599      </varlistentry>
     600
     601      <varlistentry id="zic">
     602        <term><command>zic</command></term>
     603        <listitem>
     604          <para>The time zone compiler</para>
     605          <indexterm zone="ch-system-glibc zic">
     606            <primary sortas="b-zic">zic</primary>
     607          </indexterm>
     608        </listitem>
     609      </varlistentry>
     610
     611      <varlistentry id="ld.so">
     612        <term><filename class="libraryfile">ld.so</filename></term>
     613        <listitem>
     614          <para>The helper program for shared library executables</para>
     615          <indexterm zone="ch-system-glibc ld.so">
     616            <primary sortas="c-ld.so">ld.so</primary>
     617          </indexterm>
     618        </listitem>
     619      </varlistentry>
     620
     621      <varlistentry id="libBrokenLocale">
     622        <term><filename class="libraryfile">libBrokenLocale</filename></term>
     623        <listitem>
     624          <para>Used internally by Glibc as a gross hack to get broken programs
     625          (e.g., some Motif applications) running. See comments in
     626          <filename>glibc-&glibc-version;/locale/broken_cur_max.c</filename>
     627          for more information</para>
     628          <indexterm zone="ch-system-glibc libBrokenLocale">
     629            <primary sortas="c-libBrokenLocale">libBrokenLocale</primary>
     630          </indexterm>
     631        </listitem>
     632      </varlistentry>
     633
     634      <varlistentry id="libSegFault">
     635        <term><filename class="libraryfile">libSegFault</filename></term>
     636        <listitem>
     637          <para>The segmentation fault signal handler, used by
     638          <command>catchsegv</command></para>
     639          <indexterm zone="ch-system-glibc libSegFault">
     640            <primary sortas="c-libSegFault">libSegFault</primary>
     641          </indexterm>
     642        </listitem>
     643      </varlistentry>
     644
     645      <varlistentry id="libanl">
     646        <term><filename class="libraryfile">libanl</filename></term>
     647        <listitem>
     648          <para>An asynchronous name lookup library</para>
     649          <indexterm zone="ch-system-glibc libanl">
     650            <primary sortas="c-libanl">libanl</primary>
     651          </indexterm>
     652        </listitem>
     653      </varlistentry>
     654
     655      <varlistentry id="libbsd-compat">
     656        <term><filename class="libraryfile">libbsd-compat</filename></term>
     657        <listitem>
     658          <para>Provides the portability needed in order to run certain Berkey
     659          Software Distribution (BSD) programs under Linux</para>
     660          <indexterm zone="ch-system-glibc libbsd-compat">
     661            <primary sortas="c-libbsd-compat">libbsd-compat</primary>
     662          </indexterm>
     663        </listitem>
     664      </varlistentry>
     665
     666      <varlistentry id="libc">
     667        <term><filename class="libraryfile">libc</filename></term>
     668        <listitem>
     669          <para>The main C library</para>
     670          <indexterm zone="ch-system-glibc libc">
     671            <primary sortas="c-libc">libc</primary>
     672          </indexterm>
     673        </listitem>
     674      </varlistentry>
     675
     676      <varlistentry id="libcidn">
     677        <term><filename class="libraryfile">libcidn</filename></term>
     678        <listitem>
     679          <para>Used internally by Glibc for handling internationalized domain
     680          names in the <function>getaddrinfo()</function> function</para>
     681          <indexterm zone="ch-system-glibc libcrypt">
     682            <primary sortas="c-libcrypt">libcrypt</primary>
     683          </indexterm>
     684        </listitem>
     685      </varlistentry>
     686
     687      <varlistentry id="libcrypt">
     688        <term><filename class="libraryfile">libcrypt</filename></term>
     689        <listitem>
     690          <para>The cryptography library</para>
     691          <indexterm zone="ch-system-glibc libcrypt">
     692            <primary sortas="c-libcrypt">libcrypt</primary>
     693          </indexterm>
     694        </listitem>
     695      </varlistentry>
     696
     697      <varlistentry id="libdl">
     698        <term><filename class="libraryfile">libdl</filename></term>
     699        <listitem>
     700          <para>The dynamic linking interface library</para>
     701          <indexterm zone="ch-system-glibc libdl">
     702            <primary sortas="c-libdl">libdl</primary>
     703          </indexterm>
     704        </listitem>
     705      </varlistentry>
     706
     707      <varlistentry id="libg">
     708        <term><filename class="libraryfile">libg</filename></term>
     709        <listitem>
     710          <para>Dummy library containing no functions. Previously was a runtime
     711          library for <command>g++</command></para>
     712          <indexterm zone="ch-system-glibc libg">
     713            <primary sortas="c-libg">libg</primary>
     714          </indexterm>
     715        </listitem>
     716      </varlistentry>
     717
     718      <varlistentry id="libieee">
     719        <term><filename class="libraryfile">libieee</filename></term>
     720        <listitem>
     721          <para>Linking in this module forces error handling rules for math
     722          functions as defined by the Institute of Electrical and Electronic
     723          Engineers (IEEE). The default is POSIX.1 error handling</para>
     724          <indexterm zone="ch-system-glibc libieee">
     725            <primary sortas="c-libieee">libieee</primary>
     726          </indexterm>
     727        </listitem>
     728      </varlistentry>
     729
     730      <varlistentry id="libm">
     731        <term><filename class="libraryfile">libm</filename></term>
     732        <listitem>
     733          <para>The mathematical library</para>
     734          <indexterm zone="ch-system-glibc libm">
     735            <primary sortas="c-libm">libm</primary>
     736          </indexterm>
     737        </listitem>
     738      </varlistentry>
     739
     740      <varlistentry id="libmcheck">
     741        <term><filename class="libraryfile">libmcheck</filename></term>
     742        <listitem>
     743          <para>Turns on memory allocation checking when linked to</para>
     744          <indexterm zone="ch-system-glibc libmcheck">
     745            <primary sortas="c-libmcheck">libmcheck</primary>
     746          </indexterm>
     747        </listitem>
     748      </varlistentry>
     749
     750      <varlistentry id="libmemusage">
     751        <term><filename class="libraryfile">libmemusage</filename></term>
     752        <listitem>
     753          <para>Used by <command>memusage</command> to help collect
     754          information about the memory usage of a program</para>
     755          <indexterm zone="ch-system-glibc libmemusage">
     756            <primary sortas="c-libmemusage">libmemusage</primary>
     757          </indexterm>
     758        </listitem>
     759      </varlistentry>
     760
     761      <varlistentry id="libnsl">
     762        <term><filename class="libraryfile">libnsl</filename></term>
     763        <listitem>
     764          <para>The network services library</para>
     765          <indexterm zone="ch-system-glibc libnsl">
     766            <primary sortas="c-libnsl">libnsl</primary>
     767          </indexterm>
     768        </listitem>
     769      </varlistentry>
     770
     771      <varlistentry id="libnss">
     772        <term><filename class="libraryfile">libnss</filename></term>
     773        <listitem>
     774          <para>The Name Service Switch libraries, containing functions for
     775          resolving host names, user names, group names, aliases, services,
     776          protocols, etc.</para>
     777          <indexterm zone="ch-system-glibc libnss">
     778            <primary sortas="c-libnss">libnss</primary>
     779          </indexterm>
     780        </listitem>
     781      </varlistentry>
     782
     783      <varlistentry id="libpcprofile">
     784        <term><filename class="libraryfile">libpcprofile</filename></term>
     785        <listitem>
     786          <para>Contains profiling functions used to track the amount of CPU
     787          time spent in specific source code lines</para>
     788          <indexterm zone="ch-system-glibc libpcprofile">
     789            <primary sortas="c-libpcprofile">libpcprofile</primary>
     790          </indexterm>
     791        </listitem>
     792      </varlistentry>
     793
     794      <varlistentry id="libpthread">
     795        <term><filename class="libraryfile">libpthread</filename></term>
     796        <listitem>
     797          <para>The POSIX threads library</para>
     798          <indexterm zone="ch-system-glibc libpthread">
     799            <primary sortas="c-libpthread">libpthread</primary>
     800          </indexterm>
     801        </listitem>
     802      </varlistentry>
     803
     804      <varlistentry id="libresolv">
     805        <term><filename class="libraryfile">libresolv</filename></term>
     806        <listitem>
     807          <para>Contains functions for creating, sending, and interpreting
     808          packets to the Internet domain name servers</para>
     809          <indexterm zone="ch-system-glibc libresolv">
     810            <primary sortas="c-libresolv">libresolv</primary>
     811          </indexterm>
     812        </listitem>
     813      </varlistentry>
     814
     815      <varlistentry id="librpcsvc">
     816        <term><filename class="libraryfile">librpcsvc</filename></term>
     817        <listitem>
     818          <para>Contains functions providing miscellaneous RPC services</para>
     819          <indexterm zone="ch-system-glibc librpcsvc">
     820            <primary sortas="c-librpcsvc">librpcsvc</primary>
     821          </indexterm>
     822        </listitem>
     823      </varlistentry>
     824
     825      <varlistentry id="librt">
     826        <term><filename class="libraryfile">librt</filename></term>
     827        <listitem>
     828          <para>Contains functions providing most of the interfaces specified
     829          by the POSIX.1b Realtime Extension</para>
     830          <indexterm zone="ch-system-glibc librt">
     831            <primary sortas="c-librt">librt</primary>
     832          </indexterm>
     833        </listitem>
     834      </varlistentry>
     835
     836      <varlistentry id="libthread_db">
     837        <term><filename class="libraryfile">libthread_db</filename></term>
     838        <listitem>
     839          <para>Contains functions useful for building debuggers for
     840          multi-threaded programs</para>
     841          <indexterm zone="ch-system-glibc libthread_db">
     842            <primary sortas="c-libthread_db">libthread_db</primary>
     843          </indexterm>
     844        </listitem>
     845      </varlistentry>
     846
     847      <varlistentry id="libutil">
     848        <term><filename class="libraryfile">libutil</filename></term>
     849        <listitem>
     850          <para>Contains code for <quote>standard</quote> functions used in
     851          many different Unix utilities</para>
     852          <indexterm zone="ch-system-glibc libutil">
     853            <primary sortas="c-libutil">libutil</primary>
     854          </indexterm>
     855        </listitem>
     856      </varlistentry>
     857
     858    </variablelist>
     859
     860  </sect2>
    720861
    721862</sect1>
    722 
  • chapter06/grep.xml

    rfa994c9 r73c180db  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-grep" role="wrap">
    7 <title>Grep-&grep-version;</title>
    8 <?dbhtml filename="grep.html"?>
     9  <?dbhtml filename="grep.html"?>
    910
    10 <indexterm zone="ch-system-grep"><primary sortas="a-Grep">Grep</primary></indexterm>
     11  <title>Grep-&grep-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Grep package contains programs for searching through files.</para>
     13  <indexterm zone="ch-system-grep">
     14    <primary sortas="a-Grep">Grep</primary>
     15  </indexterm>
    1416
    15 <segmentedlist>
    16 <segtitle>&buildtime;</segtitle>
    17 <segtitle>&diskspace;</segtitle>
    18 <seglistitem><seg>0.1 SBU</seg><seg>4.5 MB</seg></seglistitem>
    19 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2019
    21 <segmentedlist>
    22 <segtitle>&dependencies;</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils,
    24 Diffutils, GCC, Gettext, Glibc, Make, Sed, and Texinfo</seg></seglistitem>
    25 </segmentedlist>
    26 </sect2>
     20    <para>The Grep package contains programs for searching through files.</para>
    2721
    28 <sect2 role="installation">
    29 <title>Installation of Grep</title>
     22    <segmentedlist>
     23      <segtitle>&buildtime;</segtitle>
     24      <segtitle>&diskspace;</segtitle>
    3025
    31 <para>The current Grep package has many bugs, especially in the support of
    32 multibyte locales. RedHat fixed some of them with the following patch:</para>
     26      <seglistitem>
     27        <seg>0.1 SBU</seg>
     28        <seg>4.5 MB</seg>
     29      </seglistitem>
     30    </segmentedlist>
     31
     32    <segmentedlist>
     33      <segtitle>&dependencies;</segtitle>
     34
     35      <seglistitem>
     36        <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Make,
     37        Sed, and Texinfo</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Grep</title>
     45
     46    <para>The current Grep package has many bugs, especially in the support of
     47    multibyte locales. RedHat fixed some of them with the following patch:</para>
    3348
    3449<screen><userinput>patch -Np1 -i ../&grep-fixes-patch;</userinput></screen>
    3550
    36 <para>In order for the tests added by this patch to pass, the permissions for
    37 the test file have to be changed:</para>
     51    <para>In order for the tests added by this patch to pass, the permissions for
     52    the test file have to be changed:</para>
    3853
    3954<screen><userinput>chmod +x tests/fmbtest.sh</userinput></screen>
    4055
    41 <para>Prepare Grep for compilation:</para>
     56    <para>Prepare Grep for compilation:</para>
    4257
    4358<screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen>
    4459
    45 <para>Compile the package:</para>
     60    <para>Compile the package:</para>
    4661
    4762<screen><userinput>make</userinput></screen>
    4863
    49 <para>To test the results, issue:
    50 <userinput>make check</userinput>.</para>
     64    <para>To test the results, issue:
     65    <userinput>make check</userinput>.</para>
    5166
    52 <para>Install the package:</para>
     67    <para>Install the package:</para>
    5368
    5469<screen><userinput>make install</userinput></screen>
    5570
    56 </sect2>
     71  </sect2>
    5772
     73  <sect2 id="contents-grep" role="content">
     74    <title>Contents of Grep</title>
    5875
    59 <sect2 id="contents-grep" role="content"><title>Contents of Grep</title>
     76    <segmentedlist>
     77      <segtitle>Installed programs</segtitle>
    6078
    61 <segmentedlist>
    62 <segtitle>Installed programs</segtitle>
    63 <seglistitem><seg>egrep (link to grep), fgrep (link to grep), and grep</seg></seglistitem>
    64 </segmentedlist>
     79      <seglistitem>
     80        <seg>egrep (link to grep), fgrep (link to grep), and grep</seg>
     81      </seglistitem>
     82    </segmentedlist>
    6583
    66 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    67 <?dbfo list-presentation="list"?>
    68 <?dbhtml list-presentation="table"?>
     84    <variablelist>
     85      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     86      <?dbfo list-presentation="list"?>
     87      <?dbhtml list-presentation="table"?>
    6988
    70 <varlistentry id="egrep">
    71 <term><command>egrep</command></term>
    72 <listitem>
    73 <para>Prints lines matching an extended regular expression</para>
    74 <indexterm zone="ch-system-grep egrep"><primary sortas="b-egrep">egrep</primary></indexterm>
    75 </listitem>
    76 </varlistentry>
     89      <varlistentry id="egrep">
     90        <term><command>egrep</command></term>
     91        <listitem>
     92          <para>Prints lines matching an extended regular expression</para>
     93          <indexterm zone="ch-system-grep egrep">
     94            <primary sortas="b-egrep">egrep</primary>
     95          </indexterm>
     96        </listitem>
     97      </varlistentry>
    7798
    78 <varlistentry id="fgrep">
    79 <term><command>fgrep</command></term>
    80 <listitem>
    81 <para>Prints lines matching a list of fixed strings</para>
    82 <indexterm zone="ch-system-grep fgrep"><primary sortas="b-fgrep">fgrep</primary></indexterm>
    83 </listitem>
    84 </varlistentry>
     99      <varlistentry id="fgrep">
     100        <term><command>fgrep</command></term>
     101        <listitem>
     102          <para>Prints lines matching a list of fixed strings</para>
     103          <indexterm zone="ch-system-grep fgrep">
     104            <primary sortas="b-fgrep">fgrep</primary>
     105          </indexterm>
     106        </listitem>
     107      </varlistentry>
    85108
    86 <varlistentry id="grep">
    87 <term><command>grep</command></term>
    88 <listitem>
    89 <para>Prints lines matching a basic regular expression</para>
    90 <indexterm zone="ch-system-grep grep"><primary sortas="b-grep">grep</primary></indexterm>
    91 </listitem>
    92 </varlistentry>
    93 </variablelist>
     109      <varlistentry id="grep">
     110        <term><command>grep</command></term>
     111        <listitem>
     112          <para>Prints lines matching a basic regular expression</para>
     113          <indexterm zone="ch-system-grep grep">
     114            <primary sortas="b-grep">grep</primary>
     115          </indexterm>
     116        </listitem>
     117      </varlistentry>
    94118
    95 </sect2>
     119    </variablelist>
     120
     121  </sect2>
    96122
    97123</sect1>
    98 
Note: See TracChangeset for help on using the changeset viewer.