                Petit guide pratique d'installation de la Glibc

Adaptation franaise du Glibc-Install-HOWTO

  Kai Schlachter

   <linux CHEZ murphyslantech POINT de>

   Adaptation franaise : Nicolas Jadot

   Prparation de la publication de la v.f. : Jean-Philippe Gurard

   Version :1.01.fr.1.0

   25 janvier 2005

   +------------------------------------------------------------------------+
   | Historique des versions                                                |
   |------------------------------------------------------------------------|
   | Version 1.01.fr.1.0             | 2005-01-25            | NJ           |
   |------------------------------------------------------------------------|
   | Premire traduction franaise                                          |
   |------------------------------------------------------------------------|
   | Version 1.01                    | 2004-03-19            | KC           |
   |------------------------------------------------------------------------|
   | Premire dition, revue par le projet de documentation Linux (Initial  |
   | Release, reviewed by LDP)                                              |
   +------------------------------------------------------------------------+

   --------------------------------------------------------------------------

   Table des matires

   1. Prface

                1. Copyright

                2. Historique

                3. Remerciements

   2. Introduction

                1. Pourquoi ?

                2. Quoi ?

   3. Prparatifs

                1. Ce qu'il vous faut

                             1.1. Les logiciels dont vous aurez besoin

                             1.2. Les codes sources qu'il vous faut

                2. Choses spciales  faire

                             2.1. Les choses indispensables

                             2.2. Logiciels divers

   4. Installation de glibc en soi

                1. Rcuprer et installer les sources

                2. Installation

                             2.1. LILO

                             2.2. Grub

                3. Aprs le dmarrage du noyau...

   5. En cas de problme -- si quelque chose a mal tourn...

                1. Erreurs avec les commandes configure ou make durant la
                compilation de glibc

                2. Quelque chose se passe mal durant l'installation (make
                install)

                             2.1. Retrouver une configuration oprationnelle

Chapitre 1. Prface

   Table des matires

   1. Copyright

   2. Historique

   3. Remerciements

1. Copyright

   Le texte ci-dessous est la licence de ce document. Ce texte fait foi. Il
   est compos de la licence en anglais du document original, suivi de la
   licence en franais de sa traduction.

   Copyright (c) 2004 by Kai Schlachter

   Permission is granted to copy, distribute and/or modify this document
   under the terms of the GNU Free Documentation License, Version 1.2 or any
   later version published by the Free Software Foundation; with no Invariant
   Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the
   license is located at http://www.gnu.org/licenses/fdl.html
   [http://www.gnu.org/licenses/fdl.html].

   La version franaise de ce document a t ralise par Nicolas Jadot
   (Relecteur, ajoute ton nom ;-)). La version franaise de ce guide pratique
   est publie en accord avec les termes de la licence de documentation libre
   GNU (GFDL) ; sans section invariante, sans texte de premire de couverture
   ni texte de quatrime de couverture. Une copie de la licence est
   disponible sur http://www.gnu.org/copyleft/fdl.html
   [http://www.gnu.org/copyleft/fdl.html].

2. Historique

     * v1.01 : Correction de citations mal places

3. Remerciements

   Je tiens  remercier tout spcialement Nico Schmoigl qui m'a aid 
   remonter mon systme aprs un crash d  l'utilisation de la commande make
   install pour glibc alors que mon systme tait en plein fonctionnement.
   C'est la raison principale qui m'a conduit  crire ce petit guide
   pratique.

   Je remercie galement toutes les personnes qui m'ont aid tout du long de
   ce travail ; utiliser le bon format de guide, trouver les bonnes
   typographies, etc.

Chapitre 2. Introduction

   Table des matires

   1. Pourquoi ?

   2. Quoi ?

   J'expliquerai dans ce guide pratique comment installer une nouvelle
   version de la bibliothque glibc(TM) sur votre systme.

   J'ai cris ce manuel afin de protger les autres utilisateurs des
   problmes que j'ai rencontrs.

   Ce document est une sorte de ligne de vie, faite des paramtrages et des
   mthodes qui ont fonctionn dans mon cas. L'auteur dcline toute
   responsabilit quant au contenu de ce document. Utilisez les concepts,
   exemples et autres  vos risques et prils. Je vous recommande cependant
   vivement de sauvegarder l'intgralit de votre systme avant toute
   installation majeure et de faire des sauvegardes rgulires.

   Si vous avez la moindre suggestion, ou si vous trouvez une autre erreur
   dans une distribution, avec le moyen de la fixer, faites le moi savoir, en
   m'crivant  : <linux CHEZ murphyslantech POINT de>.

1. Pourquoi ?

   C'est effectivement une bonne question. Pour quelles raisons peut-on avoir
    installer une nouvelle version de glibc ? Pour plusieurs raisons :

     * Vous tes dveloppeur et avez besoin des nouvelles fonctions de la
       bibliothque ;

     * Vous voulez compiler un programme qui ncessite la nouvelle
       bibliothque ;

     * Vous aimez le frisson des erreurs et bugs des nouvelles versions ;-).

