6.17. Binutils-2.42 — 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,5 SBU
Espace disque requis: 537 Mo

6.17.1. Installation de Binutils

Le système de construction de Binutils se base sur une copie de libtool pour se lier à des bibliothèques statiques internes, mais les copies de libiberty et zlib fournies dans le paquet n'utilisent pas libtool. Cette incohérence peut faire que 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 compilation de Binutils :

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

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,sframe}.{a,la}

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