Ignore:
Timestamp:
Jun 3, 2009, 11:48:55 AM (15 years ago)
Author:
Jim Gifford <clfs@…>
Branches:
clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
207aad6
Parents:
968933d
Message:

Cross-LFS moved to Eglibc 2.10.1

File:
1 moved

Legend:

Unmodified
Added
Removed
  • BOOK/final-system/common/eglibc.xml

    r968933d r093b0e8  
    66]>
    77
    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>
     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>
    1515  </indexterm>
    1616
     
    1818    <title/>
    1919
    20     <para>The Glibc package contains the main C library. This library provides
     20    <para>The EGLIBC package contains the main C library. This library provides
    2121    the basic routines for allocating memory, searching directories, opening and
    2222    closing files, reading and writing files, string handling, pattern matching,
     
    2626
    2727  <sect2 role="installation">
    28     <title>Installation of Glibc</title>
     28    <title>Installation of EGLIBC</title>
    2929
    3030    <note os="z">
     
    3434      <quote>This library provides an <function>iconv()</function>
    3535      implementation, for use on systems which don't have one, or whose
    36       implementation cannot convert from/to Unicode.</quote> Glibc provides
     36      implementation cannot convert from/to Unicode.</quote> EGLIBC provides
    3737      an <function>iconv()</function> implementation and can convert from/to
    3838      Unicode, therefore libiconv is not required on a CLFS system.</para>
    3939    </note>
    4040
    41     <para os="b">The Glibc build system is self-contained and will install
     41    <para os="b">The EGLIBC build system is self-contained and will install
    4242    perfectly, even though the compiler specs file and linker are still
    4343    pointing at <filename class="directory">/tools</filename>. The specs
    44     and linker cannot be adjusted before the Glibc install because the
    45     Glibc Autoconf tests would give false results and defeat the goal
     44    and linker cannot be adjusted before the EGLIBC install because the
     45    EGLIBC Autoconf tests would give false results and defeat the goal
    4646    of achieving a clean build.</para>
    4747
    48     <para os="c">The following patch fixes an issue that can
    49     cause <command>localedef</command> to segfault:</para>
    50 
    51 <screen os="d"><userinput>patch -Np1 -i ../&glibc-localedef_segfault-patch;</userinput></screen>
    52 
    53     <para os="e">The Glibc documentation recommends building Glibc outside of the
     48    <para os="e">The EGLIBC documentation recommends building EGLIBC outside of the
    5449    source directory in a dedicated build directory:</para>
    5550
    56 <screen os="f"><userinput>mkdir -v ../glibc-build
    57 cd ../glibc-build</userinput></screen>
    58 
    59     <para os="g">Prepare Glibc for compilation:</para>
    60 
    61 <screen os="h"><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
     51<screen os="f"><userinput>mkdir -v ../eglibc-build
     52cd ../eglibc-build</userinput></screen>
     53
     54    <para os="g">Prepare EGLIBC for compilation:</para>
     55
     56<screen os="h"><userinput>../eglibc-&eglibc-version;/configure --prefix=/usr \
    6257    --disable-profile --enable-add-ons --enable-kernel=2.6.0 \
    63     --libexecdir=/usr/lib/glibc</userinput></screen>
     58    --libexecdir=/usr/lib/eglibc</userinput></screen>
    6459
    6560    <variablelist os="i">
     
    6762
    6863      <varlistentry>
    69         <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
     64        <term><parameter>--libexecdir=/usr/lib/eglibc</parameter></term>
    7065        <listitem>
    7166          <para>This changes the location of the <command>pt_chown</command>
    7267          program from its default of <filename
    7368          class="directory">/usr/libexec</filename> to <filename
    74           class="directory">/usr/lib/glibc</filename>.</para>
     69          class="directory">/usr/lib/eglibc</filename>.</para>
    7570        </listitem>
    7671      </varlistentry>
     
    8277
    8378    <important os="l">
    84       <para>The test suite for Glibc is considered critical.
     79      <para>The test suite for EGLIBC is considered critical.
    8580      Do not skip it under any circumstance.</para>
    8681    </important>
     
    9085<!-- items n,o,p no longer the master, use x86_64 which has no failures -->
    9186
    92 <screen os="n"><userinput>make -k check &gt;glibc-check-log 2&gt;&amp;1 ; grep Error glibc-check-log</userinput></screen>
    93 
    94     <para os="o">The Glibc test suite is highly dependent on certain functions of
     87<screen os="n"><userinput>make -k check &gt;eglibc-check-log 2&gt;&amp;1 ; grep Error eglibc-check-log</userinput></screen>
     88
     89    <para os="o">The EGLIBC test suite is highly dependent on certain functions of
    9590    the host system, in particular the kernel. The posix/annexc test normally fails
    9691    and you should see <literal>Error 1 (ignored)</literal> in the output. Apart
    97     from this, the Glibc test suite is always expected to pass. However, in certain
     92    from this, the EGLIBC test suite is always expected to pass. However, in certain
    9893    circumstances, some failures are unavoidable. If a test fails because of a missing
    9994    program (or missing symbolic link), or a segfault, you will see an error code
     
    122117    </itemizedlist>
    123118
    124     <para os="q">Though it is a harmless message, the install stage of Glibc will
     119    <para os="q">Though it is a harmless message, the install stage of EGLIBC will
    125120    complain about the absence of <filename>/etc/ld.so.conf</filename>.
    126121    Prevent this warning with:</para>
     
    134129  </sect2>
    135130
    136   <sect2 id="i18n-glibc" role="configuration">
     131  <sect2 id="i18n-eglibc" role="configuration">
    137132    <title>Internationalization</title>
    138133
     
    145140    <para>To save time, an alternative to running the previous command (which
    146141    generates and installs every locale listed in the
    147     glibc-&glibc-version;/localedata/SUPPORTED file) is to install only
     142    eglibc-&eglibc-version;/localedata/SUPPORTED file) is to install only
    148143    those locales that are wanted and needed. This can be achieved by using
    149144    the <command>localedef</command> command. Information on this command is
    150     located in the <filename>INSTALL</filename> file in the Glibc source.
     145    located in the <filename>INSTALL</filename> file in the EGLIBC source.
    151146    However, there are a number of locales that are essential in order for the
    152147    tests of future packages to pass, in particular, the
     
    187182  </sect2>
    188183
    189   <sect2 id="conf-glibc" role="configuration">
    190     <title>Configuring Glibc</title>
    191 
    192     <indexterm zone="conf-glibc">
     184  <sect2 id="conf-eglibc" role="configuration">
     185    <title>Configuring EGLIBC</title>
     186
     187    <indexterm zone="conf-eglibc">
    193188      <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary>
    194189    </indexterm>
    195190
    196     <indexterm zone="conf-glibc">
     191    <indexterm zone="conf-eglibc">
    197192      <primary sortas="e-/etc/localtime">/etc/localtime</primary>
    198193    </indexterm>
    199194
    200195    <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created
    201     because, although Glibc provides defaults when this file is missing or
    202     corrupt, the Glibc defaults do not work well in a networked environment.
     196    because, although EGLIBC provides defaults when this file is missing or
     197    corrupt, the EGLIBC defaults do not work well in a networked environment.
    203198    The time zone also needs to be configured.</para>
    204199
     
    291286  </sect2>
    292287
    293   <sect2 id="contents-glibc" role="content">
    294     <title>Contents of Glibc</title>
     288  <sect2 id="contents-eglibc" role="content">
     289    <title>Contents of EGLIBC</title>
    295290
    296291    <segmentedlist>
     
    323318          <para>Can be used to create a stack trace when a program
    324319          terminates with a segmentation fault</para>
    325           <indexterm zone="ch-system-glibc catchsegv">
     320          <indexterm zone="ch-system-eglibc catchsegv">
    326321            <primary sortas="b-catchsegv">catchsegv</primary>
    327322          </indexterm>
     
    333328        <listitem>
    334329          <para>Generates message catalogues</para>
    335           <indexterm zone="ch-system-glibc gencat">
     330          <indexterm zone="ch-system-eglibc gencat">
    336331            <primary sortas="b-gencat">gencat</primary>
    337332          </indexterm>
     
    344339          <para>Displays the system configuration values for file system specific
    345340          variables</para>
    346           <indexterm zone="ch-system-glibc getconf">
     341          <indexterm zone="ch-system-eglibc getconf">
    347342            <primary sortas="b-getconf">getconf</primary>
    348343          </indexterm>
     
    354349        <listitem>
    355350          <para>Gets entries from an administrative database</para>
    356           <indexterm zone="ch-system-glibc getent">
     351          <indexterm zone="ch-system-eglibc getent">
    357352            <primary sortas="b-getent">getent</primary>
    358353          </indexterm>
     
    364359        <listitem>
    365360          <para>Performs character set conversion</para>
    366           <indexterm zone="ch-system-glibc iconv">
     361          <indexterm zone="ch-system-eglibc iconv">
    367362            <primary sortas="b-iconv">iconv</primary>
    368363          </indexterm>
     
    375370          <para>Creates fastloading <command>iconv</command> module configuration
    376371          files</para>
    377           <indexterm zone="ch-system-glibc iconvconfig">
     372          <indexterm zone="ch-system-eglibc iconvconfig">
    378373            <primary sortas="b-iconvconfig">iconvconfig</primary>
    379374          </indexterm>
     
    385380        <listitem>
    386381          <para>Configures the dynamic linker runtime bindings</para>
    387           <indexterm zone="ch-system-glibc ldconfig">
     382          <indexterm zone="ch-system-eglibc ldconfig">
    388383            <primary sortas="b-ldconfig">ldconfig</primary>
    389384          </indexterm>
     
    396391          <para>Reports which shared libraries are required
    397392          by each given program or shared library</para>
    398           <indexterm zone="ch-system-glibc ldd">
     393          <indexterm zone="ch-system-eglibc ldd">
    399394            <primary sortas="b-ldd">ldd</primary>
    400395          </indexterm>
     
    406401        <listitem>
    407402          <para>Assists <command>ldd</command> with object files</para>
    408           <indexterm zone="ch-system-glibc lddlibc4">
     403          <indexterm zone="ch-system-eglibc lddlibc4">
    409404            <primary sortas="b-lddlibc4">lddlibc4</primary>
    410405          </indexterm>
     
    417412          <para>Tells the compiler to enable or disable the use of POSIX locales
    418413          for built-in operations</para>
    419           <indexterm zone="ch-system-glibc locale">
     414          <indexterm zone="ch-system-eglibc locale">
    420415            <primary sortas="b-locale">locale</primary>
    421416          </indexterm>
     
    427422        <listitem>
    428423          <para>Compiles locale specifications</para>
    429           <indexterm zone="ch-system-glibc localedef">
     424          <indexterm zone="ch-system-eglibc localedef">
    430425            <primary sortas="b-localedef">localedef</primary>
    431426          </indexterm>
     
    438433          <para>Reads and interprets a memory trace file and
    439434          displays a summary in human-readable format</para>
    440           <indexterm zone="ch-system-glibc mtrace">
     435          <indexterm zone="ch-system-eglibc mtrace">
    441436            <primary sortas="b-mtrace">mtrace</primary>
    442437          </indexterm>
     
    449444          <para>A daemon that provides a cache for the most common name
    450445          service requests</para>
    451           <indexterm zone="ch-system-glibc nscd">
     446          <indexterm zone="ch-system-eglibc nscd">
    452447            <primary sortas="b-nscd">nscd</primary>
    453448          </indexterm>
     
    459454        <listitem>
    460455          <para>Dumps information generated by PC profiling</para>
    461           <indexterm zone="ch-system-glibc pcprofiledump">
     456          <indexterm zone="ch-system-eglibc pcprofiledump">
    462457            <primary sortas="b-pcprofiledump">pcprofiledump</primary>
    463458          </indexterm>
     
    470465          <para>A helper program for <command>grantpt</command> to set the owner,
    471466          group and access permissions of a slave pseudo terminal</para>
    472           <indexterm zone="ch-system-glibc pt_chown">
     467          <indexterm zone="ch-system-eglibc pt_chown">
    473468            <primary sortas="b-pt_chown">pt_chown</primary>
    474469          </indexterm>
     
    481476          <para>Generates C code to implement the Remote Procecure Call (RPC)
    482477          protocol</para>
    483           <indexterm zone="ch-system-glibc rpcgen">
     478          <indexterm zone="ch-system-eglibc rpcgen">
    484479            <primary sortas="b-rpcgen">rpcgen</primary>
    485480          </indexterm>
     
    491486        <listitem>
    492487          <para>Makes an RPC call to an RPC server</para>
    493           <indexterm zone="ch-system-glibc rpcinfo">
     488          <indexterm zone="ch-system-eglibc rpcinfo">
    494489            <primary sortas="b-rpcinfo">rpcinfo</primary>
    495490          </indexterm>
     
    501496        <listitem>
    502497          <para>A statically linked program that creates symbolic links</para>
    503           <indexterm zone="ch-system-glibc sln">
     498          <indexterm zone="ch-system-eglibc sln">
    504499            <primary sortas="b-sln">sln</primary>
    505500          </indexterm>
     
    511506        <listitem>
    512507          <para>Reads and displays shared object profiling data</para>
    513           <indexterm zone="ch-system-glibc sprof">
     508          <indexterm zone="ch-system-eglibc sprof">
    514509            <primary sortas="b-sprof">sprof</primary>
    515510          </indexterm>
     
    522517          <para>Asks the user about the location of the
    523518          system and reports the corresponding time zone description</para>
    524           <indexterm zone="ch-system-glibc tzselect">
     519          <indexterm zone="ch-system-eglibc tzselect">
    525520            <primary sortas="b-tzselect">tzselect</primary>
    526521          </indexterm>
     
    533528          <para>Traces the execution of a program by
    534529          printing the currently executed function</para>
    535           <indexterm zone="ch-system-glibc xtrace">
     530          <indexterm zone="ch-system-eglibc xtrace">
    536531            <primary sortas="b-xtrace">xtrace</primary>
    537532          </indexterm>
     
    543538        <listitem>
    544539          <para>The time zone dumper</para>
    545           <indexterm zone="ch-system-glibc zdump">
     540          <indexterm zone="ch-system-eglibc zdump">
    546541            <primary sortas="b-zdump">zdump</primary>
    547542          </indexterm>
     
    553548        <listitem>
    554549          <para>The time zone compiler</para>
    555           <indexterm zone="ch-system-glibc zic">
     550          <indexterm zone="ch-system-eglibc zic">
    556551            <primary sortas="b-zic">zic</primary>
    557552          </indexterm>
     
    563558        <listitem>
    564559          <para>The helper program for shared library executables</para>
    565           <indexterm zone="ch-system-glibc ld.so">
     560          <indexterm zone="ch-system-eglibc ld.so">
    566561            <primary sortas="c-ld.so">ld.so</primary>
    567562          </indexterm>
     
    573568        <listitem>
    574569          <para>Used by programs, such as Mozilla, to solve broken locales</para>
    575           <indexterm zone="ch-system-glibc libBrokenLocale">
     570          <indexterm zone="ch-system-eglibc libBrokenLocale">
    576571            <primary sortas="c-libBrokenLocale">libBrokenLocale</primary>
    577572          </indexterm>
     
    583578        <listitem>
    584579          <para>The segmentation fault signal handler</para>
    585           <indexterm zone="ch-system-glibc libSegFault">
     580          <indexterm zone="ch-system-eglibc libSegFault">
    586581            <primary sortas="c-libSegFault">libSegFault</primary>
    587582          </indexterm>
     
    593588        <listitem>
    594589          <para>An asynchronous name lookup library</para>
    595           <indexterm zone="ch-system-glibc libanl">
     590          <indexterm zone="ch-system-eglibc libanl">
    596591            <primary sortas="c-libanl">libanl</primary>
    597592          </indexterm>
     
    605600          in order to run certain Berkey Software Distribution (BSD) programs
    606601          under Linux</para>
    607           <indexterm zone="ch-system-glibc libbsd-compat">
     602          <indexterm zone="ch-system-eglibc libbsd-compat">
    608603            <primary sortas="c-libbsd-compat">libbsd-compat</primary>
    609604          </indexterm>
     
    615610        <listitem>
    616611          <para>The main C library</para>
    617           <indexterm zone="ch-system-glibc libc">
     612          <indexterm zone="ch-system-eglibc libc">
    618613            <primary sortas="c-libc">libc</primary>
    619614          </indexterm>
     
    625620        <listitem>
    626621          <para>The cryptography library</para>
    627           <indexterm zone="ch-system-glibc libcrypt">
     622          <indexterm zone="ch-system-eglibc libcrypt">
    628623            <primary sortas="c-libcrypt">libcrypt</primary>
    629624          </indexterm>
     
    635630        <listitem>
    636631          <para>The dynamic linking interface library</para>
    637           <indexterm zone="ch-system-glibc libdl">
     632          <indexterm zone="ch-system-eglibc libdl">
    638633            <primary sortas="c-libdl">libdl</primary>
    639634          </indexterm>
     
    645640        <listitem>
    646641          <para>A runtime library for <command>g++</command></para>
    647           <indexterm zone="ch-system-glibc libg">
     642          <indexterm zone="ch-system-eglibc libg">
    648643            <primary sortas="c-libg">libg</primary>
    649644          </indexterm>
     
    656651          <para>The Institute of Electrical and Electronic Engineers (IEEE)
    657652          floating point library</para>
    658           <indexterm zone="ch-system-glibc libieee">
     653          <indexterm zone="ch-system-eglibc libieee">
    659654            <primary sortas="c-libieee">libieee</primary>
    660655          </indexterm>
     
    666661        <listitem>
    667662          <para>The mathematical library</para>
    668           <indexterm zone="ch-system-glibc libm">
     663          <indexterm zone="ch-system-eglibc libm">
    669664            <primary sortas="c-libm">libm</primary>
    670665          </indexterm>
     
    676671        <listitem>
    677672          <para>Contains code run at boot</para>
    678           <indexterm zone="ch-system-glibc libmcheck">
     673          <indexterm zone="ch-system-eglibc libmcheck">
    679674            <primary sortas="c-libmcheck">libmcheck</primary>
    680675          </indexterm>
     
    685680        <term><filename class="libraryfile">libmemusage</filename></term>
    686681        <listitem>
    687           <para>Used by <command>memusage</command> (included in Glibc, but
     682          <para>Used by <command>memusage</command> (included in EGLIBC, but
    688683          not built in a base CLFS system as it has additional dependencies)
    689684          to help collect information about the memory usage of a program</para>
    690           <indexterm zone="ch-system-glibc libmemusage">
     685          <indexterm zone="ch-system-eglibc libmemusage">
    691686            <primary sortas="c-libmemusage">libmemusage</primary>
    692687          </indexterm>
     
    698693        <listitem>
    699694          <para>The network services library</para>
    700           <indexterm zone="ch-system-glibc libnsl">
     695          <indexterm zone="ch-system-eglibc libnsl">
    701696            <primary sortas="c-libnsl">libnsl</primary>
    702697          </indexterm>
     
    710705          resolving host names, user names, group names, aliases, services,
    711706          protocols, etc.</para>
    712           <indexterm zone="ch-system-glibc libnss">
     707          <indexterm zone="ch-system-eglibc libnss">
    713708            <primary sortas="c-libnss">libnss</primary>
    714709          </indexterm>
     
    721716          <para>Contains profiling functions used to track the amount of CPU
    722717          time spent in specific source code lines</para>
    723           <indexterm zone="ch-system-glibc libpcprofile">
     718          <indexterm zone="ch-system-eglibc libpcprofile">
    724719            <primary sortas="c-libpcprofile">libpcprofile</primary>
    725720          </indexterm>
     
    731726        <listitem>
    732727          <para>The POSIX threads library</para>
    733           <indexterm zone="ch-system-glibc libpthread">
     728          <indexterm zone="ch-system-eglibc libpthread">
    734729            <primary sortas="c-libpthread">libpthread</primary>
    735730          </indexterm>
     
    742737          <para>Contains functions for creating, sending, and interpreting
    743738          packets to the Internet domain name servers</para>
    744           <indexterm zone="ch-system-glibc libresolv">
     739          <indexterm zone="ch-system-eglibc libresolv">
    745740            <primary sortas="c-libresolv">libresolv</primary>
    746741          </indexterm>
     
    752747        <listitem>
    753748          <para>Contains functions providing miscellaneous RPC services</para>
    754           <indexterm zone="ch-system-glibc librpcsvc">
     749          <indexterm zone="ch-system-eglibc librpcsvc">
    755750            <primary sortas="c-librpcsvc">librpcsvc</primary>
    756751          </indexterm>
     
    763758          <para>Contains functions providing most of the interfaces specified by
    764759          the POSIX.1b Realtime Extension</para>
    765           <indexterm zone="ch-system-glibc librt">
     760          <indexterm zone="ch-system-eglibc librt">
    766761            <primary sortas="c-librt">librt</primary>
    767762          </indexterm>
     
    774769          <para>Contains functions useful for
    775770          building debuggers for multi-threaded programs</para>
    776           <indexterm zone="ch-system-glibc libthread_db">
     771          <indexterm zone="ch-system-eglibc libthread_db">
    777772            <primary sortas="c-libthread_db">libthread_db</primary>
    778773          </indexterm>
     
    785780          <para>Contains code for <quote>standard</quote> functions used in
    786781          many different Unix utilities</para>
    787           <indexterm zone="ch-system-glibc libutil">
     782          <indexterm zone="ch-system-eglibc libutil">
    788783            <primary sortas="c-libutil">libutil</primary>
    789784          </indexterm>
Note: See TracChangeset for help on using the changeset viewer.