2. Quoi ?

   Si vous ne savez pas ce qu'est vraiment glibc, ne vous inquitez pas !
   Quand j'ai eu mes premiers soucis avec un nouveau programme que je voulais
   compiler, je savais simplement que ma version de glibc n'tait pas
   suffisante pour la compilation. Maintenant que j'en sais davantage, je
   vais essayer d'expliquer de manire simple ce  quoi sert glibc.

   Le paquetage glibc contient une bibliothque crite en langage C. Les
   bibliothques sont des composants trs utiles en programmation ; plutt
   que de rinventer la roue  partir du nant pour des oprations comme le
   calcul de la racine carre d'un nombre, ce type de fonction est stock
   dans des fichiers spars -- les bibliothques. Quand une nouvelle version
   d'une bibliothque est publie, elle contient souvent de nouvelles
   fonctions, utilise des algorithmes plus performants pour celles dj
   existantes, et ainsi de suite.

   C'est pourquoi certains programmes se plaignent de versions trop anciennes
   de glibc : la version courante ne contient tout simplement pas la fonction
   dont le programme a besoin pour son excution.

   Je sais que cette explication n'est pas techniquement correcte dans tous
   les dtails, mais elle donne une explication simple de l'architecture
   sous-jacente.

Chapitre 3. Prparatifs

   Table des matires

   1. Ce qu'il vous faut

                1.1. Les logiciels dont vous aurez besoin

                1.2. Les codes sources qu'il vous faut

   2. Choses spciales  faire

                2.1. Les choses indispensables

                2.2. Logiciels divers

   L'installation de glibc n'est pas une tche facile. Il vous faudra
   effectuer un certain nombre d'oprations pralables, spcialement pour le
   cas o quelque chose tournerait mal. C'est ce qui m'est arriv lors de ma
   premire installation de glibc, et je n'avais fait aucun de ces
   prparatifs.

1. Ce qu'il vous faut

   Schmatiquement, il vous faut deux choses : les logiciels dont
   fonctionnent dj sur votre machine (soit, les paquetages de votre
   distribution) et les paquetages source de diffrents programmes.

  1.1. Les logiciels dont vous aurez besoin

     * un compilateur gcc(TM) oprationnel ;

     * une ancienne version de glibc(TM) ;-) ;

     * les binutils GNU(TM) ;

     * le programme GNU make(TM) ;

     * le core-utils GNU(TM) ;

     * le programme GNU tar(TM) ;

     * le shellbash(TM) ou tout autre de votre choix ;

     * trs pratique mais pas le mieux : Midnight Commander(TM) ;

     * votre diteur favori (vi(TM), jed(TM), et ctera).

  1.2. Les codes sources qu'il vous faut

     * bash(TM) ou celui de votre shell ;

     * GNU tar(TM) ;

     * GNU core-utils(TM) ;

     * GNU make(TM) ;

     * bien entendu : glibc(TM) ;

     * ventuellement : gcc(TM).

