Adaptation française : Nicolas Jadot
Préparation de la publication de la v.f. : Jean-Philippe Guérard
Version :1.01.fr.1.0
25 janvier 2005
Historique des versions | ||
---|---|---|
Version 1.01.fr.1.0 | 2005-01-25 | NJ |
Première traduction française | ||
Version 1.01 | 2004-03-19 | KC |
Première édition, revue par le projet de documentation Linux (Initial Release, reviewed by LDP) |
Table des matières
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.
La version française de ce document a été réalisée par Nicolas Jadot (Relecteur, ajoute ton nom ;-)). La version française de ce guide pratique est publiée en accord avec les termes de la licence de documentation libre GNU (GFDL) ; sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture. Une copie de la licence est disponible sur http://www.gnu.org/copyleft/fdl.html.
J'expliquerai dans ce guide pratique comment installer une nouvelle version de la bibliothèque glibc™ sur votre système.
J'ai écris ce manuel afin de protéger les autres utilisateurs des problèmes que j'ai rencontrés.
Ce document est une sorte de ligne de vie, faite des paramétrages et des méthodes qui ont fonctionné dans mon cas. L'auteur décline toute responsabilité quant au contenu de ce document. Utilisez les concepts, exemples et autres à vos risques et périls. Je vous recommande cependant vivement de sauvegarder l'intégralité de votre système avant toute installation majeure et de faire des sauvegardes régulières.
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>
.
L'installation de glibc n'est pas une tâche facile. Il vous faudra effectuer un certain nombre d'opérations préalables, spécialement pour le cas où quelque chose tournerait mal. C'est ce qui m'est arrivé lors de ma première installation de glibc, et je n'avais fait aucun de ces préparatifs.
Chargez la toute dernière version depuis ftp.gnu.org/gnu/binutils ; à la date de rédaction de ce guide, le numéro de la version la plus récente était 2.14.
Ouvrez le paquetage :
tar xIvf binutils-2.14.tar.bz2
.
Changez de répertoire :
cd binutils-2.14
.
Configurez les makefiles :
./configure
.
Compilez :
make
.
Installez avec :
make install
.
Si quelque chose se déroule mal durant la compilation de binutils, en rapport avec gettext (indiqué par des erreurs comme : « référence à lib_intl non déclarée » ou quelque chose d'approchant) installez la nouvelle version, disponible à ftp.gnu.org/gnu/gettext.
Si cela ne suffit pas, essayez de désactiver le support du langage natif en utilisant :
./configure --no-nls
.
Il n'est pas nécessaire de compiler une version statique de binutils, bien que cela ne cause aucun problème, mais j'ai rencontré de nombreux systèmes fonctionnant avec de très vieilles versions et eu des erreurs presque à chaque fois aussi je pense qu'il est utile de le mentionner ici.
Téléchargez les sources depuis : ftp.gnu.org/gnu/make/ ; à la date de rédaction, la version est 3.80.
Déballez les sources :
tar xIvf make-3.80.tar.bz2
.
Changez de répertoire :
cd make-3.80
.
Prenez garde à compiler de manière statique :
export CFLAGS="-static -O2 -g"
.
Lancez le script de configuration :
./configure
Compilez :
make
.
Installez les binaires:
make install
.
Vérifiez :
make -v
Vous devez maintenant voir la dernière version installée. Sinon, recherchez les anciens fichiers binaires et remplacez les par des liens symboliques vers les nouvelles versions.
Félicitations ! Vous avez compilé un autre programme statique.
De nouveau, téléchargez les sources depuis ftp.gnu.org/gnu/coreutils/ ; au moment de la rédaction, la version courante est la 5.0.
Dépaquetez les sources :
tar xIvf coreutils-5.0.tar.bz2
Changez de répertoire :
cd coreutils-5.0
Prenez garde au fait que les binaires doivent être liés statiquement :
export CFLAGS="-static -O2 -g"
Configurez le paquetage :
./configure
Compilez les binaires :
make
Et installez les :
make install
Vérifiez que la bonne version de core-utils est utilisée :
cp --version
. Vous devez obtenir un numéro 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 sûr qu'il fonctionneront en cas de besoin.
Récupérez les sources de GNU tar sur ftp.gnu.org/gnu/tar ; à la date de rédaction, la dernière version est la 1.13.
Comme de multiples archives tar sont compressées avec bzip2, nous préférerons disposer du support intégré, plutôt que de devoir travailler avec des pipes ; il nous faut donc récupérer le patch à ftp://infogroep.be/pub/linux/lfs/lfs-packages/4.1/tar-1.13.patch.
Dépaquetez les sources :
tar xzvf tar-1.13.tar.gz
Copiez le patch dans le répertoire contenant les sources de tar
cp tar-1.13.patch tar-1.13/
Appliquez le :
patch -Np1 -i tar-1.13.patch
Posez les options du compilateur pour obtenir un binaire statique :
export CFLAGS="-static -O2 -g"
Nous sommes maintenant prêt pour la configuration :
./configure
La compilation :
make
Et enfin l'installation :
make install
Faites une dernière vérification pour vous assurer que la nouvelle version sera utilisée à partir de maintenant :
tar --version
. La version que vous venez d'installer doit apparaître, sinon, remplacez les anciens binaires par des liens symboliques vers les nouveaux.
Si vous avez des problèmes dans l'exécution de la commande make, essayez de désactiver 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 décompresser les
fichiers .bzip2, aussi plutôt 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.
Récupérez bash à : ftp.gnu.org/gnu/bash/. Téléchargez la version la plus récente que vous trouverez ; à la date de rédaction, celle-ci est la 2.05b.
Dépaquetez les sources :
tar xzvf bash-2.05b.tar.gz
créera un répertoire nommé
bash-2.05b
contenant toutes les
sources.
Déplacez-vous dans ce répertoire :
cd bash-2.05a
Configurez pour obtenir une version statique :
export CFLAGS="-static -O2 -g"
Configurez le makefile :
./configure
. Si vous désirez que votre bash possède certaine fonctionnalités spéciales, reportez-vous à la commande
./configure --help
pour la liste des options.
Compilez le tout :
make
Installez les binaires :
make install
. Ils seront installés dans le répertoire
/usr/local/bin/
.
Vérifiez 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 démarrage de la machine qu'au lancement de bash, des problèmes 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'accoutumée, mais il fonctionnera quelles que soient les circonstances.
Si vous préférez utiliser un autre shell, vous êtes libre de le faire, mais assurez-vous qu'il s'agit d'une version liée statiquement. N'hésitez pas à me communiquer la méthode pour construire une version statique du shell de votre choix ; il y a de grandes chances qu'elle soit reprise dans la prochaine révision de ce document.
Pour compiler ce logiciel, glib doit être installé ; cela est le cas dans certaines distributions. Si vous rencontrez une erreur lors de l'exécution de la commande make vous indiquant que ld ne peut pas trouver glib, vous devrez installer cette bibliothèque avant tout autre chose. Vous pouvez en trouver les sources à : ftp.gnome.org/pub/gnome/sources/glib/2.2/, et l'installation est directe .
Les étapes de la construction de Midnight Commander sont :
Récupérer les sources depuis http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/ ; à la date de rédaction, la version la plus récente est la 4.6.0.
Dépaqueter les sources :
tar xzvf mc-4.6.0.tar.gz
Se déplacer dans le répertoire nouvellement créé :
cd mc-4.6.0
Configurer :
./configure
Compiler :
make
Tout installer :
make install
Maintenant nous atteignons le point crucial : l'installation de glibc.
Bien, maintenant, au travail :
Récupérez les sources sur ftp.gnu.org/gnu/glibc/ ; comme dit plus haut, j'ai utilisé la version 2.2.4.
Dépaquetez les sources :
tar -xzvf glibc-2.2.4.tar.gz
Vous aurez besoin, en plus, du paquetage
« linuxthreads » que l'on peut trouver dans le répertoire
linuxthreads
sur ftp.gnu.org. Le fichier est :
glibc-linuxthreads-2.2.4.tar.gz
. Assurez-vous que le numéro de version correspond à celui de votre arborescence des sources de glibc.
Copiez le paquetage linuxthreads dans le répertoire contenant les sources de glibc :
cp glibc-linuxthreads-2.2.4.tar.gz glibc-2.2.4
Déplacez vous dans ce répertoire :
cd glibc-2.2.4
Dépaquetez linuxthreads :
tar xzvf linux-threads-2.2.4.tar.gz
Configurez le paquetage :
./configure --enable-add-ons=linuxthreads
. Cela configurera le paquetage de telle sorte que linuxthreads soit inclus dans la compilation ; ceci est nécessaire pour la compatibilité avec d'autres systèmes 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.
Enfin, lancez la compilation de glibc :
make
. Cela peut prendre un certain temps (à peu près une demi-heure sur le Duron XP 1,5 GHz de l'auteur).
Maintenant que la bibliothèque est compilée, tout est prêt pour l'installation, mais les choses ne seront pas si simple cette fois.
Grub est un gestionnaire d'amorçage plus récent, avec un support étendu de différents systèmes d'exploitation et systèmes de fichiers (par exemple, il supporte le démarrage depuis des partitions reiserfs). Si vous désirez en savoir plus, reportez vous à http://www.gnu.org/software/grub/, où vous trouverez tout le nécessaire.
Si grub est déjà installé chez vous, vous utilisez probablement l'interface en mode texte pour sélectionner le noyau que vous voulez lancer. Grub dispose d'une intéressante fonctionnalité — au lieu de tout refaire à la main, vous pouvez simplement sélectionner l'entrée qui vous intéresse et, alors, taper e, ce qui provoquera l'affichage d'un menu optionnel. Dans ce menu, vous verrez la commande exécutée par grub avant le lancement du noyau. Sélectionnez 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 Entrée pour rendre les modifications effectives, tapez b pour démarrer.
… Vous allez vous retrouver dans un environnement shell absolument minimal.
L'invite ressemblera sûrement à
init-x.y#
mount -o remount,rw /
mount -t reiserfs /dev/md0 /usr/src
Maintenant, vous pouvez aller dans le répertoire contenant les sources et taper :
make install
Si vous le désirez, 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 après l'installation sans aucun message d'erreur. Dans tous les autres cas, reportez vous à Chapitre 5, En cas de problème — si quelque chose a mal tourné… .
Si tout s'est bien passé, lancez
ldconfig -v
pour mettre à jour le cache des bibliothèques.
Félicitations ! La bibliothèque est installée avec succès. Maintenant, tapez : mount -o remount,ro / pour être sûr que toutes les données sont écrites sur le disque dur.
Lancez la procédure de redémarrage :
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 prêt à utiliser votre nouvelle bibliothèque.
Si vous arrivez à cette section en ayant suivi toutes les instructions fournies plus haut, vous avez probablement été confronté au problème inhérent à 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 problème. Si vous rencontrez ce problème et trouvez la cause de l'erreur — et j'espère 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 complète, mais je vais tenter de lister un certain nombre d'erreurs possibles et les solutions pour s'en sortir.