glibc.xml 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692
  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. <indexterm zone="ch-system-glibc"><primary sortas="a-Glibc">Glibc</primary></indexterm>
  10. <sect2 role="package"><title/>
  11. <para>The Glibc package contains the main C library. This library provides
  12. the basic routines for allocating memory, searching directories, opening and
  13. closing files, reading and writing files, string handling, pattern matching,
  14. arithmetic, and so on.</para>
  15. <segmentedlist>
  16. <segtitle>&buildtime;</segtitle>
  17. <segtitle>&diskspace;</segtitle>
  18. <seglistitem><seg>16.7 SBU</seg><seg>500 MB</seg></seglistitem>
  19. </segmentedlist>
  20. <segmentedlist>
  21. <segtitle>&dependencies;</segtitle>
  22. <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
  23. Gawk, GCC, Gettext, Grep, Make, Perl, Sed, and Texinfo</seg></seglistitem>
  24. </segmentedlist>
  25. </sect2>
  26. <sect2 role="installation">
  27. <title>Installation of Glibc</title>
  28. <note><para>Some packages outside of LFS suggest installing GNU libiconv in
  29. order to translate data from one encoding to another. The project's home page
  30. (<ulink url="http://www.gnu.org/software/libiconv/"/>) says <quote>This library
  31. provides an <function>iconv()</function> implementation, for use on systems
  32. which don't have one, or whose implementation cannot convert from/to Unicode.
  33. </quote> Glibc provides an <function>iconv()</function> implementation and can
  34. convert from/to Unicode, therefore libiconv is not required on an LFS
  35. system.</para></note>
  36. <para>The Glibc build system is self-contained and will install
  37. perfectly, even though the compiler specs file and linker are still
  38. pointing at <filename class="directory">/tools</filename>. The specs
  39. and linker cannot be adjusted before the Glibc install because the
  40. Glibc autoconf tests would give false results and defeat the goal
  41. of achieving a clean build.</para>
  42. <para>The glibc-libidn tarball adds support for internationalized
  43. domain names (IDN) to Glibc. Note that many programs that
  44. support IDN require the full libidn library from
  45. <ulink url="http://josefsson.org/libidn/releases/"/>, not this add-on.
  46. Unpack the tarball from within the Glibc source
  47. directory:</para>
  48. <screen><userinput>tar jxf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen>
  49. <para>In the vi_VN.TCVN locale, bash enters infinite loop at startup. It is
  50. unknown whether this is a bash bug or a glibc problem. Disable installation
  51. of this locale in order to avoid the problem:</para>
  52. <screen><userinput>sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen>
  53. <para>The Glibc documentation recommends building Glibc outside of the source
  54. directory in a dedicated build directory:</para>
  55. <screen><userinput>mkdir -v ../glibc-build
  56. cd ../glibc-build</userinput></screen>
  57. <para>Prepare Glibc for compilation:</para>
  58. <screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
  59. --disable-profile --enable-add-ons=nptl,libidn \
  60. --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc</userinput></screen>
  61. <para>The meaning of the new configure options:</para>
  62. <variablelist>
  63. <varlistentry>
  64. <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
  65. <listitem><para>This changes the location of the
  66. <command>pt_chown</command> program from its default of <filename
  67. class="directory">/usr/libexec</filename> to <filename
  68. class="directory">/usr/lib/glibc</filename>.</para></listitem>
  69. </varlistentry>
  70. </variablelist>
  71. <para>Compile the package:</para>
  72. <screen><userinput>make</userinput></screen>
  73. <important><para>In this section, the test suite for Glibc is
  74. considered critical. Do not skip it under any
  75. circumstance.</para></important>
  76. <para>Test the results:</para>
  77. <screen><userinput>make -k check &gt;glibc-check-log 2&gt;&amp;1
  78. grep Error glibc-check-log</userinput></screen>
  79. <para>On at least i686 you can expect to see failures in the <emphasis>test-double
  80. </emphasis> and <emphasis>test-idouble</emphasis> math tests with
  81. gcc-&gcc-version;, as well as an expected (ignored) failure in <emphasis>
  82. posix/annexc</emphasis>. These two failures in the math tests appear to be
  83. harmless.</para>
  84. <para>The Glibc test suite is highly dependent on certain functions of
  85. the host system, in particular the kernel. In certain circumstances,
  86. some failures are unavoidable. This is a list of the most common
  87. issues:</para>
  88. <itemizedlist>
  89. <listitem><para>The <emphasis>math</emphasis> tests sometimes fail in other tests
  90. when running
  91. on systems where the CPU is not a relatively new genuine Intel or authentic AMD.
  92. Certain optimization settings are also known to be a factor here.</para></listitem>
  93. <listitem><para>The <emphasis>gettext</emphasis> test sometimes fails due to
  94. host system issues. The exact reasons are not yet clear.</para></listitem>
  95. <listitem><para>If you have mounted the LFS partition with the
  96. <parameter>noatime</parameter> option, the <emphasis>atime</emphasis> test will
  97. fail. As mentioned in <xref linkend="space-mounting"/>, do not use the
  98. <parameter>noatime</parameter> option while building LFS.</para></listitem>
  99. <listitem><para>When running on older and slower hardware, some tests
  100. can fail because of test timeouts being exceeded.</para></listitem>
  101. </itemizedlist>
  102. <para>Though it is a harmless message, the install stage of Glibc will
  103. complain about the absence of <filename>/etc/ld.so.conf</filename>.
  104. Prevent this warning with:</para>
  105. <screen><userinput>touch /etc/ld.so.conf</userinput></screen>
  106. <para>Install the package:</para>
  107. <screen><userinput>make install</userinput></screen>
  108. <para>The locales that can make the system respond in a different
  109. language were not installed by the above command. Install this
  110. with:</para>
  111. <screen><userinput>make localedata/install-locales</userinput></screen>
  112. <note><para>It is possible to create and install additional locales such as
  113. ru_RU.CP1251 by means of the <command>localedef</command> command, as
  114. explained in the <filename>INSTALL</filename> file in the Glibc source.</para></note>
  115. <!-- The Live CD patches the localedata/SUPPORTED file instead of running localedef -->
  116. <para>To save time, an alternative to running the
  117. previous command (which generates and installs every locale listed in the
  118. glibc-&glibc-version;/localedata/SUPPORTED file) is to install only those
  119. locales that are wanted and needed. This can be achieved by using the
  120. <command>localedef</command> command. Information on this command is located in
  121. the <filename>INSTALL</filename> file in the Glibc source. However, there
  122. are a number of locales that are essential in order for the tests of
  123. future packages to pass, in particular, the
  124. <emphasis>libstdc++</emphasis> tests from GCC. The following
  125. instructions, instead of the <parameter>install-locales</parameter>
  126. target used above, will install the minimum set of locales necessary
  127. for the tests to run successfully:</para>
  128. <!-- FIXME: recheck that "make localedata/install_locales" actually does the same -->
  129. <screen role="nodump"><userinput>mkdir -pv /usr/lib/locale
  130. localedef -i de_DE -f ISO-8859-1 de_DE
  131. localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
  132. localedef -i en_HK -f ISO-8859-1 en_HK
  133. localedef -i en_PH -f ISO-8859-1 en_PH
  134. localedef -i en_US -f ISO-8859-1 en_US
  135. localedef -i es_MX -f ISO-8859-1 es_MX
  136. localedef -i fa_IR -f UTF-8 fa_IR
  137. localedef -i fr_FR -f ISO-8859-1 fr_FR
  138. localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
  139. localedef -i fr_FR.UTF-8 -f UTF-8 fr_FR
  140. localedef -i it_IT -f ISO-8859-1 it_IT
  141. localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
  142. <para>The first <command>localedef</command> above combines the
  143. <filename>/usr/share/i18n/locales/de_DE</filename> charset-independent
  144. locale definition with the
  145. <filename>/usr/share/i18n/charmaps/ISO-8859-1.gz</filename> charmap definition
  146. and appends the result to the
  147. <filename>/usr/lib/locale/locale-archive</filename> file.</para>
  148. </sect2>
  149. <sect2 id="conf-glibc" role="configuration"><title>Configuring Glibc</title>
  150. <indexterm zone="conf-glibc"><primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm>
  151. <indexterm zone="conf-glibc"><primary sortas="e-/etc/localtime">/etc/localtime</primary></indexterm>
  152. <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created
  153. because, although Glibc provides defaults when this file is missing or corrupt,
  154. the Glibc defaults do not work well in a networked environment. The time zone
  155. also needs to be configured.</para>
  156. <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the
  157. following:</para>
  158. <screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"
  159. <literal># Begin /etc/nsswitch.conf
  160. passwd: files
  161. group: files
  162. shadow: files
  163. hosts: files dns
  164. networks: files
  165. protocols: files
  166. services: files
  167. ethers: files
  168. rpc: files
  169. # End /etc/nsswitch.conf</literal>
  170. EOF</userinput></screen>
  171. <para>To determine the local time zone, run the following script:</para>
  172. <screen role="nodump"><userinput>tzselect</userinput></screen>
  173. <para>After answering a few questions about the location, the script
  174. will output the name of the time zone (e.g.,
  175. <emphasis>EST5EDT</emphasis> or <emphasis>Canada/Eastern</emphasis>).
  176. Then create the <filename>/etc/localtime</filename> file by
  177. running:</para>
  178. <screen><userinput>cp -v --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \
  179. /etc/localtime</userinput></screen>
  180. <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone
  181. that <command>tzselect</command> provided (e.g., Canada/Eastern).</para>
  182. <para>The meaning of the cp option:</para>
  183. <variablelist>
  184. <varlistentry>
  185. <term><parameter>--remove-destination</parameter></term>
  186. <listitem><para>This is needed to force removal of the already
  187. existing symbolic link. The reason for copying the file instead of
  188. using a symlink is to cover the situation where <filename
  189. class="directory">/usr</filename> is on a separate partition. This
  190. could be important when booted into single user
  191. mode.</para></listitem>
  192. </varlistentry>
  193. </variablelist>
  194. </sect2>
  195. <sect2 id="conf-ld" role="configuration">
  196. <title>Configuring Dynamic Loader</title>
  197. <indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
  198. <para>By default, the dynamic loader (<filename
  199. class="libraryfile">/lib/ld-linux.so.2</filename>) searches through
  200. <filename class="directory">/lib</filename> and <filename
  201. class="directory">/usr/lib</filename> for dynamic libraries that are
  202. needed by programs as they are run. However, if there are libraries in
  203. directories other than <filename class="directory">/lib</filename> and
  204. <filename class="directory">/usr/lib</filename>, these need to be
  205. added to the <filename>/etc/ld.so.conf</filename> file in order
  206. for the dynamic loader to find them. Two directories that are commonly
  207. known to contain additional libraries are <filename
  208. class="directory">/usr/local/lib</filename> and <filename
  209. class="directory">/opt/lib</filename>, so add those directories to the
  210. dynamic loader's search path.</para>
  211. <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
  212. following:</para>
  213. <screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
  214. <literal># Begin /etc/ld.so.conf
  215. /usr/local/lib
  216. /opt/lib
  217. # End /etc/ld.so.conf</literal>
  218. EOF</userinput></screen>
  219. </sect2>
  220. <sect2 id="contents-glibc" role="content"><title>Contents of Glibc</title>
  221. <segmentedlist>
  222. <segtitle>Installed programs</segtitle>
  223. <segtitle>Installed libraries</segtitle>
  224. <seglistitem><seg>catchsegv, gencat, getconf,
  225. getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
  226. localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
  227. rpcinfo, sln, sprof, tzselect, xtrace, zdump, and zic</seg>
  228. <seg>ld.so, libBrokenLocale.[a,so],
  229. libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so],
  230. libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
  231. libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
  232. libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
  233. libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so],
  234. libthread_db.so, and libutil.[a,so]</seg></seglistitem>
  235. </segmentedlist>
  236. <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
  237. <?dbfo list-presentation="list"?>
  238. <?dbhtml list-presentation="table"?>
  239. <varlistentry id="catchsegv">
  240. <term><command>catchsegv</command></term>
  241. <listitem>
  242. <para>Can be used to create a stack trace when a program
  243. terminates with a segmentation fault</para>
  244. <indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm>
  245. </listitem>
  246. </varlistentry>
  247. <varlistentry id="gencat">
  248. <term><command>gencat</command></term>
  249. <listitem>
  250. <para>Generates message catalogues</para>
  251. <indexterm zone="ch-system-glibc gencat"><primary sortas="b-gencat">gencat</primary></indexterm>
  252. </listitem>
  253. </varlistentry>
  254. <varlistentry id="getconf">
  255. <term><command>getconf</command></term>
  256. <listitem>
  257. <para>Displays the system configuration values for file system specific variables</para>
  258. <indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm>
  259. </listitem>
  260. </varlistentry>
  261. <varlistentry id="getent">
  262. <term><command>getent</command></term>
  263. <listitem>
  264. <para>Gets entries from an administrative database</para>
  265. <indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm>
  266. </listitem>
  267. </varlistentry>
  268. <varlistentry id="iconv">
  269. <term><command>iconv</command></term>
  270. <listitem>
  271. <para>Performs character set conversion</para>
  272. <indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm>
  273. </listitem>
  274. </varlistentry>
  275. <varlistentry id="iconvconfig">
  276. <term><command>iconvconfig</command></term>
  277. <listitem>
  278. <para>Creates fastloading <command>iconv</command> module configuration files</para>
  279. <indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm>
  280. </listitem>
  281. </varlistentry>
  282. <varlistentry id="ldconfig">
  283. <term><command>ldconfig</command></term>
  284. <listitem>
  285. <para>Configures the dynamic linker runtime bindings</para>
  286. <indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm>
  287. </listitem>
  288. </varlistentry>
  289. <varlistentry id="ldd">
  290. <term><command>ldd</command></term>
  291. <listitem>
  292. <para>Reports which shared libraries are required
  293. by each given program or shared library</para>
  294. <indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm>
  295. </listitem>
  296. </varlistentry>
  297. <varlistentry id="lddlibc4">
  298. <term><command>lddlibc4</command></term>
  299. <listitem>
  300. <para>Assists <command>ldd</command> with object files</para>
  301. <indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm>
  302. </listitem>
  303. </varlistentry>
  304. <varlistentry id="locale">
  305. <term><command>locale</command></term>
  306. <listitem>
  307. <para>Tells the compiler to enable or disable the use of POSIX locales
  308. for built-in operations</para>
  309. <indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm>
  310. </listitem>
  311. </varlistentry>
  312. <varlistentry id="localedef">
  313. <term><command>localedef</command></term>
  314. <listitem>
  315. <para>Compiles locale specifications</para>
  316. <indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm>
  317. </listitem>
  318. </varlistentry>
  319. <varlistentry id="mtrace">
  320. <term><command>mtrace</command></term>
  321. <listitem>
  322. <para>Reads and interprets a memory trace file and displays a summary in human-readable format</para>
  323. <indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm>
  324. </listitem>
  325. </varlistentry>
  326. <varlistentry id="nscd">
  327. <term><command>nscd</command></term>
  328. <listitem>
  329. <para>A daemon that provides a cache for the most common name
  330. service requests</para>
  331. <indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm>
  332. </listitem>
  333. </varlistentry>
  334. <varlistentry id="nscd_nischeck">
  335. <term><command>nscd_nischeck</command></term>
  336. <listitem>
  337. <para>Checks whether or not secure mode is necessary for NIS+ lookup</para>
  338. <indexterm zone="ch-system-glibc nscd_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
  339. </listitem>
  340. </varlistentry>
  341. <varlistentry id="pcprofiledump">
  342. <term><command>pcprofiledump</command></term>
  343. <listitem>
  344. <para>Dumps information generated by PC profiling</para>
  345. <indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
  346. </listitem>
  347. </varlistentry>
  348. <varlistentry id="pt_chown">
  349. <term><command>pt_chown</command></term>
  350. <listitem>
  351. <para>A helper program for <command>grantpt</command> to set
  352. the owner, group and access permissions of a slave pseudo terminal</para>
  353. <indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm>
  354. </listitem>
  355. </varlistentry>
  356. <varlistentry id="rpcgen">
  357. <term><command>rpcgen</command></term>
  358. <listitem>
  359. <para>Generates C code to implement the Remote Procecure Call (RPC) protocol</para>
  360. <indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm>
  361. </listitem>
  362. </varlistentry>
  363. <varlistentry id="rpcinfo">
  364. <term><command>rpcinfo</command></term>
  365. <listitem>
  366. <para>Makes an RPC call to an RPC server</para>
  367. <indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm>
  368. </listitem>
  369. </varlistentry>
  370. <varlistentry id="sln">
  371. <term><command>sln</command></term>
  372. <listitem>
  373. <para>A statically linked <command>ln</command> program</para>
  374. <indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm>
  375. </listitem>
  376. </varlistentry>
  377. <varlistentry id="sprof">
  378. <term><command>sprof</command></term>
  379. <listitem>
  380. <para>Reads and displays shared object profiling data</para>
  381. <indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm>
  382. </listitem>
  383. </varlistentry>
  384. <varlistentry id="tzselect">
  385. <term><command>tzselect</command></term>
  386. <listitem>
  387. <para>Asks the user about the location of the
  388. system and reports the corresponding time zone description</para>
  389. <indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm>
  390. </listitem>
  391. </varlistentry>
  392. <varlistentry id="xtrace">
  393. <term><command>xtrace</command></term>
  394. <listitem>
  395. <para>Traces the execution of a program by
  396. printing the currently executed function</para>
  397. <indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm>
  398. </listitem>
  399. </varlistentry>
  400. <varlistentry id="zdump">
  401. <term><command>zdump</command></term>
  402. <listitem>
  403. <para>The time zone dumper</para>
  404. <indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm>
  405. </listitem>
  406. </varlistentry>
  407. <varlistentry id="zic">
  408. <term><command>zic</command></term>
  409. <listitem>
  410. <para>The time zone compiler</para>
  411. <indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm>
  412. </listitem>
  413. </varlistentry>
  414. <varlistentry id="ld.so">
  415. <term><filename class="libraryfile">ld.so</filename></term>
  416. <listitem>
  417. <para>The helper program for shared library executables</para>
  418. <indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm>
  419. </listitem>
  420. </varlistentry>
  421. <varlistentry id="libBrokenLocale">
  422. <term><filename class="libraryfile">libBrokenLocale</filename></term>
  423. <listitem>
  424. <para>Used by programs, such as Mozilla, to solve broken locales</para>
  425. <indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
  426. </listitem>
  427. </varlistentry>
  428. <varlistentry id="libSegFault">
  429. <term><filename class="libraryfile">libSegFault</filename></term>
  430. <listitem>
  431. <para>The segmentation fault signal handler</para>
  432. <indexterm zone="ch-system-glibc libSegFault"><primary sortas="c-libSegFault">libSegFault</primary></indexterm>
  433. </listitem>
  434. </varlistentry>
  435. <varlistentry id="libanl">
  436. <term><filename class="libraryfile">libanl</filename></term>
  437. <listitem>
  438. <para>An asynchronous name lookup library</para>
  439. <indexterm zone="ch-system-glibc libanl"><primary sortas="c-libanl">libanl</primary></indexterm>
  440. </listitem>
  441. </varlistentry>
  442. <varlistentry id="libbsd-compat">
  443. <term><filename class="libraryfile">libbsd-compat</filename></term>
  444. <listitem>
  445. <para>Provides the portability needed
  446. in order to run certain Berkey Software Distribution (BSD) programs under Linux</para>
  447. <indexterm zone="ch-system-glibc libbsd-compat"><primary sortas="c-libbsd-compat">libbsd-compat</primary></indexterm>
  448. </listitem>
  449. </varlistentry>
  450. <varlistentry id="libc">
  451. <term><filename class="libraryfile">libc</filename></term>
  452. <listitem>
  453. <para>The main C library</para>
  454. <indexterm zone="ch-system-glibc libc"><primary sortas="c-libc">libc</primary></indexterm>
  455. </listitem>
  456. </varlistentry>
  457. <varlistentry id="libcrypt">
  458. <term><filename class="libraryfile">libcrypt</filename></term>
  459. <listitem>
  460. <para>The cryptography library</para>
  461. <indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm>
  462. </listitem>
  463. </varlistentry>
  464. <varlistentry id="libdl">
  465. <term><filename class="libraryfile">libdl</filename></term>
  466. <listitem>
  467. <para>The dynamic linking interface library</para>
  468. <indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm>
  469. </listitem>
  470. </varlistentry>
  471. <varlistentry id="libg">
  472. <term><filename class="libraryfile">libg</filename></term>
  473. <listitem>
  474. <para>A runtime library for <command>g++</command></para>
  475. <indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm>
  476. </listitem>
  477. </varlistentry>
  478. <varlistentry id="libieee">
  479. <term><filename class="libraryfile">libieee</filename></term>
  480. <listitem>
  481. <para>The Institute of Electrical and Electronic Engineers (IEEE) floating point library</para>
  482. <indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm>
  483. </listitem>
  484. </varlistentry>
  485. <varlistentry id="libm">
  486. <term><filename class="libraryfile">libm</filename></term>
  487. <listitem>
  488. <para>The mathematical library</para>
  489. <indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm>
  490. </listitem>
  491. </varlistentry>
  492. <varlistentry id="libmcheck">
  493. <term><filename class="libraryfile">libmcheck</filename></term>
  494. <listitem>
  495. <para>Contains code run at boot</para>
  496. <indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm>
  497. </listitem>
  498. </varlistentry>
  499. <varlistentry id="libmemusage">
  500. <term><filename class="libraryfile">libmemusage</filename></term>
  501. <listitem>
  502. <para>Used by <command>memusage</command> to help collect
  503. information about the memory usage of a program</para>
  504. <indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm>
  505. </listitem>
  506. </varlistentry>
  507. <varlistentry id="libnsl">
  508. <term><filename class="libraryfile">libnsl</filename></term>
  509. <listitem>
  510. <para>The network services library</para>
  511. <indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm>
  512. </listitem>
  513. </varlistentry>
  514. <varlistentry id="libnss">
  515. <term><filename class="libraryfile">libnss</filename></term>
  516. <listitem>
  517. <para>The Name Service Switch libraries,
  518. containing functions for resolving host names, user names, group names,
  519. aliases, services, protocols, etc.</para>
  520. <indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss">libnss</primary></indexterm>
  521. </listitem>
  522. </varlistentry>
  523. <varlistentry id="libpcprofile">
  524. <term><filename class="libraryfile">libpcprofile</filename></term>
  525. <listitem>
  526. <para>Contains profiling functions used
  527. to track the amount of CPU time spent in specific source code lines</para>
  528. <indexterm zone="ch-system-glibc libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm>
  529. </listitem>
  530. </varlistentry>
  531. <varlistentry id="libpthread">
  532. <term><filename class="libraryfile">libpthread</filename></term>
  533. <listitem>
  534. <para>The POSIX threads library</para>
  535. <indexterm zone="ch-system-glibc libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm>
  536. </listitem>
  537. </varlistentry>
  538. <varlistentry id="libresolv">
  539. <term><filename class="libraryfile">libresolv</filename></term>
  540. <listitem>
  541. <para>Contains functions for creating,
  542. sending, and interpreting packets to the Internet domain name servers</para>
  543. <indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm>
  544. </listitem>
  545. </varlistentry>
  546. <varlistentry id="librpcsvc">
  547. <term><filename class="libraryfile">librpcsvc</filename></term>
  548. <listitem>
  549. <para>Contains functions providing miscellaneous RPC services</para>
  550. <indexterm zone="ch-system-glibc librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm>
  551. </listitem>
  552. </varlistentry>
  553. <varlistentry id="librt">
  554. <term><filename class="libraryfile">librt</filename></term>
  555. <listitem>
  556. <para>Contains functions providing most of the
  557. interfaces specified by the POSIX.1b Realtime Extension</para>
  558. <indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm>
  559. </listitem>
  560. </varlistentry>
  561. <varlistentry id="libthread_db">
  562. <term><filename class="libraryfile">libthread_db</filename></term>
  563. <listitem>
  564. <para>Contains functions useful for
  565. building debuggers for multi-threaded programs</para>
  566. <indexterm zone="ch-system-glibc libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm>
  567. </listitem>
  568. </varlistentry>
  569. <varlistentry id="libutil">
  570. <term><filename class="libraryfile">libutil</filename></term>
  571. <listitem>
  572. <para>Contains code for <quote>standard</quote> functions used in many different Unix utilities</para>
  573. <indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm>
  574. </listitem>
  575. </varlistentry>
  576. </variablelist>
  577. </sect2>
  578. </sect1>