2. Choses spciales  faire

   Comme vous vous prparez  remplacer la bibliothque de base sur laquelle
   de nombreux programmes reposent, vous pouvez aisment imaginer que divers
   problmes peuvent survenir.

   Dans mon cas, tout fonctionnait jusqu'au moment o j'ai tap make install.
   A la moiti du processus d'installation, j'ai reu un message d'erreur
   m'indiquant que la commande rm ne pouvait fonctionner, et j'ai dcouvert
   que toutes les commandes comme cp, ls, mv, ln, tar, etc ne fonctionnaient
   plus ; toutes me rpondaient qu'elles ne trouvaient plus les parties de la
   bibliothque qui leur taient ncessaires (NDT : j'ai eu aussi ce petit
   soucis, toutefois dans un cas plus trivial ;-)).

   Mais il existe une solution. Vous pouvez, lors de la compilation d'un
   programme, forcer l'inclusion des fonctions de la bibliothque 
   l'intrieur du programme, de telle sorte qu'il n'ait plus  les rechercher
    l'intrieur.

   Pour cette raison, dans ce chapitre, nous allons compiler des versions
   statiques de tous les utilitaires dont nous avons besoin.

  2.1. Les choses indispensables

    2.1.1. GNU binutils

    1. Chargez la toute dernire version depuis [1]ftp.gnu.org/gnu/binutils ;
        la date de rdaction de ce guide, le numro de la version la plus
       rcente tait 2.14.

    2. Ouvrez le paquetage :

 tar xIvf
 binutils-2.14.tar.bz2

       .

    3. Changez de rpertoire :

 cd binutils-2.14

       .

    4. Configurez les makefiles :

 ./configure

       .

    5. Compilez :

 make

       .

    6. Installez avec :

 make install

       .

   Si quelque chose se droule mal durant la compilation de binutils, en
   rapport avec gettext (indiqu par des erreurs comme :  rfrence 
   lib_intl non dclare  ou quelque chose d'approchant) installez la
   nouvelle version, disponible  [2]ftp.gnu.org/gnu/gettext.

   Si cela ne suffit pas, essayez de dsactiver le support du langage natif
   en utilisant :

 ./configure
 --no-nls

   .

   Il n'est pas ncessaire de compiler une version statique de binutils, bien
   que cela ne cause aucun problme, mais j'ai rencontr de nombreux systmes
   fonctionnant avec de trs vieilles versions et eu des erreurs presque 
   chaque fois aussi je pense qu'il est utile de le mentionner ici.

    2.1.2. GNU make

   La commande make rgle l'ensemble de la compilation des sources, appelant
   gcc et tous les autres programmes ncessaire  la compilation. Comme il
   est possible que vous soyez contraint  compiler quelque chose si une
   erreur survient avec votre nouvelle glibc, c'est une bonne ide que make
   soit compil de manire statique ; dans le cas contraire, il pourrait ne
   pas fonctionner si une erreur survient.

    1. Tlchargez les sources depuis : [3]ftp.gnu.org/gnu/make/ ;  la date
       de rdaction, la version est 3.80.

    2. Dballez les sources :

 tar xIvf make-3.80.tar.bz2

       .

    3. Changez de rpertoire :

 cd make-3.80

       .

    4. Prenez garde  compiler de manire statique :

 export CFLAGS="-static -O2 -g"

       .

    5. Lancez le script de configuration :

 ./configure

    6. Compilez :

 make

       .

    7. Installez les binaires:

 make install

       .

    8. Vrifiez :

 make -v

       Vous devez maintenant voir la dernire version installe. Sinon,
       recherchez les anciens fichiers binaires et remplacez les par des
       liens symboliques vers les nouvelles versions.

   Flicitations ! Vous avez compil un autre programme statique.

    2.1.3. GNU core-utils

   core-utils contient des commandes comme : cp, rm, ln, mv, etc. En cas
   d'erreur durant l'installation, c'est une ncessit absolue pour pouvoir
   esprer remonter le systme, aussi des binaires statiques sont vraiment
   ncessaires ici.

    1. De nouveau, tlchargez les sources depuis
       [4]ftp.gnu.org/gnu/coreutils/ ; au moment de la rdaction, la version
       courante est la 5.0.

    2. Dpaquetez les sources :

 tar xIvf
 coreutils-5.0.tar.bz2

    3. Changez de rpertoire :

 cd
 coreutils-5.0

    4. Prenez garde au fait que les binaires doivent tre lis statiquement :

 export CFLAGS="-static -O2 -g"

    5. Configurez le paquetage :

 ./configure

    6. Compilez les binaires :

 make

    7. Et installez les :

 make
 install

    8. Vrifiez que la bonne version de core-utils est utilise :

 cp --version

       . Vous devez obtenir un numro de version correct, dans le cas
       contraire, supprimez les anciens binaires et remplacez les par des
       liens symboliques vers les nouveaux.

   Maintenant que les binaires de ces outils de base sont des versions
   statiques, vous tes sr qu'il fonctionneront en cas de besoin.

    2.1.4. GNU tar

   Vous avez dj utilis GNU tar pour dpaqueter les programmes compils et
   installs. Mais vous avez besoin de compiler un programme requis par glibc
   aprs un crash et, dans cette situation (exprience vcue) il est
   particulirement utile de disposer d'un tar oprationnel pour dpaqueter
   les programmes manquants. Il nous faut galement, avec tar, prendre garde
    la compression bz2, qui n'est pas incluse dans la distribution normale
   des sources de tar.

    1. Rcuprez les sources de GNU tar sur [5]ftp.gnu.org/gnu/tar ;  la
       date de rdaction, la dernire version est la 1.13.

    2. Comme de multiples archives tar sont compresses avec bzip2, nous
       prfrerons disposer du support intgr, plutt que de devoir
       travailler avec des pipes ; il nous faut donc rcuprer le patch 
       [6]ftp://infogroep.be/pub/linux/lfs/lfs-packages/4.1/tar-1.13.patch.

    3. Dpaquetez les sources :

 tar xzvf tar-1.13.tar.gz

    4. Copiez le patch dans le rpertoire contenant les sources de tar

 cp tar-1.13.patch tar-1.13/

    5. Appliquez le :

 patch -Np1 -i tar-1.13.patch

    6. Posez les options du compilateur pour obtenir un binaire statique :

 export CFLAGS="-static -O2 -g"

    7. Nous sommes maintenant prt pour la configuration :

 ./configure

    8. La compilation :

 make

    9. Et enfin l'installation :

 make
 install

   10. Faites une dernire vrification pour vous assurer que la nouvelle
       version sera utilise  partir de maintenant :

 tar
 --version

       . La version que vous venez d'installer doit apparatre, sinon,
       remplacez les anciens binaires par des liens symboliques vers les
       nouveaux.

   Si vous avez des problmes dans l'excution de la commande make, essayez
   de dsactiver le support du langage natif (nls : native-language support).
   Pour ce faire, utilisez la commande configure avec l'option

 --disable-nls

   Note : dans la nouvelle version de tar, vous devez utiliser l'option -j
   pour dcompresser les fichiers .bzip2, aussi plutt que

 tar xIvf
 anyfile.tar.bz2

   vous devez maintenant utiliser

 tar
 xjvf anyfile.tar.bz2

   . J'ignore les raisons de ce changement, mais a fonctionne bien.

    2.1.5. Le shell bash

   Je prfre utiliser le shell bash ; si vous en utilisez un diffrent,
   assurez-vous d'avoir install une version statique de celui-ci avant
   d'installer glibc.

    1. Rcuprez bash  : [7]ftp.gnu.org/gnu/bash/. Tlchargez la version la
       plus rcente que vous trouverez ;  la date de rdaction, celle-ci est
       la 2.05b.

    2. Dpaquetez les sources :

 tar xzvf
 bash-2.05b.tar.gz

       crera un rpertoire nomm bash-2.05b contenant toutes les sources.

    3. Dplacez-vous dans ce rpertoire :

 cd
 bash-2.05a

    4. Configurez pour obtenir une version statique :

 export CFLAGS="-static -O2 -g"

    5. Configurez le makefile :

 ./configure

       . Si vous dsirez que votre bash possde certaine fonctionnalits
       spciales, reportez-vous  la commande

 ./configure --help

       pour la liste des options.

    6. Compilez le tout :

 make

    7. Installez les binaires :

 make
 install

       . Ils seront installs dans le rpertoire /usr/local/bin/.

    8. Vrifiez qu'une autre version ne reste pas tapie quelque part (comme
       dans ma Suse : /bin/), en copiant le fichier :

 cp /usr/local/bin/bash
 /bin/

       . Nous n'utilisons pas ici de lien symbolique car, tant lors du
       dmarrage de la machine qu'au lancement de bash, des problmes peuvent
       survenir avec les liens symboliques.

   Vous avez maintenant install une version statique de bash. C'est pour
   cette raison que le binaire est beaucoup plus volumineux qu'
   l'accoutume, mais il fonctionnera quelles que soient les circonstances.

   Si vous prfrez utiliser un autre shell, vous tes libre de le faire,
   mais assurez-vous qu'il s'agit d'une version lie statiquement. N'hsitez
   pas  me communiquer la mthode pour construire une version statique du
   shell de votre choix ; il y a de grandes chances qu'elle soit reprise dans
   la prochaine rvision de ce document.

  2.2. Logiciels divers

    2.2.1. Midnight Commander

   Midnight Commander est un gestionnaire de fichiers trs utile, apportant
   de nombreuses fonctionnalits intressantes, comme la dcompression
   directe des fichiers compresss, la copie, le dplacement de fichiers et
   d'autres commandes intgres, ainsi qu'un diteur.

   Pour compiler ce logiciel, glib doit tre install ; cela est le cas dans
   certaines distributions. Si vous rencontrez une erreur lors de l'excution
   de la commande make vous indiquant que ld ne peut pas trouver glib, vous
   devrez installer cette bibliothque avant tout autre chose. Vous pouvez en
   trouver les sources  : [8]ftp.gnome.org/pub/gnome/sources/glib/2.2/, et
   l'installation est directe .

   Les tapes de la construction de Midnight Commander sont :

    1. Rcuprer les sources depuis
       http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/
       [http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/] ;  la date
       de rdaction, la version la plus rcente est la 4.6.0.

    2. Dpaqueter les sources :

 tar xzvf mc-4.6.0.tar.gz

    3. Se dplacer dans le rpertoire nouvellement cr :

 cd mc-4.6.0

    4. Configurer :

 ./configure

    5. Compiler :

 make

    6. Tout installer :

 make install

