Changeset cbbd1e4 for BOOK/final-system/common
- Timestamp:
- Feb 18, 2014, 6:10:37 AM (11 years ago)
- Branches:
- clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
- Children:
- 3b7a1ef
- Parents:
- bf75f20
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
BOOK/final-system/common/glibc.xml
rbf75f20 rcbbd1e4 6 6 ]> 7 7 8 <sect1 id="ch-system- eglibc" role="wrap">9 <?dbhtml filename=" eglibc.html"?>10 11 <title> EGLIBC-&eglibc-version;</title>12 13 <indexterm zone="ch-system- eglibc">14 <primary sortas="a- EGLIBC">EGLIBC</primary>8 <sect1 id="ch-system-glibc" role="wrap"> 9 <?dbhtml filename="glibc.html"?> 10 11 <title>GLIBC-&glibc-version;</title> 12 13 <indexterm zone="ch-system-glibc"> 14 <primary sortas="a-GLIBC">GLIBC</primary> 15 15 </indexterm> 16 16 … … 18 18 <title/> 19 19 20 <para>The EGLIBC package contains the main C library. This library provides20 <para>The GLIBC package contains the main C library. This library provides 21 21 the basic routines for allocating memory, searching directories, opening and 22 22 closing files, reading and writing files, string handling, pattern matching, … … 26 26 27 27 <sect2 role="installation"> 28 <title>Installation of EGLIBC</title>28 <title>Installation of GLIBC</title> 29 29 30 30 <note os="z"> … … 34 34 <quote>This library provides an <function>iconv()</function> 35 35 implementation, for use on systems which don't have one, or whose 36 implementation cannot convert from/to Unicode.</quote> EGLIBC provides36 implementation cannot convert from/to Unicode.</quote> GLIBC provides 37 37 an <function>iconv()</function> implementation and can convert from/to 38 38 Unicode, therefore libiconv is not required on a CLFS system.</para> … … 58 58 unset LINKER</userinput></screen> 59 59 60 <para os="b">The EGLIBC build system is self-contained and will install60 <para os="b">The GLIBC build system is self-contained and will install 61 61 perfectly, even though the compiler specs file and linker are still 62 62 pointing at <filename class="directory">/tools</filename>. The specs 63 and linker cannot be adjusted before the EGLIBC install because the64 EGLIBC Autoconf tests would give false results and defeat the goal63 and linker cannot be adjusted before the GLIBC install because the 64 GLIBC Autoconf tests would give false results and defeat the goal 65 65 of achieving a clean build.</para> 66 66 67 <para os="s1">Allow EGLIBC to detect Make-4.x:</para>67 <para os="s1">Allow GLIBC to detect Make-4.x:</para> 68 68 69 69 <screen os="s2"><userinput>sed -r -i 's/(3..89..)/\1 | 4.*/' configure</userinput></screen> 70 70 71 <para os="e">The EGLIBC documentation recommends building EGLIBC outside of the source directory in a dedicated build directory:</para>72 73 <screen os="f"><userinput>mkdir -v ../ eglibc-build74 cd ../ eglibc-build</userinput></screen>75 76 <para os="g">Prepare EGLIBC for compilation:</para>77 78 <screen os="h"><userinput>../ eglibc-&eglibc-version;/configure --prefix=/usr \79 --disable-profile --enable-kernel=2.6.32 --libexecdir=/usr/lib/ eglibc \71 <para os="e">The GLIBC documentation recommends building GLIBC outside of the source directory in a dedicated build directory:</para> 72 73 <screen os="f"><userinput>mkdir -v ../glibc-build 74 cd ../glibc-build</userinput></screen> 75 76 <para os="g">Prepare GLIBC for compilation:</para> 77 78 <screen os="h"><userinput>../glibc-&glibc-version;/configure --prefix=/usr \ 79 --disable-profile --enable-kernel=2.6.32 --libexecdir=/usr/lib/glibc \ 80 80 --enable-obsolete-rpc</userinput></screen> 81 81 … … 84 84 85 85 <varlistentry> 86 <term><parameter>--libexecdir=/usr/lib/ eglibc</parameter></term>86 <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term> 87 87 <listitem> 88 88 <para>This changes the location of the <command>getconf</command> 89 89 utility from its default of <filename 90 90 class="directory">/usr/libexec</filename> to <filename 91 class="directory">/usr/lib/ eglibc</filename>.</para>91 class="directory">/usr/lib/glibc</filename>.</para> 92 92 </listitem> 93 93 </varlistentry> … … 99 99 100 100 <important os="l"> 101 <para>The test suite for EGLIBC is considered critical.101 <para>The test suite for GLIBC is considered critical. 102 102 Do not skip it under any circumstance.</para> 103 103 </important> … … 108 108 <!-- items n,o,p no longer the master, use x86_64 which has no failures --> 109 109 110 <screen os="n"><userinput remap="test">cp -v ../ eglibc-&eglibc-version;/iconvdata/gconv-modules iconvdata111 make -k check 2>&1 | tee eglibc-check-log; grep Error eglibc-check-log</userinput></screen>112 113 <para os="o">The EGLIBC test suite is highly dependent on certain functions of110 <screen os="n"><userinput remap="test">cp -v ../glibc-&glibc-version;/iconvdata/gconv-modules iconvdata 111 make -k check 2>&1 | tee glibc-check-log; grep Error glibc-check-log</userinput></screen> 112 113 <para os="o">The GLIBC test suite is highly dependent on certain functions of 114 114 the host system, in particular the kernel. The posix/annexc test normally fails 115 115 and you should see <literal>Error 1 (ignored)</literal> in the output. Apart 116 from this, the EGLIBC test suite is always expected to pass. However, in certain116 from this, the GLIBC test suite is always expected to pass. However, in certain 117 117 circumstances, some failures are unavoidable. If a test fails because of a missing 118 118 program (or missing symbolic link), or a segfault, you will see an error code … … 141 141 </itemizedlist> 142 142 143 <para os="q">Though it is a harmless message, the install stage of EGLIBC will143 <para os="q">Though it is a harmless message, the install stage of GLIBC will 144 144 complain about the absence of <filename>/etc/ld.so.conf</filename>. 145 145 Prevent this warning with:</para> … … 155 155 </sect2> 156 156 157 <sect2 id="i18n- eglibc" role="configuration">157 <sect2 id="i18n-glibc" role="configuration"> 158 158 <title>Internationalization</title> 159 159 … … 166 166 <para>To save time, an alternative to running the previous command (which 167 167 generates and installs every locale listed in the 168 <filename> eglibc-&eglibc-version;/localedata/SUPPORTED</filename> file) is168 <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file) is 169 169 to install only those locales that are wanted and needed. This can be 170 170 achieved by using the <command>localedef</command> command. Information on 171 171 this command is located in the <filename>INSTALL</filename> file in the 172 EGLIBC source. However, there are a number of locales that are essential in172 GLIBC source. However, there are a number of locales that are essential in 173 173 order for the tests of future packages to pass, in particular, the 174 174 <emphasis>libstdc++</emphasis> tests from GCC. The following instructions, … … 208 208 </sect2> 209 209 210 <sect2 id="conf- eglibc" role="configuration">211 <title>Configuring EGLIBC</title>212 213 <indexterm zone="conf- eglibc">210 <sect2 id="conf-glibc" role="configuration"> 211 <title>Configuring GLIBC</title> 212 213 <indexterm zone="conf-glibc"> 214 214 <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary> 215 215 </indexterm> 216 216 217 <indexterm zone="conf- eglibc">217 <indexterm zone="conf-glibc"> 218 218 <primary sortas="e-/etc/localtime">/etc/localtime</primary> 219 219 </indexterm> 220 220 221 221 <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created 222 because, although EGLIBC provides defaults when this file is missing or223 corrupt, the EGLIBC defaults do not work well in a networked environment.222 because, although GLIBC provides defaults when this file is missing or 223 corrupt, the GLIBC defaults do not work well in a networked environment. 224 224 The time zone also needs to be configured.</para> 225 225 … … 369 369 </sect2> 370 370 371 <sect2 id="contents- eglibc" role="content">372 <title>Contents of EGLIBC</title>371 <sect2 id="contents-glibc" role="content"> 372 <title>Contents of GLIBC</title> 373 373 374 374 <segmentedlist> … … 396 396 /usr/include/netrom, /usr/include/netrose, /usr/include/nfs, 397 397 /usr/include/protocols, /usr/include/rpc, /usr/include/rpcsvc, 398 /usr/include/sys, /usr/lib/gconv, /usr/lib/ eglibc, /usr/lib/locale,398 /usr/include/sys, /usr/lib/gconv, /usr/lib/glibc, /usr/lib/locale, 399 399 /usr/share/i18n, /usr/share/zoneinfo, /var/cache/ldconfig</seg> 400 400 </seglistitem> … … 411 411 <para>Can be used to create a stack trace when a program 412 412 terminates with a segmentation fault</para> 413 <indexterm zone="ch-system- eglibc catchsegv">413 <indexterm zone="ch-system-glibc catchsegv"> 414 414 <primary sortas="b-catchsegv">catchsegv</primary> 415 415 </indexterm> … … 421 421 <listitem> 422 422 <para>Generates message catalogues</para> 423 <indexterm zone="ch-system- eglibc gencat">423 <indexterm zone="ch-system-glibc gencat"> 424 424 <primary sortas="b-gencat">gencat</primary> 425 425 </indexterm> … … 432 432 <para>Displays the system configuration values for file system specific 433 433 variables</para> 434 <indexterm zone="ch-system- eglibc getconf">434 <indexterm zone="ch-system-glibc getconf"> 435 435 <primary sortas="b-getconf">getconf</primary> 436 436 </indexterm> … … 442 442 <listitem> 443 443 <para>Gets entries from an administrative database</para> 444 <indexterm zone="ch-system- eglibc getent">444 <indexterm zone="ch-system-glibc getent"> 445 445 <primary sortas="b-getent">getent</primary> 446 446 </indexterm> … … 452 452 <listitem> 453 453 <para>Performs character set conversion</para> 454 <indexterm zone="ch-system- eglibc iconv">454 <indexterm zone="ch-system-glibc iconv"> 455 455 <primary sortas="b-iconv">iconv</primary> 456 456 </indexterm> … … 463 463 <para>Creates fastloading <command>iconv</command> module configuration 464 464 files</para> 465 <indexterm zone="ch-system- eglibc iconvconfig">465 <indexterm zone="ch-system-glibc iconvconfig"> 466 466 <primary sortas="b-iconvconfig">iconvconfig</primary> 467 467 </indexterm> … … 473 473 <listitem> 474 474 <para>Configures the dynamic linker runtime bindings</para> 475 <indexterm zone="ch-system- eglibc ldconfig">475 <indexterm zone="ch-system-glibc ldconfig"> 476 476 <primary sortas="b-ldconfig">ldconfig</primary> 477 477 </indexterm> … … 484 484 <para>Reports which shared libraries are required 485 485 by each given program or shared library</para> 486 <indexterm zone="ch-system- eglibc ldd">486 <indexterm zone="ch-system-glibc ldd"> 487 487 <primary sortas="b-ldd">ldd</primary> 488 488 </indexterm> … … 494 494 <listitem> 495 495 <para>Assists <command>ldd</command> with object files</para> 496 <indexterm zone="ch-system- eglibc lddlibc4">496 <indexterm zone="ch-system-glibc lddlibc4"> 497 497 <primary sortas="b-lddlibc4">lddlibc4</primary> 498 498 </indexterm> … … 505 505 <para>Tells the compiler to enable or disable the use of POSIX locales 506 506 for built-in operations</para> 507 <indexterm zone="ch-system- eglibc locale">507 <indexterm zone="ch-system-glibc locale"> 508 508 <primary sortas="b-locale">locale</primary> 509 509 </indexterm> … … 515 515 <listitem> 516 516 <para>Compiles locale specifications</para> 517 <indexterm zone="ch-system- eglibc localedef">517 <indexterm zone="ch-system-glibc localedef"> 518 518 <primary sortas="b-localedef">localedef</primary> 519 519 </indexterm> … … 525 525 <listitem> 526 526 <para>Creates a simple database from textual input</para> 527 <indexterm zone="ch-system- eglibc makedb">527 <indexterm zone="ch-system-glibc makedb"> 528 528 <primary sortas="b-makedb">makedb</primary> 529 529 </indexterm> … … 536 536 <para>Reads and interprets a memory trace file and 537 537 displays a summary in human-readable format</para> 538 <indexterm zone="ch-system- eglibc mtrace">538 <indexterm zone="ch-system-glibc mtrace"> 539 539 <primary sortas="b-mtrace">mtrace</primary> 540 540 </indexterm> … … 547 547 <para>A daemon that provides a cache for the most common name 548 548 service requests</para> 549 <indexterm zone="ch-system- eglibc nscd">549 <indexterm zone="ch-system-glibc nscd"> 550 550 <primary sortas="b-nscd">nscd</primary> 551 551 </indexterm> … … 557 557 <listitem> 558 558 <para>Dumps information generated by PC profiling</para> 559 <indexterm zone="ch-system- eglibc pcprofiledump">559 <indexterm zone="ch-system-glibc pcprofiledump"> 560 560 <primary sortas="b-pcprofiledump">pcprofiledump</primary> 561 561 </indexterm> … … 567 567 <listitem> 568 568 <para>Lists dynamic shared objects used by running processes</para> 569 <indexterm zone="ch-system- eglibc pldd">569 <indexterm zone="ch-system-glibc pldd"> 570 570 <primary sortas="b-pldd">pldd</primary> 571 571 </indexterm> … … 578 578 <para>Generates C code to implement the Remote Procecure Call (RPC) 579 579 protocol</para> 580 <indexterm zone="ch-system- eglibc rpcgen">580 <indexterm zone="ch-system-glibc rpcgen"> 581 581 <primary sortas="b-rpcgen">rpcgen</primary> 582 582 </indexterm> … … 588 588 <listitem> 589 589 <para>A statically linked program that creates symbolic links</para> 590 <indexterm zone="ch-system- eglibc sln">590 <indexterm zone="ch-system-glibc sln"> 591 591 <primary sortas="b-sln">sln</primary> 592 592 </indexterm> … … 598 598 <listitem> 599 599 <para>Traces shared library procedure calls of a specified command</para> 600 <indexterm zone="ch-system- eglibc sotruss">600 <indexterm zone="ch-system-glibc sotruss"> 601 601 <primary sortas="b-sotruss">sotruss</primary> 602 602 </indexterm> … … 608 608 <listitem> 609 609 <para>Reads and displays shared object profiling data</para> 610 <indexterm zone="ch-system- eglibc sprof">610 <indexterm zone="ch-system-glibc sprof"> 611 611 <primary sortas="b-sprof">sprof</primary> 612 612 </indexterm> … … 619 619 <para>Asks the user about the location of the 620 620 system and reports the corresponding time zone description</para> 621 <indexterm zone="ch-system- eglibc tzselect">621 <indexterm zone="ch-system-glibc tzselect"> 622 622 <primary sortas="b-tzselect">tzselect</primary> 623 623 </indexterm> … … 630 630 <para>Traces the execution of a program by 631 631 printing the currently executed function</para> 632 <indexterm zone="ch-system- eglibc xtrace">632 <indexterm zone="ch-system-glibc xtrace"> 633 633 <primary sortas="b-xtrace">xtrace</primary> 634 634 </indexterm> … … 640 640 <listitem> 641 641 <para>The time zone dumper</para> 642 <indexterm zone="ch-system- eglibc zdump">642 <indexterm zone="ch-system-glibc zdump"> 643 643 <primary sortas="b-zdump">zdump</primary> 644 644 </indexterm> … … 650 650 <listitem> 651 651 <para>The time zone compiler</para> 652 <indexterm zone="ch-system- eglibc zic">652 <indexterm zone="ch-system-glibc zic"> 653 653 <primary sortas="b-zic">zic</primary> 654 654 </indexterm> … … 660 660 <listitem> 661 661 <para>The helper program for shared library executables</para> 662 <indexterm zone="ch-system- eglibc ld.so">662 <indexterm zone="ch-system-glibc ld.so"> 663 663 <primary sortas="c-ld.so">ld.so</primary> 664 664 </indexterm> … … 670 670 <listitem> 671 671 <para>Used by programs, such as Mozilla, to solve broken locales</para> 672 <indexterm zone="ch-system- eglibc libBrokenLocale">672 <indexterm zone="ch-system-glibc libBrokenLocale"> 673 673 <primary sortas="c-libBrokenLocale">libBrokenLocale</primary> 674 674 </indexterm> … … 680 680 <listitem> 681 681 <para>The segmentation fault signal handler</para> 682 <indexterm zone="ch-system- eglibc libSegFault">682 <indexterm zone="ch-system-glibc libSegFault"> 683 683 <primary sortas="c-libSegFault">libSegFault</primary> 684 684 </indexterm> … … 690 690 <listitem> 691 691 <para>An asynchronous name lookup library</para> 692 <indexterm zone="ch-system- eglibc libanl">692 <indexterm zone="ch-system-glibc libanl"> 693 693 <primary sortas="c-libanl">libanl</primary> 694 694 </indexterm> … … 702 702 in order to run certain Berkey Software Distribution (BSD) programs 703 703 under Linux</para> 704 <indexterm zone="ch-system- eglibc libbsd-compat">704 <indexterm zone="ch-system-glibc libbsd-compat"> 705 705 <primary sortas="c-libbsd-compat">libbsd-compat</primary> 706 706 </indexterm> … … 712 712 <listitem> 713 713 <para>The main C library</para> 714 <indexterm zone="ch-system- eglibc libc">714 <indexterm zone="ch-system-glibc libc"> 715 715 <primary sortas="c-libc">libc</primary> 716 716 </indexterm> … … 721 721 <term><filename class="libraryfile">libcidn</filename></term> 722 722 <listitem> 723 <para>Used internally by EGLIBC for handling internationalized domain723 <para>Used internally by GLIBC for handling internationalized domain 724 724 names in the <function>getaddrinfo()</function> function</para> 725 <indexterm zone="ch-system- eglibc libcidn">725 <indexterm zone="ch-system-glibc libcidn"> 726 726 <primary sortas="c-libcidn">libcidn</primary> 727 727 </indexterm> … … 733 733 <listitem> 734 734 <para>The cryptography library</para> 735 <indexterm zone="ch-system- eglibc libcrypt">735 <indexterm zone="ch-system-glibc libcrypt"> 736 736 <primary sortas="c-libcrypt">libcrypt</primary> 737 737 </indexterm> … … 743 743 <listitem> 744 744 <para>The dynamic linking interface library</para> 745 <indexterm zone="ch-system- eglibc libdl">745 <indexterm zone="ch-system-glibc libdl"> 746 746 <primary sortas="c-libdl">libdl</primary> 747 747 </indexterm> … … 753 753 <listitem> 754 754 <para>A runtime library for <command>g++</command></para> 755 <indexterm zone="ch-system- eglibc libg">755 <indexterm zone="ch-system-glibc libg"> 756 756 <primary sortas="c-libg">libg</primary> 757 757 </indexterm> … … 764 764 <para>The Institute of Electrical and Electronic Engineers (IEEE) 765 765 floating point library</para> 766 <indexterm zone="ch-system- eglibc libieee">766 <indexterm zone="ch-system-glibc libieee"> 767 767 <primary sortas="c-libieee">libieee</primary> 768 768 </indexterm> … … 774 774 <listitem> 775 775 <para>The mathematical library</para> 776 <indexterm zone="ch-system- eglibc libm">776 <indexterm zone="ch-system-glibc libm"> 777 777 <primary sortas="c-libm">libm</primary> 778 778 </indexterm> … … 784 784 <listitem> 785 785 <para>Contains code run at boot</para> 786 <indexterm zone="ch-system- eglibc libmcheck">786 <indexterm zone="ch-system-glibc libmcheck"> 787 787 <primary sortas="c-libmcheck">libmcheck</primary> 788 788 </indexterm> … … 793 793 <term><filename class="libraryfile">libmemusage</filename></term> 794 794 <listitem> 795 <para>Used by <command>memusage</command> (included in EGLIBC, but795 <para>Used by <command>memusage</command> (included in GLIBC, but 796 796 not built in a base CLFS system as it has additional dependencies) 797 797 to help collect information about the memory usage of a program</para> 798 <indexterm zone="ch-system- eglibc libmemusage">798 <indexterm zone="ch-system-glibc libmemusage"> 799 799 <primary sortas="c-libmemusage">libmemusage</primary> 800 800 </indexterm> … … 806 806 <listitem> 807 807 <para>The network services library</para> 808 <indexterm zone="ch-system- eglibc libnsl">808 <indexterm zone="ch-system-glibc libnsl"> 809 809 <primary sortas="c-libnsl">libnsl</primary> 810 810 </indexterm> … … 818 818 resolving host names, user names, group names, aliases, services, 819 819 protocols, etc.</para> 820 <indexterm zone="ch-system- eglibc libnss">820 <indexterm zone="ch-system-glibc libnss"> 821 821 <primary sortas="c-libnss">libnss</primary> 822 822 </indexterm> … … 829 829 <para>Contains profiling functions used to track the amount of CPU 830 830 time spent in specific source code lines</para> 831 <indexterm zone="ch-system- eglibc libpcprofile">831 <indexterm zone="ch-system-glibc libpcprofile"> 832 832 <primary sortas="c-libpcprofile">libpcprofile</primary> 833 833 </indexterm> … … 839 839 <listitem> 840 840 <para>The POSIX threads library</para> 841 <indexterm zone="ch-system- eglibc libpthread">841 <indexterm zone="ch-system-glibc libpthread"> 842 842 <primary sortas="c-libpthread">libpthread</primary> 843 843 </indexterm> … … 850 850 <para>Contains functions for creating, sending, and interpreting 851 851 packets to the Internet domain name servers</para> 852 <indexterm zone="ch-system- eglibc libresolv">852 <indexterm zone="ch-system-glibc libresolv"> 853 853 <primary sortas="c-libresolv">libresolv</primary> 854 854 </indexterm> … … 860 860 <listitem> 861 861 <para>Contains functions providing miscellaneous RPC services</para> 862 <indexterm zone="ch-system- eglibc librpcsvc">862 <indexterm zone="ch-system-glibc librpcsvc"> 863 863 <primary sortas="c-librpcsvc">librpcsvc</primary> 864 864 </indexterm> … … 871 871 <para>Contains functions providing most of the interfaces specified by 872 872 the POSIX.1b Realtime Extension</para> 873 <indexterm zone="ch-system- eglibc librt">873 <indexterm zone="ch-system-glibc librt"> 874 874 <primary sortas="c-librt">librt</primary> 875 875 </indexterm> … … 882 882 <para>Contains functions useful for 883 883 building debuggers for multi-threaded programs</para> 884 <indexterm zone="ch-system- eglibc libthread_db">884 <indexterm zone="ch-system-glibc libthread_db"> 885 885 <primary sortas="c-libthread_db">libthread_db</primary> 886 886 </indexterm> … … 893 893 <para>Contains code for <quote>standard</quote> functions used in 894 894 many different Unix utilities</para> 895 <indexterm zone="ch-system- eglibc libutil">895 <indexterm zone="ch-system-glibc libutil"> 896 896 <primary sortas="c-libutil">libutil</primary> 897 897 </indexterm>
Note:
See TracChangeset
for help on using the changeset viewer.