source: chapter06/glibc.xml@ c9858bb

Last change on this file since c9858bb was c9858bb, checked in by Matthew Burgess <matthew@…>, 19 years ago

Mainline merge as of 2005-08-12

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

  • Property mode set to 100644
File size: 26.2 KB
Line 
1<?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" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 <!ENTITY % patches-entities SYSTEM "../patches.ent">
5 %general-entities;
6 %patches-entities;
7]>
8<sect1 id="ch-system-glibc" role="wrap">
9<title>Glibc-&glibc-version;</title>
10<?dbhtml filename="glibc.html"?>
11
12<indexterm zone="ch-system-glibc"><primary sortas="a-Glibc">Glibc</primary></indexterm>
13
14<sect2 role="package"><title/>
15<para>The Glibc package contains the main C library. This library provides
16the basic routines for allocating memory, searching directories, opening and
17closing files, reading and writing files, string handling, pattern matching,
18arithmetic, and so on.</para>
19
20<segmentedlist>
21<segtitle>&buildtime;</segtitle>
22<segtitle>&diskspace;</segtitle>
23<seglistitem><seg>12.3 SBU</seg><seg>476</seg></seglistitem>
24</segmentedlist>
25
26<segmentedlist>
27<segtitle>&dependencies;</segtitle>
28<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
29Gawk, GCC, Gettext, Grep, Make, Perl, Sed, and Texinfo</seg></seglistitem>
30</segmentedlist>
31</sect2>
32
33<sect2 role="installation">
34<title>Installation of Glibc</title>
35
36<note><para>Some packages outside of LFS suggest installing GNU libiconv in
37order to translate data from one encoding to another. The project's home page
38(<ulink url="http://www.gnu.org/software/libiconv/"/>) says <quote>This library
39provides an <function>iconv()</function> implementation, for use on systems
40which don't have one, or whose implementation cannot convert from/to Unicode.
41</quote> Glibc provides an <function>iconv()</function> implementation and can
42convert from/to Unicode, therefore libiconv is not required on an LFS
43system.</para></note>
44
45<para>This package is known to have issues when its default
46optimization flags (including the <parameter>-march</parameter> and
47<parameter>-mcpu</parameter> options) are changed. If any environment
48variables that override default optimizations have been defined, such
49as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>,
50unset them when building Glibc.</para>
51
52<para>The Glibc build system is self-contained and will install
53perfectly, even though the compiler specs file and linker are still
54pointing at <filename class="directory">/tools</filename>. The specs
55and linker cannot be adjusted before the Glibc install because the
56Glibc autoconf tests would give false results and defeat the goal
57of achieving a clean build.</para>
58
59<para>The linuxthreads tarball contains the man pages for the
60threading libraries installed by Glibc. Unpack the tarball from
61within the Glibc source directory:</para>
62
63<screen><userinput>tar -xjvf /sources/glibc-linuxthreads-&glibc-version;.tar.bz2</userinput></screen>
64
65<para>Glibc has two tests which fail when the running kernel is 2.6.11.x The
66problem has been determined to be with the tests themselves, not with the libc
67nor the kernel. This patch fixes the problem:</para>
68
69<screen><userinput>patch -Np1 -i ../&glibc-testfix-patch;</userinput></screen>
70
71<para>Apply the following patches to enable Glibc to compile with
72GCC-&gcc-version;:</para>
73
74<screen><userinput>patch -Np1 -i ../&glibc-gcc4_symbols-patch;
75patch -Np1 -i ../&glibc-gcc4_string-patch;
76patch -Np1 -i ../&glibc-gcc4_elf-patch;
77patch -Np1 -i ../&glibc-gcc4_iconvdata-patch;</userinput></screen>
78
79<para>The Glibc documentation recommends building Glibc outside of the source
80directory in a dedicated build directory:</para>
81
82<screen><userinput>mkdir ../glibc-build
83cd ../glibc-build</userinput></screen>
84
85<para>Prepare Glibc for compilation:</para>
86
87<screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
88 --disable-profile --enable-add-ons \
89 --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc</userinput></screen>
90
91<para>The meaning of the new configure options:</para>
92
93<variablelist>
94<varlistentry>
95<term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
96<listitem><para>This changes the location of the
97<command>pt_chown</command> program from its default of <filename
98class="directory">/usr/libexec</filename> to <filename
99class="directory">/usr/lib/glibc</filename>.</para></listitem>
100</varlistentry>
101</variablelist>
102
103<para>Compile the package:</para>
104
105<screen><userinput>make</userinput></screen>
106
107<important><para>In this section, the test suite for Glibc is
108considered critical. Do not skip it under any
109circumstance.</para></important>
110
111<para>Test the results:</para>
112
113<screen><userinput>make check</userinput></screen>
114
115<para>The Glibc test suite is highly dependent on certain functions of
116the host system, in particular the kernel. In general, the Glibc test
117suite is always expected to pass. However, in certain circumstances,
118some failures are unavoidable. This is a list of the most common
119issues:</para>
120
121<itemizedlist>
122<listitem><para>The <emphasis>math</emphasis> tests sometimes fail when running
123on systems where the CPU is not a relatively new genuine Intel or authentic AMD.
124Certain optimization settings are also known to be a factor here.</para></listitem>
125
126<listitem><para>The <emphasis>gettext</emphasis> test sometimes fails due to
127host system issues. The exact reasons are not yet clear.</para></listitem>
128
129<listitem><para>If you have mounted the LFS partition with the
130<parameter>noatime</parameter> option, the <emphasis>atime</emphasis> test will
131fail. As mentioned in <xref linkend="space-mounting"/>, do not use the
132<parameter>noatime</parameter> option while building LFS.</para></listitem>
133
134<listitem><para>When running on older and slower hardware, some tests
135can fail because of test timeouts being exceeded.</para></listitem>
136</itemizedlist>
137
138<para>Though it is a harmless message, the install stage of Glibc will
139complain about the absence of <filename>/etc/ld.so.conf</filename>.
140Prevent this warning with:</para>
141
142<screen><userinput>touch /etc/ld.so.conf</userinput></screen>
143
144<para>Install the package:</para>
145
146<screen><userinput>make install</userinput></screen>
147
148<para>The locales that can make the system respond in a different
149language were not installed by the above command. Install this
150with:</para>
151
152<screen><userinput>make localedata/install-locales</userinput></screen>
153
154<para>To save time, an alternative to running the
155previous command (which generates and installs every locale Glibc is
156aware of) is to install only those locales that are wanted and needed.
157This can be achieved by using the <command>localedef</command>
158command. Information on this command is located in the
159<filename>INSTALL</filename> file in the Glibc source. However, there
160are a number of locales that are essential in order for the tests of
161future packages to pass, in particular, the
162<emphasis>libstdc++</emphasis> tests from GCC. The following
163instructions, instead of the <parameter>install-locales</parameter>
164target used above, will install the minimum set of locales necessary
165for the tests to run successfully:</para>
166
167<screen><userinput>mkdir -p /usr/lib/locale
168localedef -i de_DE -f ISO-8859-1 de_DE
169localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
170localedef -i en_HK -f ISO-8859-1 en_HK
171localedef -i en_PH -f ISO-8859-1 en_PH
172localedef -i en_US -f ISO-8859-1 en_US
173localedef -i es_MX -f ISO-8859-1 es_MX
174localedef -i fa_IR -f UTF-8 fa_IR
175localedef -i fr_FR -f ISO-8859-1 fr_FR
176localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
177localedef -i it_IT -f ISO-8859-1 it_IT
178localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
179
180<para>Some locales installed by the <command>make
181localedata/install-locales</command> command above are not properly
182supported by some applications that are in the LFS and BLFS books.
183Because of the various problems that arise due to application
184programmers making assumptions that break in such locales, LFS should
185not be used in locales that utilize multibyte character sets
186(including UTF-8) or right-to-left writing order. Numerous unofficial
187and unstable patches are required to fix these problems, and it has
188been decided by the LFS developers not to support such complex locales. This applies to the
189ja_JP and fa_IR locales as well&mdash;they have been installed only for
190GCC and Gettext tests to pass, and the <command>watch</command> program
191(part of the Procps package) does not work properly in them. Various
192attempts to circumvent these restrictions are documented in
193internationalization-related hints.</para>
194
195<para>Build the linuxthreads man pages, which are a great reference
196on the threading API (applicable to NPTL as well):</para>
197
198<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
199
200<para>Install these pages:</para>
201
202<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man install</userinput></screen>
203
204</sect2>
205
206<sect2 id="conf-glibc" role="configuration"><title>Configuring Glibc</title>
207<indexterm zone="conf-glibc"><primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm>
208<indexterm zone="conf-glibc"><primary sortas="e-/etc/localtime">/etc/localtime</primary></indexterm>
209
210<para>The <filename>/etc/nsswitch.conf</filename> file needs to be created
211because, although Glibc provides defaults when this file is missing or corrupt,
212the Glibc defaults do not work well in a networked environment. The time zone
213also needs to be configured.</para>
214
215<para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the
216following:</para>
217
218<screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
219<literal># Begin /etc/nsswitch.conf
220
221passwd: files
222group: files
223shadow: files
224
225hosts: files dns
226networks: files
227
228protocols: files
229services: files
230ethers: files
231rpc: files
232
233# End /etc/nsswitch.conf</literal>
234EOF</userinput></screen>
235
236<para>To determine the local time zone, run the following script:</para>
237
238<screen><userinput>tzselect</userinput></screen>
239
240<para>After answering a few questions about the location, the script
241will output the name of the time zone (e.g.,
242<emphasis>EST5EDT</emphasis> or <emphasis>Canada/Eastern</emphasis>).
243Then create the <filename>/etc/localtime</filename> file by
244running:</para>
245
246<screen><userinput>cp --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \
247 /etc/localtime</userinput></screen>
248
249<para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone
250that <command>tzselect</command> provided (e.g., Canada/Eastern).</para>
251
252<para>The meaning of the cp option:</para>
253
254<variablelist>
255<varlistentry>
256<term><parameter>--remove-destination</parameter></term>
257<listitem><para>This is needed to force removal of the already
258existing symbolic link. The reason for copying the file instead of
259using a symlink is to cover the situation where <filename
260class="directory">/usr</filename> is on a separate partition. This
261could be important when booted into single user
262mode.</para></listitem>
263</varlistentry>
264</variablelist>
265
266</sect2>
267
268
269<sect2 id="conf-ld" role="configuration">
270<title>Configuring Dynamic Loader</title>
271<indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
272
273<para>By default, the dynamic loader (<filename
274class="libraryfile">/lib/ld-linux.so.2</filename>) searches through
275<filename class="directory">/lib</filename> and <filename
276class="directory">/usr/lib</filename> for dynamic libraries that are
277needed by programs as they are run. However, if there are libraries in
278directories other than <filename class="directory">/lib</filename> and
279<filename class="directory">/usr/lib</filename>, these need to be
280added to the <filename>/etc/ld.so.conf</filename> file in order
281for the dynamic loader to find them. Two directories that are commonly
282known to contain additional libraries are <filename
283class="directory">/usr/local/lib</filename> and <filename
284class="directory">/opt/lib</filename>, so add those directories to the
285dynamic loader's search path.</para>
286
287<para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
288following:</para>
289
290<screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
291<literal># Begin /etc/ld.so.conf
292
293/usr/local/lib
294/opt/lib
295
296# End /etc/ld.so.conf</literal>
297EOF</userinput></screen>
298
299</sect2>
300
301<sect2 id="contents-glibc" role="content"><title>Contents of Glibc</title>
302
303<segmentedlist>
304<segtitle>Installed programs</segtitle>
305<segtitle>Installed libraries</segtitle>
306<seglistitem><seg>catchsegv, gencat, getconf,
307getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
308localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
309rpcinfo, sln, sprof, tzselect, xtrace, zdump, and zic</seg>
310<seg>ld.so, libBrokenLocale.[a,so],
311libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so],
312libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
313libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
314libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
315libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so],
316libthread_db.so, and libutil.[a,so]</seg></seglistitem>
317</segmentedlist>
318
319<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
320<?dbfo list-presentation="list"?>
321<?dbhtml list-presentation="table"?>
322
323<varlistentry id="catchsegv">
324<term><command>catchsegv</command></term>
325<listitem>
326<para>Can be used to create a stack trace when a program
327terminates with a segmentation fault</para>
328<indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm>
329</listitem>
330</varlistentry>
331
332<varlistentry id="gencat">
333<term><command>gencat</command></term>
334<listitem>
335<para>Generates message catalogues</para>
336<indexterm zone="ch-system-glibc gencat"><primary sortas="b-gencat">gencat</primary></indexterm>
337</listitem>
338</varlistentry>
339
340<varlistentry id="getconf">
341<term><command>getconf</command></term>
342<listitem>
343<para>Displays the system configuration values for file system specific variables</para>
344<indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm>
345</listitem>
346</varlistentry>
347
348<varlistentry id="getent">
349<term><command>getent</command></term>
350<listitem>
351<para>Gets entries from an administrative database</para>
352<indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm>
353</listitem>
354</varlistentry>
355
356<varlistentry id="iconv">
357<term><command>iconv</command></term>
358<listitem>
359<para>Performs character set conversion</para>
360<indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm>
361</listitem>
362</varlistentry>
363
364<varlistentry id="iconvconfig">
365<term><command>iconvconfig</command></term>
366<listitem>
367<para>Creates fastloading <command>iconv</command> module configuration files</para>
368<indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm>
369</listitem>
370</varlistentry>
371
372<varlistentry id="ldconfig">
373<term><command>ldconfig</command></term>
374<listitem>
375<para>Configures the dynamic linker runtime bindings</para>
376<indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm>
377</listitem>
378</varlistentry>
379
380<varlistentry id="ldd">
381<term><command>ldd</command></term>
382<listitem>
383<para>Reports which shared libraries are required
384by each given program or shared library</para>
385<indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm>
386</listitem>
387</varlistentry>
388
389<varlistentry id="lddlibc4">
390<term><command>lddlibc4</command></term>
391<listitem>
392<para>Assists <command>ldd</command> with object files</para>
393<indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm>
394</listitem>
395</varlistentry>
396
397<varlistentry id="locale">
398<term><command>locale</command></term>
399<listitem>
400<para>Tells the compiler to enable or disable the use of POSIX locales
401for built-in operations</para>
402<indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm>
403</listitem>
404</varlistentry>
405
406<varlistentry id="localedef">
407<term><command>localedef</command></term>
408<listitem>
409<para>Compiles locale specifications</para>
410<indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm>
411</listitem>
412</varlistentry>
413
414<varlistentry id="mtrace">
415<term><command>mtrace</command></term>
416<listitem>
417<para>Reads and interprets a memory trace file and displays a summary in human-readable format</para>
418<indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm>
419</listitem>
420</varlistentry>
421
422<varlistentry id="nscd">
423<term><command>nscd</command></term>
424<listitem>
425<para>A daemon that provides a cache for the most common name
426service requests</para>
427<indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm>
428</listitem>
429</varlistentry>
430
431<varlistentry id="nscd_nischeck">
432<term><command>nscd_nischeck</command></term>
433<listitem>
434<para>Checks whether or not secure mode is necessary for NIS+ lookup</para>
435<indexterm zone="ch-system-glibc nscd_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
436</listitem>
437</varlistentry>
438
439<varlistentry id="pcprofiledump">
440<term><command>pcprofiledump</command></term>
441<listitem>
442<para>Dumps information generated by PC profiling</para>
443<indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
444</listitem>
445</varlistentry>
446
447<varlistentry id="pt_chown">
448<term><command>pt_chown</command></term>
449<listitem>
450<para>A helper program for <command>grantpt</command> to set
451the owner, group and access permissions of a slave pseudo terminal</para>
452<indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm>
453</listitem>
454</varlistentry>
455
456<varlistentry id="rpcgen">
457<term><command>rpcgen</command></term>
458<listitem>
459<para>Generates C code to implement the Remote Procecure Call (RPC) protocol</para>
460<indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm>
461</listitem>
462</varlistentry>
463
464<varlistentry id="rpcinfo">
465<term><command>rpcinfo</command></term>
466<listitem>
467<para>Makes an RPC call to an RPC server</para>
468<indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm>
469</listitem>
470</varlistentry>
471
472<varlistentry id="sln">
473<term><command>sln</command></term>
474<listitem>
475<para>A statically linked <command>ln</command> program</para>
476<indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm>
477</listitem>
478</varlistentry>
479
480<varlistentry id="sprof">
481<term><command>sprof</command></term>
482<listitem>
483<para>Reads and displays shared object profiling data</para>
484<indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm>
485</listitem>
486</varlistentry>
487
488<varlistentry id="tzselect">
489<term><command>tzselect</command></term>
490<listitem>
491<para>Asks the user about the location of the
492system and reports the corresponding time zone description</para>
493<indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm>
494</listitem>
495</varlistentry>
496
497<varlistentry id="xtrace">
498<term><command>xtrace</command></term>
499<listitem>
500<para>Traces the execution of a program by
501printing the currently executed function</para>
502<indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm>
503</listitem>
504</varlistentry>
505
506<varlistentry id="zdump">
507<term><command>zdump</command></term>
508<listitem>
509<para>The time zone dumper</para>
510<indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm>
511</listitem>
512</varlistentry>
513
514<varlistentry id="zic">
515<term><command>zic</command></term>
516<listitem>
517<para>The time zone compiler</para>
518<indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm>
519</listitem>
520</varlistentry>
521
522<varlistentry id="ld.so">
523<term><filename class="libraryfile">ld.so</filename></term>
524<listitem>
525<para>The helper program for shared library executables</para>
526<indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm>
527</listitem>
528</varlistentry>
529
530<varlistentry id="libBrokenLocale">
531<term><filename class="libraryfile">libBrokenLocale</filename></term>
532<listitem>
533<para>Used by programs, such as Mozilla, to solve broken locales</para>
534<indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
535</listitem>
536</varlistentry>
537
538<varlistentry id="libSegFault">
539<term><filename class="libraryfile">libSegFault</filename></term>
540<listitem>
541<para>The segmentation fault signal handler</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
558in 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="libcrypt">
572<term><filename class="libraryfile">libcrypt</filename></term>
573<listitem>
574<para>The cryptography library</para>
575<indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm>
576</listitem>
577</varlistentry>
578
579<varlistentry id="libdl">
580<term><filename class="libraryfile">libdl</filename></term>
581<listitem>
582<para>The dynamic linking interface library</para>
583<indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm>
584</listitem>
585</varlistentry>
586
587<varlistentry id="libg">
588<term><filename class="libraryfile">libg</filename></term>
589<listitem>
590<para>A runtime library for <command>g++</command></para>
591<indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm>
592</listitem>
593</varlistentry>
594
595<varlistentry id="libieee">
596<term><filename class="libraryfile">libieee</filename></term>
597<listitem>
598<para>The Institute of Electrical and Electronic Engineers (IEEE) floating point library</para>
599<indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm>
600</listitem>
601</varlistentry>
602
603<varlistentry id="libm">
604<term><filename class="libraryfile">libm</filename></term>
605<listitem>
606<para>The mathematical library</para>
607<indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm>
608</listitem>
609</varlistentry>
610
611<varlistentry id="libmcheck">
612<term><filename class="libraryfile">libmcheck</filename></term>
613<listitem>
614<para>Contains code run at boot</para>
615<indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm>
616</listitem>
617</varlistentry>
618
619<varlistentry id="libmemusage">
620<term><filename class="libraryfile">libmemusage</filename></term>
621<listitem>
622<para>Used by <command>memusage</command> to help collect
623information about the memory usage of a program</para>
624<indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm>
625</listitem>
626</varlistentry>
627
628<varlistentry id="libnsl">
629<term><filename class="libraryfile">libnsl</filename></term>
630<listitem>
631<para>The network services library</para>
632<indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm>
633</listitem>
634</varlistentry>
635
636<varlistentry id="libnss">
637<term><filename class="libraryfile">libnss</filename></term>
638<listitem>
639<para>The Name Service Switch libraries,
640containing functions for resolving host names, user names, group names,
641aliases, services, protocols, etc.</para>
642<indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss">libnss</primary></indexterm>
643</listitem>
644</varlistentry>
645
646<varlistentry id="libpcprofile">
647<term><filename class="libraryfile">libpcprofile</filename></term>
648<listitem>
649<para>Contains profiling functions used
650to track the amount of CPU time spent in specific source code lines</para>
651<indexterm zone="ch-system-glibc libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm>
652</listitem>
653</varlistentry>
654
655<varlistentry id="libpthread">
656<term><filename class="libraryfile">libpthread</filename></term>
657<listitem>
658<para>The POSIX threads library</para>
659<indexterm zone="ch-system-glibc libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm>
660</listitem>
661</varlistentry>
662
663<varlistentry id="libresolv">
664<term><filename class="libraryfile">libresolv</filename></term>
665<listitem>
666<para>Contains functions for creating,
667sending, and interpreting packets to the Internet domain name servers</para>
668<indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm>
669</listitem>
670</varlistentry>
671
672<varlistentry id="librpcsvc">
673<term><filename class="libraryfile">librpcsvc</filename></term>
674<listitem>
675<para>Contains functions providing miscellaneous RPC services</para>
676<indexterm zone="ch-system-glibc librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm>
677</listitem>
678</varlistentry>
679
680<varlistentry id="librt">
681<term><filename class="libraryfile">librt</filename></term>
682<listitem>
683<para>Contains functions providing most of the
684interfaces specified by the POSIX.1b Realtime Extension</para>
685<indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm>
686</listitem>
687</varlistentry>
688
689<varlistentry id="libthread_db">
690<term><filename class="libraryfile">libthread_db</filename></term>
691<listitem>
692<para>Contains functions useful for
693building debuggers for multi-threaded programs</para>
694<indexterm zone="ch-system-glibc libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm>
695</listitem>
696</varlistentry>
697
698<varlistentry id="libutil">
699<term><filename class="libraryfile">libutil</filename></term>
700<listitem>
701<para>Contains code for <quote>standard</quote> functions used in many different Unix utilities</para>
702<indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm>
703</listitem>
704</varlistentry>
705</variablelist>
706
707</sect2>
708
709</sect1>
710
Note: See TracBrowser for help on using the repository browser.