Installer Binutils-2.14

Estimation du temps de compilation :           1,4 SBU
Estimation de l'espace disque requis :  167 Mo

Contenu de Binutils

Binutils est une collection d'outils de développement de logiciels contenant un éditeur de liens, un assembleur et d'autres outils pour travailler avec des fichiers objet et des archives.

Programmes installés : addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings et strip

Bibliothèques installés : libiberty.a, libbfd.[a,so] et libopcodes.[a,so]

Dépendances d'installation de Binutils

Binutils dépend de Bash, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.

Installation de Binutils

C'est le bon moment pour vérifier que vos pseudo-terminaux (PTY) fonctionnent correctement dans l'environnement chroot. Nous allons encore rapidement vérifier que tout est bien configuré en réalisant un simple test :

expect -c "spawn ls"

Si vous recevez le message :

The system has no more ptys.  Ask your system administrator to create more.

Votre environnement chroot n'est pas correctement configuré pour les PTY. Dans ce cas, il n'y a aucune raison pour lancer les suites de tests pour Binutils et GCC jusqu'à la résolution de ce problème. Merci de vous référer à la section intitulée Monter le système de fichier proc et devfs et la section intitulée Créer les périphériques (Makedev-1.7), et de réaliser les étapes recommandées pour corriger le problème.

Note : La suite de tests pour Binutils dans cette section est considérée comme étant critique. Notre conseil est de faire à tout prix ces tests.

Ce paquet est connu pour mal se comporter si vous changez les options d'optimisation par défaut (en incluant les options -march et -mcpu). Donc, si vous avez défini des variables d'environnement qui surchargent les optimisations pas défaut, telles que CFLAGS et CXXFLAGS, nous vous recommandons de supprimer cette initialisation lors de la construction de Binutils.

La documentation de Binutils recommande de construire Binutils en dehors du répertoire des sources, c'est-à-dire dans un répertoire de construction dédié :

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

Maintenant, préparez la compilation de Binutils :

../binutils-2.14/configure \
    --prefix=/usr --enable-shared

Compilez le paquet :

make tooldir=/usr

Normalement, tooldir (le répertoire où se trouveront les exécutables) est initialisé à $(exec_prefix)/$(target_alias), ce qui sera compris comme, par exemple, /usr/i686-pc-linux-gnu. Comme nous ne construisons que notre propre système, nous n'avons pas besoin d'un répertoire spécifique à une cible dans /usr. Cette configuration serait utilisée si le système était utilisé pour faire de la cross-compilation (par exemple pour compiler un paquet sur une machine Intel en générant du code exécutable sur des machines à base de PowerPC).

Testez le resultat :

make check

Les notes de la suite de tests données lors du la section intitulée Installer Binutils-2.14 - Pass 2 dans Chapitre 5 sont toujours appropriées ici. Assurez-vous de vous y référer si vous avez un quelconque doute.

Installez le paquet :

make tooldir=/usr install

Installez le fichier d'en-tête libiberty nécessaire à certains paquets :

cp ../binutils-2.14/include/libiberty.h /usr/include