Changeset 3981

Show
Ignore:
Timestamp:
08/24/08 13:44:45 (3 months ago)
Author:
jciccone
Message:

Update the path to ld.so when configuring Glibc for each arch.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/BOOK/final-system/common/glibc.xml

    r3903 r3981  
    268268    </indexterm> 
    269269 
    270     <para>By default, the dynamic loader (<filename 
     270    <para os="ld-a">By default, the dynamic loader (<filename 
    271271    class="libraryfile">/lib/ld-linux.so.2</filename>) searches through 
    272272    <filename class="directory">/lib</filename> and <filename 
     
    282282    dynamic loader's search path.</para> 
    283283 
    284     <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the 
     284    <para os="ld-b">Create a new file <filename>/etc/ld.so.conf</filename> by running the 
    285285    following:</para> 
    286286 
    287 <screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF" 
     287<screen os="ld-c"><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF" 
    288288<literal># Begin /etc/ld.so.conf 
    289289 
  • trunk/BOOK/final-system/mips/glibc.xml

    r3762 r3981  
    129129 
    130130  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
    131   href="../common/glibc.xml" 
     131  href="../ppc/glibc.xml" 
    132132  xpointer="xpointer(id('conf-ld'))"/> 
    133133 
  • trunk/BOOK/final-system/mips64-64/glibc.xml

    r3902 r3981  
    151151 
    152152  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
    153   href="../common/glibc.xml" 
     153  href="../mips/glibc.xml" 
    154154  xpointer="xpointer(id('conf-ld'))"/> 
    155155 
  • trunk/BOOK/final-system/mips64/glibc-64bit.xml

    r3941 r3981  
    137137    </indexterm> 
    138138 
    139     <para>By default, the dynamic loader (<filename 
    140     class="libraryfile">/lib/ld-linux.so.2</filename>) searches through 
     139    <para os="ld-a">By default, the dynamic loader (<filename 
     140    class="libraryfile">/lib/ld.so.1</filename> for 32bit executables <filename 
     141    class="libraryfile">/lib32/ld.so.1</filename> for n32 executables and 
     142    <filename class="libraryfile">/lib64/ld.so.1</filename> for 64bit 
     143    executables) searches through 
    141144    <filename class="directory">/lib</filename> and <filename 
    142145    class="directory">/usr/lib</filename> for dynamic libraries that are 
     
    155158    so add those directories to the dynamic loader's search path.</para> 
    156159 
    157     <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the 
     160    <para os="ld-b">Create a new file <filename>/etc/ld.so.conf</filename> by running the 
    158161    following:</para> 
    159162 
    160 <screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF" 
     163<screen os="ld-c"><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF" 
    161164<literal># Begin /etc/ld.so.conf 
    162165 
  • trunk/BOOK/final-system/multilib/glibc-64bit.xml

    r3762 r3981  
    131131    </indexterm> 
    132132 
    133     <para>By default, the dynamic loader (<filename 
    134     class="libraryfile">/lib/ld-linux.so.2</filename>) searches through 
     133    <para os="ld-a">By default, the dynamic loader (<filename 
     134    class="libraryfile">/lib/ld-linux.so.2</filename> for 32bit executables and 
     135    <filename class="libraryfile">/lib64/ld-linux.so.2</filename> for 
     136    64bit executables) searches through 
    135137    <filename class="directory">/lib</filename>, 
    136138    <filename class="directory">/lib64</filename>, 
     
    148150    so add those directories to the dynamic loader's search path.</para> 
    149151 
    150     <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the 
     152    <para os="ld-b">Create a new file <filename>/etc/ld.so.conf</filename> by running the 
    151153    following:</para> 
    152154 
    153 <screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF" 
     155<screen os="ld-c"><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF" 
    154156<literal># Begin /etc/ld.so.conf 
    155157 
  • trunk/BOOK/final-system/ppc-chapter.xml

    r3730 r3981  
    1818  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/linux-headers.xml"/> 
    1919  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/man-pages.xml"/> 
    20   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/glibc.xml"/> 
     20  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ppc/glibc.xml"/> 
    2121  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ppc/adjusting.xml"/> 
    2222  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/binutils.xml"/> 
  • trunk/BOOK/final-system/ppc/glibc.xml

    r3903 r3981  
    1515  </indexterm> 
    1616 
    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   </sect2> 
     17  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     18  href="../common/glibc.xml" 
     19  xpointer="xpointer(//*[@role='package'])"/> 
    2620 
    2721  <sect2 role="installation"> 
    2822    <title>Installation of Glibc</title> 
    2923 
    30     <note os="z"> 
    31       <para>Some packages outside of CLFS suggest installing GNU libiconv in 
    32       order to translate data from one encoding to another. The project's 
    33       home page (<ulink url="http://www.gnu.org/software/libiconv/"/>) says 
    34       <quote>This library provides an <function>iconv()</function> 
    35       implementation, for use on systems which don't have one, or whose 
    36       implementation cannot convert from/to Unicode.</quote> Glibc provides 
    37       an <function>iconv()</function> implementation and can convert from/to 
    38       Unicode, therefore libiconv is not required on a CLFS system.</para> 
    39     </note> 
     24    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     25    href="../common/glibc.xml" 
     26    xpointer="xpointer(//*[@os='z'])"/> 
    4027 
    41     <para os="b">The Glibc build system is self-contained and will install 
    42     perfectly, even though the compiler specs file and linker are still 
    43     pointing at <filename class="directory">/tools</filename>. The specs 
    44     and linker cannot be adjusted before the Glibc install because the 
    45     Glibc Autoconf tests would give false results and defeat the goal 
    46     of achieving a clean build.</para> 
     28    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     29    href="../common/glibc.xml" 
     30    xpointer="xpointer(//*[@os='b'])"/> 
    4731 
    48     <para os="p1">The following patches merges all updates from the &glibc-version; Branch 
    49     from the Glibc developers:</para> 
     32    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     33    href="../common/glibc.xml" 
     34    xpointer="xpointer(//*[@os='p1'])"/> 
    5035 
    51 <screen os="p2"><userinput>patch -Np1 -i ../&glibc-branch_update-patch;</userinput></screen> 
     36    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     37    href="../common/glibc.xml" 
     38    xpointer="xpointer(//*[@os='p2'])"/> 
    5239 
    53     <para os="c">The following patch fixes an issue that can 
    54     cause <command>localdef</command> to segfault:</para> 
     40    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     41    href="../common/glibc.xml" 
     42    xpointer="xpointer(//*[@os='c'])"/> 
    5543 
    56 <screen os="d"><userinput>patch -Np1 -i ../&glibc-localedef_segfault-patch;</userinput></screen> 
     44    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     45    href="../common/glibc.xml" 
     46    xpointer="xpointer(//*[@os='d'])"/> 
    5747 
    58     <para os="e">The Glibc documentation recommends building Glibc outside of the 
    59     source directory in a dedicated build directory:</para> 
     48    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     49    href="../common/glibc.xml" 
     50    xpointer="xpointer(//*[@os='e'])"/> 
    6051 
    61 <screen os="f"><userinput>mkdir -v ../glibc-build 
    62 cd ../glibc-build</userinput></screen> 
     52    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     53    href="../common/glibc.xml" 
     54    xpointer="xpointer(//*[@os='f'])"/> 
    6355 
    64     <para os="g">Prepare Glibc for compilation:</para> 
     56    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     57    href="../common/glibc.xml" 
     58    xpointer="xpointer(//*[@os='g'])"/> 
    6559 
    66 <screen os="h"><userinput>../glibc-&glibc-version;/configure --prefix=/usr \ 
    67     --disable-profile --enable-add-ons --enable-kernel=2.6.0 \ 
    68     --libexecdir=/usr/lib/glibc</userinput></screen
     60    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     61    href="../common/glibc.xml" 
     62    xpointer="xpointer(//*[@os='h'])"/
    6963 
    70     <variablelist os="i"> 
    71       <title>The meaning of the new configure option:</title> 
     64    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     65    href="../common/glibc.xml" 
     66    xpointer="xpointer(//*[@os='i'])"/> 
    7267 
    73       <varlistentry> 
    74         <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term> 
    75         <listitem> 
    76           <para>This changes the location of the <command>pt_chown</command> 
    77           program from its default of <filename 
    78           class="directory">/usr/libexec</filename> to <filename 
    79           class="directory">/usr/lib/glibc</filename>.</para> 
    80         </listitem> 
    81       </varlistentry> 
    82     </variablelist> 
     68    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     69    href="../common/glibc.xml" 
     70    xpointer="xpointer(//*[@os='j'])"/> 
    8371 
    84     <para os="j">Compile the package:</para> 
     72    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     73    href="../common/glibc.xml" 
     74    xpointer="xpointer(//*[@os='k'])"/> 
    8575 
    86 <screen os="k"><userinput>make</userinput></screen> 
     76    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     77    href="../common/glibc.xml" 
     78    xpointer="xpointer(//*[@os='l'])"/> 
    8779 
    88     <important os="l"> 
    89       <para>The test suite for Glibc is considered critical. 
    90       Do not skip it under any circumstance.</para> 
    91     </important> 
     80    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     81    href="../common/glibc.xml" 
     82    xpointer="xpointer(//*[@os='m'])"/> 
    9283 
    93     <para os="m">Test the results:</para> 
     84    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     85    href="../common/glibc.xml" 
     86    xpointer="xpointer(//*[@os='n'])"/> 
    9487 
    95 <!-- items n,o,p no longer the master, use x86_64 which has no failures --> 
     88    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     89    href="../common/glibc.xml" 
     90    xpointer="xpointer(//*[@os='o'])"/> 
    9691 
    97 <screen os="n"><userinput>make -k check &gt;glibc-check-log 2&gt;&amp;1 ; grep Error glibc-check-log</userinput></screen> 
     92    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     93    href="../common/glibc.xml" 
     94    xpointer="xpointer(//*[@os='p'])"/> 
    9895 
    99     <para os="o">The Glibc test suite is highly dependent on certain functions of 
    100     the host system, in particular the kernel. The posix/annexc test normally fails 
    101     and you should see <literal>Error 1 (ignored)</literal> in the output. Apart 
    102     from this, the Glibc test suite is always expected to pass. However, in certain 
    103     circumstances, some failures are unavoidable. If a test fails because of a missing 
    104     program (or missing symbolic link), or a segfault, you will see an error code 
    105     greater than 127 and the details will be in the log. More commonly, tests will 
    106     fail with <literal>Error 2</literal> - for these, the contents of the corresponding 
    107     <filename>.out</filename> file, e.g. <filename>posix/annexc.out</filename> may be 
    108     informative. Here is a list of the most common issues:</para> 
     96    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     97    href="../common/glibc.xml" 
     98    xpointer="xpointer(//*[@os='q'])"/> 
    10999 
    110     <itemizedlist os="p"> 
    111       <listitem> 
    112         <para>The <emphasis>math</emphasis> tests sometimes fail. 
    113         Certain optimization settings are known to be a 
    114         factor here.</para> 
    115       </listitem> 
    116       <listitem> 
    117         <para>If you have mounted the CLFS partition with the 
    118         <parameter>noatime</parameter> option, the <emphasis>atime</emphasis> test 
    119         will fail. As mentioned in <xref linkend="ch-partitioning-mounting"/>, 
    120         do not use the <parameter>noatime</parameter> option while building 
    121         CLFS.</para> 
    122       </listitem> 
    123       <listitem> 
    124         <para>When running on older and slower hardware, some tests 
    125         can fail because of test timeouts being exceeded.</para> 
    126       </listitem> 
    127     </itemizedlist> 
     100    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     101    href="../common/glibc.xml" 
     102    xpointer="xpointer(//*[@os='r'])"/> 
    128103 
    129     <para os="q">Though it is a harmless message, the install stage of Glibc will 
    130     complain about the absence of <filename>/etc/ld.so.conf</filename>. 
    131     Prevent this warning with:</para
     104    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     105    href="../common/glibc.xml" 
     106    xpointer="xpointer(//*[@os='s'])"/
    132107 
    133 <screen os="r"><userinput>touch /etc/ld.so.conf</userinput></screen> 
    134  
    135     <para os="s">Install the package:</para> 
    136  
    137 <screen os="t"><userinput>make install</userinput></screen> 
     108    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     109    href="../common/glibc.xml" 
     110    xpointer="xpointer(//*[@os='t'])"/> 
    138111 
    139112  </sect2> 
    140113 
    141   <sect2 id="i18n-glibc" role="configuration"> 
    142     <title>Internationalization</title> 
     114  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     115  href="../common/glibc.xml" 
     116  xpointer="xpointer(id('i18n-glibc'))"/> 
    143117 
    144     <para>The locales that can make the system respond in a different 
    145     language were not installed by the above command. Install them 
    146     with:</para> 
    147  
    148 <screen><userinput>make localedata/install-locales</userinput></screen> 
    149  
    150     <para>To save time, an alternative to running the previous command (which 
    151     generates and installs every locale listed in the 
    152     glibc-&glibc-version;/localedata/SUPPORTED file) is to install only 
    153     those locales that are wanted and needed. This can be achieved by using 
    154     the <command>localedef</command> command. Information on this command is 
    155     located in the <filename>INSTALL</filename> file in the Glibc source. 
    156     However, there are a number of locales that are essential in order for the 
    157     tests of future packages to pass, in particular, the 
    158     <emphasis>libstdc++</emphasis> tests from GCC. The following instructions, 
    159     instead of the <parameter>install-locales</parameter> target used above, 
    160     will install the minimum set of locales necessary for the tests to run 
    161     successfully:</para> 
    162  
    163 <screen role="nodump"><userinput>mkdir -pv /usr/lib/locale 
    164 localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8 
    165 localedef -i de_DE -f ISO-8859-1 de_DE 
    166 localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro 
    167 localedef -i en_HK -f ISO-8859-1 en_HK 
    168 localedef -i en_PH -f ISO-8859-1 en_PH 
    169 localedef -i en_US -f ISO-8859-1 en_US 
    170 localedef -i es_MX -f ISO-8859-1 es_MX 
    171 localedef -i fa_IR -f UTF-8 fa_IR 
    172 localedef -i fr_FR -f ISO-8859-1 fr_FR 
    173 localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro 
    174 localedef -i it_IT -f ISO-8859-1 it_IT 
    175 localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen> 
    176  
    177     <para>Some locales installed by the <command>make 
    178     localedata/install-locales</command> command above are not properly 
    179     supported by some applications that are in the CLFS and BLFS books. Because 
    180     of the various problems that arise due to application programmers making 
    181     assumptions that break in such locales, CLFS should not be used in locales 
    182     that utilize multibyte character sets (including UTF-8) or right-to-left 
    183     writing order.  Numerous unofficial and unstable patches are required to 
    184     fix these problems, and it has been decided by the CLFS developers not to 
    185     support such complex locales at this time. This applies to the ja_JP and 
    186     fa_IR locales as well&mdash;they have been installed only for GCC and 
    187     Gettext tests to pass, and the <command>watch</command> program (part of 
    188     the Procps package) does not work properly in them. Various attempts to 
    189     circumvent these restrictions are documented in internationalization-related 
    190     hints.</para> 
    191  
    192   </sect2> 
    193  
    194   <sect2 id="conf-glibc" role="configuration"> 
    195     <title>Configuring Glibc</title> 
    196  
    197     <indexterm zone="conf-glibc"> 
    198       <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary> 
    199     </indexterm> 
    200  
    201     <indexterm zone="conf-glibc"> 
    202       <primary sortas="e-/etc/localtime">/etc/localtime</primary> 
    203     </indexterm> 
    204  
    205     <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created 
    206     because, although Glibc provides defaults when this file is missing or 
    207     corrupt, the Glibc defaults do not work well in a networked environment. 
    208     The time zone also needs to be configured.</para> 
    209  
    210     <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running 
    211     the following:</para> 
    212  
    213 <screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF" 
    214 <literal># Begin /etc/nsswitch.conf 
    215  
    216 passwd: files 
    217 group: files 
    218 shadow: files 
    219  
    220 hosts: files dns 
    221 networks: files 
    222  
    223 protocols: files 
    224 services: files 
    225 ethers: files 
    226 rpc: files 
    227  
    228 # End /etc/nsswitch.conf</literal> 
    229 EOF</userinput></screen> 
    230  
    231     <para>To determine the local time zone, run the following script:</para> 
    232  
    233 <screen role="nodump"><userinput>tzselect</userinput></screen> 
    234  
    235     <para>After answering a few questions about the location, the script will 
    236     output the name of the time zone (e.g., <emphasis>EST5EDT</emphasis> or 
    237     <emphasis>Canada/Eastern</emphasis>). Then create the 
    238     <filename>/etc/localtime</filename> file by running:</para> 
    239  
    240 <screen><userinput>cp -v --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \ 
    241     /etc/localtime</userinput></screen> 
    242  
    243     <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone 
    244     that <command>tzselect</command> provided (e.g., Canada/Eastern).</para> 
    245  
    246     <variablelist> 
    247       <title>The meaning of the cp option:</title> 
    248  
    249       <varlistentry> 
    250         <term><parameter>--remove-destination</parameter></term> 
    251         <listitem> 
    252           <para>This is needed to force removal of the already existing symbolic 
    253           link. The reason for copying the file instead of using a symlink is to 
    254           cover the situation where <filename class="directory">/usr</filename> 
    255           is on a separate partition. This could be important when booted into 
    256           single user mode.</para> 
    257         </listitem> 
    258       </varlistentry> 
    259     </variablelist> 
    260  
    261   </sect2> 
     118  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     119  href="../common/glibc.xml" 
     120  xpointer="xpointer(id('conf-glibc'))"/> 
    262121 
    263122  <sect2 id="conf-ld" role="configuration"> 
     
    268127    </indexterm> 
    269128 
    270     <para>By default, the dynamic loader (<filename 
    271     class="libraryfile">/lib/ld-linux.so.2</filename>) searches through 
     129    <para os="ld-a">By default, the dynamic loader (<filename 
     130    class="libraryfile">/lib/ld.so.1</filename>) searches through 
    272131    <filename class="directory">/lib</filename> and <filename 
    273132    class="directory">/usr/lib</filename> for dynamic libraries that are 
     
    282141    dynamic loader's search path.</para> 
    283142 
    284     <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the 
    285     following:</para> 
     143    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     144    href="../common/glibc.xml" 
     145    xpointer="xpointer(//*[@os='ld-b'])"/> 
    286146 
    287 <screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF" 
    288 <literal># Begin /etc/ld.so.conf 
    289  
    290 /usr/local/lib 
    291 /opt/lib 
    292  
    293 # End /etc/ld.so.conf</literal> 
    294 EOF</userinput></screen> 
     147    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 
     148    href="../common/glibc.xml" 
     149    xpointer="xpointer(//*[@os='ld-c'])"/> 
    295150 
    296151  </sect2> 
    297152 
    298   <sect2 id="contents-glibc" role="content"> 
    299     <title>Contents of Glibc</title> 
    300  
    301     <segmentedlist> 
    302       <segtitle>Installed programs</segtitle> 
    303       <segtitle>Installed libraries</segtitle> 
    304  
    305       <seglistitem> 
    306         <seg>catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig, 
    307         ldd, lddlibc4, locale, localedef, mtrace, nscd, 
    308         pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, 
    309         zdump, and zic</seg> 
    310         <seg>ld.so, libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so], 
    311         libbsd-compat.a, libc.[a,so], libcrypt.[a,so], libdl.[a,so], libg.a, 
    312         libieee.a, libm.[a,so], libmcheck.a, libmemusage.so, libnsl.a, 
    313         libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, 
    314         libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so], 
    315         libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so, and 
    316         libutil.[a,so]</seg> 
    317       </seglistitem> 
    318     </segmentedlist> 
    319  
    320     <variablelist> 
    321       <bridgehead renderas="sect3">Short Descriptions</bridgehead> 
    322       <?dbfo list-presentation="list"?> 
    323       <?dbhtml list-presentation="table"?> 
    324  
    325       <varlistentry id="catchsegv"> 
    326         <term><command>catchsegv</command></term> 
    327         <listitem> 
    328           <para>Can be used to create a stack trace when a program 
    329           terminates with a segmentation fault</para> 
    330           <indexterm zone="ch-system-glibc catchsegv"> 
    331             <primary sortas="b-catchsegv">catchsegv</primary> 
    332           </indexterm> 
    333         </listitem> 
    334       </varlistentry> 
    335  
    336       <varlistentry id="gencat"> 
    337         <term><command>gencat</command></term> 
    338         <listitem> 
    339           <para>Generates message catalogues</para> 
    340           <indexterm zone="ch-system-glibc gencat"> 
    341             <primary sortas="b-gencat">gencat</primary> 
    342           </indexterm> 
    343         </listitem> 
    344       </varlistentry> 
    345  
    346       <varlistentry id="getconf"> 
    347         <term><command>getconf</command></term> 
    348         <listitem> 
    349           <para>Displays the system configuration values for file system specific 
    350           variables</para> 
    351           <indexterm zone="ch-system-glibc getconf"> 
    352             <primary sortas="b-getconf">getconf</primary> 
    353           </indexterm> 
    354         </listitem> 
    355       </varlistentry> 
    356  
    357       <varlistentry id="getent"> 
    358         <term><command>getent</command></term> 
    359         <listitem> 
    360           <para>Gets entries from an administrative database</para> 
    361           <indexterm zone="ch-system-glibc getent"> 
    362             <primary sortas="b-getent">getent</primary> 
    363           </indexterm> 
    364         </listitem> 
    365       </varlistentry> 
    366  
    367       <varlistentry id="iconv"> 
    368         <term><command>iconv</command></term> 
    369         <listitem> 
    370           <para>Performs character set conversion</para> 
    371           <indexterm zone="ch-system-glibc iconv"> 
    372             <primary sortas="b-iconv">iconv</primary> 
    373           </indexterm> 
    374         </listitem> 
    375       </varlistentry> 
    376  
    377       <varlistentry id="iconvconfig"> 
    378         <term><command>iconvconfig</command></term> 
    379         <listitem> 
    380           <para>Creates fastloading <command>iconv</command> module configuration 
    381           files</para> 
    382           <indexterm zone="ch-system-glibc iconvconfig"> 
    383             <primary sortas="b-iconvconfig">iconvconfig</primary> 
    384           </indexterm> 
    385         </listitem> 
    386       </varlistentry> 
    387  
    388       <varlistentry id="ldconfig"> 
    389         <term><command>ldconfig</command></term> 
    390         <listitem> 
    391           <para>Configures the dynamic linker runtime bindings</para> 
    392           <indexterm zone="ch-system-glibc ldconfig"> 
    393             <primary sortas="b-ldconfig">ldconfig</primary> 
    394           </indexterm> 
    395         </listitem> 
    396       </varlistentry> 
    397  
    398       <varlistentry id="ldd"> 
    399         <term><command>ldd</command></term> 
    400         <listitem> 
    401           <para>Reports which shared libraries are required 
    402           by each given program or shared library</para> 
    403           <indexterm zone="ch-system-glibc ldd"> 
    404             <primary sortas="b-ldd">ldd</primary> 
    405           </indexterm> 
    406         </listitem> 
    407       </varlistentry> 
    408  
    409       <varlistentry id="lddlibc4"> 
    410         <term><command>lddlibc4</command></term> 
    411         <listitem> 
    412           <para>Assists <command>ldd</command> with object files</para> 
    413           <indexterm zone="ch-system-glibc lddlibc4"> 
    414             <primary sortas="b-lddlibc4">lddlibc4</primary> 
    415           </indexterm> 
    416         </listitem> 
    417       </varlistentry> 
    418  
    419       <varlistentry id="locale"> 
    420         <term><command>locale</command></term> 
    421         <listitem> 
    422           <para>Tells the compiler to enable or disable the use of POSIX locales 
    423           for built-in operations</para> 
    424           <indexterm zone="ch-system-glibc locale"> 
    425             <primary sortas="b-locale">locale</primary> 
    426           </indexterm> 
    427         </listitem> 
    428       </varlistentry> 
    429  
    430       <varlistentry id="localedef"> 
    431         <term><command>localedef</command></term> 
    432         <listitem> 
    433           <para>Compiles locale specifications</para> 
    434           <indexterm zone="ch-system-glibc localedef"> 
    435             <primary sortas="b-localedef">localedef</primary> 
    436           </indexterm> 
    437         </listitem> 
    438       </varlistentry> 
    439  
    440       <varlistentry id="mtrace"> 
    441         <term><command>mtrace</command></term> 
    442         <listitem> 
    443           <para>Reads and interprets a memory trace file and 
    444           displays a summary in human-readable format</para> 
    445           <indexterm zone="ch-system-glibc mtrace"> 
    446             <primary sortas="b-mtrace">mtrace</primary> 
    447           </indexterm> 
    448         </listitem> 
    449       </varlistentry> 
    450  
    451       <varlistentry id="nscd"> 
    452         <term><command>nscd</command></term> 
    453         <listitem> 
    454           <para>A daemon that provides a cache for the most common name 
    455           service requests</para> 
    456           <indexterm zone="ch-system-glibc nscd"> 
    457             <primary sortas="b-nscd">nscd</primary> 
    458           </indexterm> 
    459         </listitem> 
    460       </varlistentry> 
    461  
    462       <varlistentry id="pcprofiledump"> 
    463         <term><command>pcprofiledump</command></term> 
    464         <listitem> 
    465           <para>Dumps information generated by PC profiling</para> 
    466           <indexterm zone="ch-system-glibc pcprofiledump"> 
    467             <primary sortas="b-pcprofiledump">pcprofiledump</primary> 
    468           </indexterm> 
    469         </listitem> 
    470       </varlistentry> 
    471  
    472       <varlistentry id="pt_chown"> 
    473         <term><command>pt_chown</command></term> 
    474         <listitem> 
    475           <para>A helper program for <command>grantpt</command> to set the owner, 
    476           group and access permissions of a slave pseudo terminal</para> 
    477           <indexterm zone="ch-system-glibc pt_chown"> 
    478             <primary sortas="b-pt_chown">pt_chown</primary> 
    479           </indexterm> 
    480         </listitem> 
    481       </varlistentry> 
    482  
    483       <varlistentry id="rpcgen"> 
    484         <term><command>rpcgen</command></term> 
    485         <listitem> 
    486           <para>Generates C code to implement the Remote Procecure Call (RPC) 
    487           protocol</para> 
    488           <indexterm zone="ch-system-glibc rpcgen"> 
    489             <primary sortas="b-rpcgen">rpcgen</primary> 
    490           </indexterm> 
    491         </listitem> 
    492       </varlistentry> 
    493  
    494       <varlistentry id="rpcinfo"> 
    495         <term><command>rpcinfo</command></term> 
    496         <listitem> 
    497           <para>Makes an RPC call to an RPC server</para> 
    498           <indexterm zone="ch-system-glibc rpcinfo"> 
    499             <primary sortas="b-rpcinfo">rpcinfo</primary> 
    500           </indexterm> 
    501         </listitem> 
    502       </varlistentry> 
    503  
    504       <varlistentry id="sln"> 
    505         <term><command>sln</command></term> 
    506         <listitem> 
    507           <para>A statically linked program that creates symbolic links</para> 
    508           <indexterm zone="ch-system-glibc sln"> 
    509             <primary sortas="b-sln">sln</primary> 
    510           </indexterm> 
    511         </listitem> 
    512       </varlistentry> 
    513  
    514       <varlistentry id="sprof"> 
    515         <term><command>sprof</command></term> 
    516         <listitem> 
    517           <para>Reads and displays shared object profiling data</para> 
    518           <indexterm zone="ch-system-glibc sprof"> 
    519             <primary sortas="b-sprof">sprof</primary> 
    520           </indexterm> 
    521         </listitem> 
    522       </varlistentry> 
    523  
    524       <varlistentry id="tzselect"> 
    525         <term><command>tzselect</command></term> 
    526         <listitem> 
    527           <para>Asks the user about the location of the 
    528           system and reports the corresponding time zone description</para> 
    529           <indexterm zone="ch-system-glibc tzselect"> 
    530             <primary sortas="b-tzselect">tzselect</primary> 
    531           </indexterm> 
    532         </listitem> 
    533       </varlistentry> 
    534  
    535       <varlistentry id="xtrace"> 
    536         <term><command>xtrace</command></term> 
    537         <listitem> 
    538           <para>Traces the execution of a program by 
    539           printing the currently executed function</para> 
    540           <indexterm zone="ch-system-glibc xtrace"> 
    541             <primary sortas="b-xtrace">xtrace</primary> 
    542           </indexterm> 
    543         </listitem> 
    544       </varlistentry> 
    545  
    546       <varlistentry id="zdump"> 
    547         <term><command>zdump</command></term> 
    548         <listitem> 
    549           <para>The time zone dumper</para> 
    550           <indexterm zone="ch-system-glibc zdump"> 
    551             <primary sortas="b-zdump">zdump</primary> 
    552           </indexterm> 
    553         </listitem> 
    554       </varlistentry> 
    555  
    556       <varlistentry id="zic"> 
    557         <term><command>zic</command></term> 
    558         <listitem> 
    559           <para>The time zone compiler</para> 
    560           <indexterm zone="ch-system-glibc zic"> 
    561             <primary sortas="b-zic">zic</primary> 
    562           </indexterm> 
    563         </listitem> 
    564       </varlistentry> 
    565  
    566       <varlistentry id="ld.so"> 
    567         <term><filename class="libraryfile">ld.so</filename></term> 
    568         <listitem> 
    569           <para>The helper program for shared library executables</para> 
    570           <indexterm zone="ch-system-glibc ld.so"> 
    571             <primary sortas="c-ld.so">ld.so</primary> 
    572           </indexterm> 
    573         </listitem> 
    574       </varlistentry> 
    575  
    576       <varlistentry id="libBrokenLocale"> 
    577         <term><filename class="libraryfile">libBrokenLocale</filename></term> 
    578         <listitem> 
    579           <para>Used by programs, such as Mozilla, to solve broken locales</para> 
    580           <indexterm zone="ch-system-glibc libBrokenLocale"> 
    581             <primary sortas="c-libBrokenLocale">libBrokenLocale</primary> 
    582           </indexterm> 
    583         </listitem> 
    584       </varlistentry> 
    585  
    586       <varlistentry id="libSegFault"> 
    587         <term><filename class="libraryfile">libSegFault</filename></term> 
    588         <listitem> 
    589           <para>The segmentation fault signal handler</para> 
    590           <indexterm zone="ch-system-glibc libSegFault"> 
    591             <primary sortas="c-libSegFault">libSegFault</primary> 
    592           </indexterm> 
    593         </listitem> 
    594       </varlistentry> 
    595  
    596       <varlistentry id="libanl"> 
    597         <term><filename class="libraryfile">libanl</filename></term> 
    598         <listitem> 
    599           <para>An asynchronous name lookup library</para> 
    600           <indexterm zone="ch-system-glibc libanl"> 
    601             <primary sortas="c-libanl">libanl</primary> 
    602           </indexterm> 
    603         </listitem> 
    604       </varlistentry> 
    605  
    606       <varlistentry id="libbsd-compat"> 
    607         <term><filename class="libraryfile">libbsd-compat</filename></term> 
    608         <listitem> 
    609           <para>Provides the portability needed 
    610           in order to run certain Berkey Software Distribution (BSD) programs 
    611           under Linux</para> 
    612           <indexterm zone="ch-system-glibc libbsd-compat"> 
    613             <primary sortas="c-libbsd-compat">libbsd-compat</primary> 
    614           </indexterm> 
    615         </listitem> 
    616       </varlistentry> 
    617  
    618       <varlistentry id="libc"> 
    619         <term><filename class="libraryfile">libc</filename></term> 
    620         <listitem> 
    621           <para>The main C library</para> 
    622           <indexterm zone="ch-system-glibc libc"> 
    623             <primary sortas="c-libc">libc</primary> 
    624           </indexterm> 
    625         </listitem> 
    626       </varlistentry> 
    627  
    628       <varlistentry id="libcrypt"> 
    629         <term><filename class="libraryfile">libcrypt</filename></term> 
    630         <listitem> 
    631           <para>The cryptography library</para> 
    632           <indexterm zone="ch-system-glibc libcrypt"> 
    633             <primary sortas="c-libcrypt">libcrypt</primary> 
    634           </indexterm> 
    635         </listitem> 
    636       </varlistentry> 
    637  
    638       <varlistentry id="libdl"> 
    639         <term><filename class="libraryfile">libdl</filename></term> 
    640         <listitem> 
    641           <para>The dynamic linking interface library</para> 
    642           <indexterm zone="ch-system-glibc libdl"> 
    643             <primary sortas="c-libdl">libdl</primary> 
    644           </indexterm> 
    645         </listitem> 
    646       </varlistentry> 
    647  
    648       <varlistentry id="libg"> 
    649         <term><filename class="libraryfile">libg</filename></term> 
    650         <listitem> 
    651           <para>A runtime library for <command>g++</command></para> 
    652           <indexterm zone="ch-system-glibc libg"> 
    653             <primary sortas="c-libg">libg</primary> 
    654           </indexterm> 
    655         </listitem> 
    656       </varlistentry> 
    657  
    658       <varlistentry id="libieee"> 
    659         <term><filename class="libraryfile">libieee</filename></term> 
    660         <listitem> 
    661           <para>The Institute of Electrical and Electronic Engineers (IEEE) 
    662           floating point library</para> 
    663           <indexterm zone="ch-system-glibc libieee"> 
    664             <primary sortas="c-libieee">libieee</primary> 
    665           </indexterm> 
    666         </listitem> 
    667       </varlistentry> 
    668  
    669       <varlistentry id="libm"> 
    670         <term><filename class="libraryfile">libm</filename></term> 
    671         <listitem> 
    672           <para>The mathematical library</para> 
    673           <indexterm zone="ch-system-glibc libm"> 
    674             <primary sortas="c-libm">libm</primary> 
    675           </indexterm> 
    676         </listitem> 
    677       </varlistentry> 
    678  
    679       <varlistentry id="libmcheck"> 
    680         <term><filename class="libraryfile">libmcheck</filename></term> 
    681         <listitem> 
    682           <para>Contains code run at boot</para> 
    683           <indexterm zone="ch-system-glibc libmcheck"> 
    684             <primary sortas="c-libmcheck">libmcheck</primary> 
    685           </indexterm> 
    686         </listitem> 
    687       </varlistentry> 
    688  
    689       <varlistentry id="libmemusage"> 
    690         <term><filename class="libraryfile">libmemusage</filename></term> 
    691         <listitem> 
    692           <para>Used by <command>memusage</command> (included in Glibc, but 
    693           not built in a base CLFS system as it has additional dependencies) 
    694           to help collect information about the memory usage of a program</para> 
    695           <indexterm zone="ch-system-glibc libmemusage"> 
    696             <primary sortas="c-libmemusage">libmemusage</primary> 
    697           </indexterm> 
    698         </listitem> 
    699       </varlistentry> 
    700  
    701       <varlistentry id="libnsl"> 
    702         <term><filename class="libraryfile">libnsl</filename></term> 
    703         <listitem> 
    704           <para>The network services library</para> 
    705           <indexterm zone="ch-system-glibc libnsl"> 
    706             <primary sortas="c-libnsl">libnsl</primary> 
    707           </indexterm> 
    708         </listitem> 
    709       </varlistentry> 
    710  
    711       <varlistentry id="libnss"> 
    712         <term><filename class="libraryfile">libnss</filename></term> 
    713         <listitem> 
    714           <para>The Name Service Switch libraries, containing functions for 
    715           resolving host names, user names, group names, aliases, services, 
    716           protocols, etc.</para> 
    717           <indexterm zone="ch-system-glibc libnss"> 
    718             <primary sortas="c-libnss">libnss</primary> 
    719           </indexterm> 
    720         </listitem> 
    721       </varlistentry> 
    722  
    723       <varlistentry id="libpcprofile"> 
    724         <term><filename class="libraryfile">libpcprofile</filename></term> 
    725         <listitem> 
    726           <para>Contains profiling functions used to track the amount of CPU 
    727           time spent in specific source code lines</para> 
    728           <indexterm zone="ch-system-glibc libpcprofile"> 
    729             <primary sortas="c-libpcprofile">libpcprofile</primary> 
    730           </indexterm> 
    731         </listitem> 
    732       </varlistentry> 
    733  
    734       <varlistentry id="libpthread"> 
    735         <term><filename class="libraryfile">libpthread</filename></term> 
    736         <listitem> 
    737           <para>The POSIX threads library</para> 
    738           <indexterm zone="ch-system-glibc libpthread"> 
    739             <primary sortas="c-libpthread">libpthread</primary> 
    740           </indexterm> 
    741         </listitem> 
    742       </varlistentry> 
    743  
    744       <varlistentry id="libresolv"> 
    745         <term><filename class="libraryfile">libresolv</filename></term> 
    746         <listitem> 
    747           <para>Contains functions for creating, sending, and interpreting 
    748           packets to the Internet domain name servers</para> 
    749           <indexterm zone="ch-system-glibc libresolv"> 
    750             <primary sortas="c-libresolv">libresolv</primary> 
    751           </indexterm> 
    752         </listitem> 
    753       </varlistentry> 
    754  
    755       <varlistentry id="librpcsvc"> 
    756         <term><filename class="libraryfile">librpcsvc</filename></term> 
    757         <listitem> 
    758           <para>Contains functions providing miscellaneous RPC services</para> 
    759           <indexterm zone="ch-system-glibc librpcsvc"> 
    760             <primary sortas="c-librpcsvc">librpcsvc</primary> 
    761           </indexterm> 
    762         </listitem> 
    763       </varlistentry> 
    764  
    765       <varlistentry id="librt"> 
    766         <term><filename class="libraryfile">librt</filename></term> 
    767         <listitem> 
    768           <para>Contains functions providing most of the interfaces specified by 
    769           the POSIX.1b Realtime Extension</para> 
    770           <indexterm zone="ch-system-glibc librt"> 
    771             <primary sortas="c-librt">librt</primary> 
    772           </indexterm> 
    773         </listitem> 
    774       </varlistentry> 
    775  
    776       <varlistentry id="libthread_db"> 
    777         <term><filename class="libraryfile">libthread_db</filename></term> 
    778         <listitem> 
    779           <para>Contains functions useful for 
    780           building debuggers for multi-threaded programs</para> 
    781           <indexterm zone="ch-system-glibc libthread_db"> 
    782             <primary sortas="c-libthread_db">libthread_db</primary> 
    783           </indexterm> 
    784         </listitem> 
    785       </varlistentry> 
    786  
    787       <varlistentry id="libutil"> 
    788         <term><filename class="libraryfile">libutil</filename></term> 
    789         <listitem> 
    790           <para>Contains code for <quote>standard</quote> functions used in 
    791           many different Unix utilities</para> 
    792           <indexterm zone="ch-system-glibc libutil"> 
    793             <primary sortas="c-libutil">libutil</prim