5.12. Binutils-2.15.94.0.2.2 - Passe 2

Le paquet Binutils contient un éditeur de liens, un assembleur et d'autres outils pour gérer des fichiers objets.

Temps de construction estimé : 1,5 SBU
Espace disque requis : 114 Mo
Dépendances de l'installation : Bash, Bison, Coreutils, Diffutils, Flex, GCC, Gettext, Glibc, Grep, M4, Make, Perl, Sed et Texinfo

5.12.1. Ré-installation de Binutils

Ce paquet est connu pour avoir des soucis quand les options d'optimisation par défaut (en incluant les options -march et -mcpu) sont modifiées. Donc, si des variables d'environnement qui surchargent les optimisations par défaut, telles que CFLAGS et CXXFLAGS, ont été définies, supprimez cette initialisation pour la construction de Binutils.

Créez de nouveau un répertoire de construction séparé :

mkdir -v ../binutils-build
cd ../binutils-build

Préparez la compilation de Binutils :

../binutils-2.15.94.0.2.2/configure --prefix=/tools \
    --disable-nls --enable-shared --with-lib-path=/tools/lib

Voici la signification des nouvelles options de configure :

--with-lib-path=/tools/lib

Ceci indique au script configure de spécifier le chemin de recherche des bibliothèques lors de la compilation de Binutils, résultant au passage de /tools/lib à l'éditeur de liens. Ceci empêche l'éditeur de liens de chercher dans tous les répertoires de bibliothèques de l'hôte.

Compilez le paquet :

make

La compilation est maintenant terminée. Comme dit plutôt, lancer les suites de tests n'est pas nécessaire pour les outils temporaires dans ce chapitre. Néanmoins, pour lancer la suite de tests Binutils, lancez la commande suivante :

make check

Installez le paquet :

make install

Maintenant, préparez l'éditeur de liens pour la phase de « ré-ajustement » du prochain chapitre :

make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
[Avertissement]

Avertissement

Ne supprimez pas encore les répertoires des sources et de construction de Binutils. Ces répertoires seront nécessaires pour le prochain chapitre dans l'état où ils sont actuellement.

Les détails sur ce paquet sont disponibles dans Section 6.13.2, « Contenu de Binutils. »