Chapitre 4. Installation de glibc en soi

   Table des matires

   1. Rcuprer et installer les sources

   2. Installation

                2.1. LILO

                2.2. Grub

   3. Aprs le dmarrage du noyau...

   Maintenant nous atteignons le point crucial : l'installation de glibc.

1. Rcuprer et installer les sources

   Plusieurs versions de glibc sont disponibles, mais les nouvelles versions
   ne sont pas prfrables aux plus anciennes dans tous les cas. La meilleure
   chose  faire pour savoir lesquelles fonctionnent et lesquelles vous ne
   devez pas utiliser est de se renseigner sur les diffrents groupes de
   discussion sur Internet. Si vous connaissez quelqu'un  qui demander,
   parlez lui en. Peut-tre a-t'il dj install la nouvelle version et peut
   il vous dire que la version x.y.z est une PITA , mais que la version a.b.c
   fonctionne vraiment bien !

   J'ai dcid d'installer la glibc-2.2.4, puisque l'on m'avait dit qu'elle
   fonctionne bien, mais le choix de la version demeure de votre ressort.

   Bien, maintenant, au travail :

    1. Rcuprez les sources sur [9]ftp.gnu.org/gnu/glibc/ ; comme dit plus
       haut, j'ai utilis la version 2.2.4.

    2. Dpaquetez les sources :

 tar -xzvf
 glibc-2.2.4.tar.gz

    3. Vous aurez besoin, en plus, du paquetage  linuxthreads  que l'on
       peut trouver dans le rpertoire linuxthreads sur [10]ftp.gnu.org. Le
       fichier est :

 glibc-linuxthreads-2.2.4.tar.gz

       . Assurez-vous que le numro de version correspond  celui de votre
       arborescence des sources de glibc.

    4. Copiez le paquetage linuxthreads dans le rpertoire contenant les
       sources de glibc :

 cp
 glibc-linuxthreads-2.2.4.tar.gz glibc-2.2.4

    5. Dplacez vous dans ce rpertoire :

 cd
 glibc-2.2.4

    6. Dpaquetez linuxthreads :

 tar xzvf
 linux-threads-2.2.4.tar.gz

    7. Configurez le paquetage :

 ./configure
 --enable-add-ons=linuxthreads

       . Cela configurera le paquetage de telle sorte que linuxthreads soit
       inclus dans la compilation ; ceci est ncessaire pour la compatibilit
       avec d'autres systmes Linux. Par exemple, les programmes que vous
       compilerez sur votre machine ne fonctionneront probablement pas sur
       d'autres machines si vous omettez d'inclure ce paquetage.

    8. Enfin, lancez la compilation de glibc :

 make

       . Cela peut prendre un certain temps ( peu prs une demi-heure sur le
       Duron XP 1,5 GHz de l'auteur).

   Maintenant que la bibliothque est compile, tout est prt pour
   l'installation, mais les choses ne seront pas si simple cette fois.

2. Installation

   Pour installer glibc, il vous faut un systme o rien ne s'excute, car de
   nombreux processus (par exemple sendmail) utilisent continuellement les
   services de la bibliothque et donc, interdisent le remplacement du
   fichier. Il vous faut donc un systme  nu , n'excutant rien d'autre que
   le strict ncessaire. Vous pouvez atteindre cet objectif en passant
   l'option de dmarrage init=/bin/bash au noyau. En fonction de votre
   gestionnaire d'amorage, il vous faudra peut-tre faire d'autres choses.
   Ci-aprs, nous expliquerons ce qu'il vous faut faire en prenant comme
   exemples les deux gestionnaires d'amorage les plus courants, LILO
   (LInux-LOader) et GNU grub.

  2.1. LILO

   Pour lancer un systme  minimum , relancez l'ordinateur et,  l'invite
   de LILO, entrez le nom du noyau que vous dsirez lancez et,  la suite,
   ajoutez

 init=/bin/bash

   avant de presser la touche Entre. Si vous envisagez de remplacer souvent
   votre glibc, ce peut tre une bonne ide d'inclure une configuration
   spcifique dans votre fichier /etc/lilo.conf. Pour plus de dtails,
   reportez-vous  la page de manuel de LILO.

  2.2. Grub

   Grub est un gestionnaire d'amorage plus rcent, avec un support tendu de
   diffrents systmes d'exploitation et systmes de fichiers (par exemple,
   il supporte le dmarrage depuis des partitions reiserfs). Si vous dsirez
   en savoir plus, reportez vous  http://www.gnu.org/software/grub/
   [http://www.gnu.org/software/grub/], o vous trouverez tout le ncessaire.

   Si grub est dj install chez vous, vous utilisez probablement
   l'interface en mode texte pour slectionner le noyau que vous voulez
   lancer. Grub dispose d'une intressante fonctionnalit -- au lieu de tout
   refaire  la main, vous pouvez simplement slectionner l'entre qui vous
   intresse et, alors, taper e, ce qui provoquera l'affichage d'un menu
   optionnel. Dans ce menu, vous verrez la commande excute par grub avant
   le lancement du noyau. Slectionnez la ligne indiquant

 kernel="/o/est-le-noyau-et-quelles-sont-les-options"

   et tapez e de nouveau. Maintenant, vous pouvez diter cette ligne. Vous
   ajoutez simplement

 init=/bin/bash

   et tapez Entre pour rendre les modifications effectives, tapez b pour
   dmarrer.

3. Aprs le dmarrage du noyau...

   ... Vous allez vous retrouver dans un environnement shell absolument
   minimal.

   Il ne vous sera mme pas demand de mot de passe ! A ce moment, vous tes
   le super-utilisateur absolu ; personne ne peut se connecter car le systme
   est en mode mono-utilisateur, aussi faites trs attention  ce que vous
   faites. Aucun droit n'est pos sur les fichiers ni rien d'autre !

   L'invite ressemblera srement 

 init-x.y#

   . La racine (/) ayant t monte en lecture seule, il vous sera impossible
   d'enregistrer la nouvelle librairie sur le disque dur. Pour rendre la
   racine accessible en lecture/criture, entrez la commande :

 mount -o remount,rw /

   . Si les sources se trouvent sur une autre partition, vous devez galement
   la monter (dans le cas de l'auteur, cela signifie monter son systme
   raid) :

 mount -t
 reiserfs /dev/md0 /usr/src

   . Comme vous le voyez, on dfinit galement le type du systme de fichier
   car mount n'ira rien chercher dans dans /etc/fstab.

   Maintenant, vous pouvez aller dans le rpertoire contenant les sources et
   taper :

 make install

   .

   Si vous le dsirez, c'est maintenant le bon moment pour prier pour que
   tout se passe bien... ;-)

   Si tout se passe parfaitement, vous retrouverez l'invite de commande aprs
   l'installation sans aucun message d'erreur. Dans tous les autres cas,
   reportez vous  Chapitre 5, En cas de problme -- si quelque chose a mal
   tourn... .

   Si tout s'est bien pass, lancez

 ldconfig -v

   pour mettre  jour le cache des bibliothques.

   Flicitations ! La bibliothque est installe avec succs. Maintenant,
   tapez : mount -o remount,ro / pour tre sr que toutes les donnes sont
   crites sur le disque dur.

   Lancez la procdure de redmarrage :

 exit

   . Cela provoquera un message d'erreur indiquant que vous avez caus un
   kernel-panic. Si possible, relancez l'ordinateur par CTRL+ALT+DEL, sinon
   utilisez le bouton reset.

   Essayez de lancer votre noyau habituel. Si tout se passe bien, vous tes
   prt  utiliser votre nouvelle bibliothque.

