Linux From Scratch: Version 5.0 | ||
---|---|---|
Précédent | Chapitre 6. Installation des logiciels du système de base | Suivant |
Estimation du temps de compilation : 1,4 SBU Estimation de l'espace disque requis : 167 Mo |
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]
Binutils dépend de Bash, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.
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 |
Précédent | Sommaire | Suivant |
Réajuster l'ensemble des outils | Niveau supérieur | Installer GCC-3.3.1 |