source: chapter06/glibc.xml@ 41ddb3b

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 41ddb3b was d93d1c90, checked in by Jeremy Huntwork <jhuntwork@…>, 18 years ago

Fixed locale generation for French UTF-8. Thanks to Dan McGhee and Alexander Patrakov.

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

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