6.17. Binutils-2.40 — Passe 2

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

Temps de construction approximatif: 0.4 SBU
Espace disque requis: 525 Mo

6.17.1. Installation de Binutils

Binutils contient une copie obsolète de libtool dans l'archive. Elle ne prend pas en charge sysroot, donc les binaires produits seront liés aux bibliothèques de l'hôte par erreur. Contournez ce problème :

sed '6009s/$add_dir//' -i ltmain.sh

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

mkdir -v build
cd       build

Préparez la compilaton de Binutils :

../configure                   \
    --prefix=/usr              \
    --build=$(../config.guess) \
    --host=$LFS_TGT            \
    --disable-nls              \
    --enable-shared            \
    --enable-gprofng=no        \
    --disable-werror           \
    --enable-64-bit-bfd

Voici la signification des nouvelles options de configure :

--enable-shared

Construit libbfd en tant que bibliothèque partagée.

--enable-64-bit-bfd

Active la prise en charge du 64 bits (sur les hôtes avec des tailles de mots plus petites). Cela n'est peut-être pas nécessaire sur les systèmes 64 bits, mais ça ne fait pas de mal.

Compilez le paquet :

make

Installez le paquet :

make DESTDIR=$LFS install

Supprimez les fichiers d'archive libtool car ils sont dangereux pour la compilation croisée et supprimez des bibliothèques statiques inutiles :

rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.{a,la}

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