Chapitre 5. En cas de problme -- si quelque chose a mal tourn...

   Table des matires

   1. Erreurs avec les commandes configure ou make durant la compilation de
   glibc

   2. Quelque chose se passe mal durant l'installation (make install)

                2.1. Retrouver une configuration oprationnelle

   Si vous arrivez  cette section en ayant suivi toutes les instructions
   fournies plus haut, vous avez probablement t confront au problme
   inhrent  la multiplicit des distributions Linux, certaines ne placent
   pas les choses o elles devraient tre mais ailleurs. Les distributions
   Suse sont les plus fameuses de celles-l, mais d'autres peuvent avoir ce
   problme. Si vous rencontrez ce problme et trouvez la cause de l'erreur
   -- et j'espre la solution -- soyez gentil de me le faire savoir, afin que
   je l'ajoute  ce document.

   Je pense que cette section ne sera jamais vraiment complte, mais je vais
   tenter de lister un certain nombre d'erreurs possibles et les solutions
   pour s'en sortir.

1. Erreurs avec les commandes configure ou make durant la compilation de glibc

   Vous pouvez parfois obtenir des messages d'erreur durant la configuration
   vous indiquant que, par exemple, une dpendance n'est pas satisfaite,
   typiquement en ce qui concerne les logiciels ou les paquetages de
   bibliothques trop anciens. J'ai rencontr ce type de problme avec une
   srie de programmes, tout spcialement durant la compilation des versions
   statiques des diffrents outils ncessaires. La solution devrait
   normalement tre trs simple : rcuprer les versions  jour des
   programmes ou des bibliothques incrimines et les compiler en se
   conformant ou instructions fournies (habituellement dans le fichier
   README, INSTALL ou tout autre approchant).

   Mais il est quelques cas o cela ne voudra pas fonctionner. Par exemple,
   j'ai eu des soucis pour compiler une nouvelle version de binutils (c'est
   une des raisons pour lesquelles je le mentionne dans les pr-requis),
   alors que j'en avais besoin pour compiler glibc. Le script configure me
   retournait une erreur m'indiquant  Votre glibc est trop ancienne ! 
   Aussi j'ai pens, Ici, le serpent commence  se mordre la queue. Il existe
   heureusement une solution  ce problme : si vous ne pouvez pas faire un
   grand pas en avant, essayer d'en faire plusieurs petits, mais davantage.

   Dans ma distribution, je disposais de la glibc version 2.1.1. Pour
   remdier  l'erreur, j'ai tent la compilation de la version 2.1.3, sans
   problme. Aprs avoir install cette version, j'ai retent la compilation
   de binutils, et toutes les dpendances ont t, cette fois, rsolues.

   Si vous rencontrez cette sorte de  boucle  essayez de rechercher la
   version minimal du logiciel requises, et tlchargez la (je pense que
   c'est une des raisons pour laquelle autant d'anciennes versions demeurent
   sur les serveurs ftp). Aprs avoir men  bien la compilation et
   l'installation, essayez de construire le logiciel rticent ; dans la
   plupart des cas cela devrait aboutir. Il sera peut-tre ncessaire
   d'utiliser de nouveau cette mthode pour compiler des logiciels anciens ou
   manquants. C'est ce que j'appelle  la longue queue du rat   ou  l'effet
   domino . Vous ne vouliez faire qu'une chose, mais vous tes contraints
   d'en effectuer plusieurs autres avant de pouvoir faire aboutir la
   premire. Cela peut tre ennuyeux, mais il y a un point positif  cela :
   aprs, vous tes  peu prs certains que beaucoup des logiciels rellement
   anciens seront remplacs quand vous terminerez l'installation.

