Subversion Repositories svn LFS-FR

Rev

Rev 1594 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-eglibc" role="wrap">
  <?dbhtml filename="eglibc.html"?>

  <title>EGLIBC-&eglibc-version;</title>

  <indexterm zone="ch-system-eglibc">
    <primary sortas="a-EGLIBC">EGLIBC</primary>
  </indexterm>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 href="../common/eglibc.xml"
 xpointer="xpointer(//*[@role='package'])"/>

  <sect2 role="installation">
    <title>Installation de EGLIBC</title>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='z'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='l1'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='l2'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='l3'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='l4'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='b'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='e'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='f'])"/>

    <para os="l1">Dites à EGLIBC d'installer ses bibliothèques dans
    <filename class="directory">/lib</filename>&nbsp;:</para>

<screen os="l2"><userinput>echo "slibdir=/lib" &gt;&gt; configparms</userinput></screen>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='g'])"/>

<screen os="h"><userinput>CFLAGS="-mtune=generic -g -O2" \
    ../eglibc-&eglibc-version;/configure --prefix=/usr \
    --disable-profile --enable-add-ons --enable-kernel=2.6.0 \
    --libexecdir=/usr/lib/eglibc --libdir=/usr/lib</userinput></screen>

    <variablelist os="i">
      <title>Voici la signification de la nouvelle option de configure&nbsp;:</title>

      <varlistentry>
        <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
        <listitem>
          <para>Ceci modifie l'emplacement du programme <command>pt_chown</command> de celui par défaut
          <filename class="directory">/usr/libexec</filename> vers
          <filename class="directory">/usr/lib/glibc</filename>.</para>
        </listitem>
      </varlistentry>
    </variablelist>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='j'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='k'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='l'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='m'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../multilib/eglibc-64bit.xml"
   xpointer="xpointer(//*[@os='n'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../multilib/eglibc-64bit.xml"
   xpointer="xpointer(//*[@os='o'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../multilib/eglibc-64bit.xml"
   xpointer="xpointer(//*[@os='p'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='q'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='r'])"/>

    <para>L'installation va finir en vérifiant que tout est correctement installé. Malheureusement, il va tester pour une
    installation multilib. Sur x86_64 Pure64, cela signifie qu'il va essayer de
    tester un chargeur 32 bits inexistant qui a un
    nom différent du chargeur 64 bits (contrairement aux autres architectures 64 bits). On le trompe en créant un lien
    symbolique vers le chargeur réel.</para>

    <screen><userinput>ln -sv &eglibc-ld-name; /lib/ld-linux.so.2</userinput></screen>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='s'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='t'])"/>

    <para>Maintenant, nous pouvons supprimer ce lien symbolique. Nous avons aussi besoin de corriger le script
    /usr/bin/ldd - si vous le regardez, vous verrez qu'il ne se réfère pas seulement à l'éditeur de liens
    32 bits mais aussi à /lib64 où il pense que se trouve l'éditeur de liens. Le <command>sed</command> suivant va corriger
    cela&nbsp;:</para>

    <screen><userinput>rm -v /lib/ld-linux.so.2
cp -v /usr/bin/ldd{,.bak}
sed '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' /usr/bin/ldd.bak >/usr/bin/ldd</userinput></screen>

    <para>Vérifiez le script pour être sûr que le sed a fonctionné correctement puis effacez la sauvegarde.</para>

    <screen><userinput>rm -v /usr/bin/ldd.bak</userinput></screen>

  </sect2>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 href="../common/eglibc.xml"
 xpointer="xpointer(id('i18n-eglibc'))"/>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 href="../common/eglibc.xml"
 xpointer="xpointer(id('conf-eglibc'))"/>

  <sect2 id="conf-ld" role="configuration">
    <title>Configurer le chargeur dynamique</title>

    <indexterm zone="conf-ld">
      <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
    </indexterm>

    <para>Par défaut, le chargeur dynamique (<filename class="libraryfile">/lib/ld-linux-x86-64.so.2</filename>) cherche dans
    <filename class="directory">/lib</filename> et
    <filename class="directory">/usr/lib</filename> les bibliothèques dynamiques
    nécessaires aux programmes lors de leur exécution. Cependant, s'il y a des bibliothèques dans d'autres répertoires que
    <filename class="directory">/lib</filename> et
    <filename class="directory">/usr/lib</filename>, ils doivent être ajoutés au fichier
    <filename>/etc/ld.so.conf</filename> afin que le chargeur dynamique les trouve. Deux répertoires qui sont couramment
    connus pour contenir des bibliothèques supplémentaires sont
    <filename class="directory">/usr/local/lib</filename> et
    <filename class="directory">/opt/lib</filename>, donc ajoutez ces répertoires
    aux chemins recherchés par le chargeur dynamique.</para>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='ld-b'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
   href="../common/eglibc.xml"
   xpointer="xpointer(//*[@os='ld-c'])"/>

  </sect2>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 href="../common/eglibc.xml"
 xpointer="xpointer(id('contents-eglibc'))"/>

</sect1>