2. Quelque chose se passe mal durant l'installation (make install)

   L'erreur la plus commune est de ne pas disposer de l'ensemble des outils
   en version statique  dans ce cas, vous ne pouvez utiliser que la commande
   cd et rien d'autre. C'est pour cette raison que j'ai dcrit en dtail,
   dans ce guide pratique, comment recrer des versions statiques de tous les
   outils ncessaires.

   Le seul outil non statique est mount et, pour de bonnes raisons  mon
   avis, il est inclus dans le paquetage linux-utils, qui contient galement
   login, passwd, etc. De mme que vous ne pouvez utiliser de version
   compile statiquement en association avec PAM ou d'autres logiciels de
   scurit, ce serait une erreur de les recompiler de manire statique
   quelles que soient les circonstances. Vous tes bien entendu libre de le
   faire si vous tes certain de ce que vous faites.

  2.1. Retrouver une configuration oprationnelle

   La mthode permettant de retrouver une configuration en tat de marche est
   trs simple si vous utilisez des outils compils de manire statique :
   allez dans le rpertoire /usr/local/lib/ et dplacez les fichiers
   nouvellement installs dans un autre rpertoire (par exemple,
   /usr/local/lib/deplace/). Vous pourrez les identifier grce  leurs
   numros de versions, qui devrait tre identique que celui de la glibc
   (dans mon cas, les noms de fichiers rpondaient tous au schma
   lib*-2.2.4), et bien entendu par les dates et heures de cration. Il est
   assez rare que deux bibliothques diffrentes aient le mme numro de
   version au mme moment -- je ne l'ai moi-mme jamais vcu -- mais pour
   vous assurer quand mme de ne rien dtruire d'important pour votre systme
   vrifiez les date et heure de cration. S'il est install, Midnight
   Commander est trs utile pour cel.

   Vous pouvez essayer d'effacer les fichiers ld-2.2.4.so et libc-2.2.4.so et
   de lancer ldconfig -v ensuite, avant de dtruire tous les fichiers
   endommags. Cela vous permettra au moins d'utiliser la plupart des
   programmes et, dans tous les cas, vous pourrez utiliser Midnight
   Commander.

   N'oubliez pas non plus de lancer au moins une fois ldconfig -v aprs avoir
   dtruit les fichiers incrimins.

    2.1.1. Remdier aux causes du plantage systme

   Une source courante de problme est que votre distribution stocke les
   fichiers des bibliothques  un emplacement diffrent que celui utilis
   par les routines d'installation que vous avez lances, donc il arrive
   souvent que deux versions diffrentes soient simultanment en fonction, se
   perturbant l'une l'autre. Dans mon cas, j'ai eu beaucoup de soucis  cause
   d'une seconde copie de libc6.so dans le rpertoire /lib, un lien
   symbolique entre ce fichier et son pendant contenu dans le rpertoire
   /usr/local/lib a remdi au problme.

