5.2. Binutils-2.36.1 — Passe 1

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

Temps de construction approximatif: 1 SBU
Espace disque requis: 640 Mo

5.2.1. Installation de Binutils croisé

[Note]

Note

Revenez en arrière et relisez les remarques de la section Instructions générales de compilation. La compréhension des remarques notées importantes vous évitera beaucoup de problèmes plus tard.

Il est important que Binutils soit le premier paquet compilé parce que Glibc et GCC réalisent différents tests sur l'éditeur de liens et l'assembleur disponibles pour déterminer leurs propres fonctionnalités à activer.

La documentation de Binutils recommande de construire Binutils dans un répertoire de construction dédié :

mkdir -v build
cd build
[Note]

Note

Pour que les valeurs SBU listées dans le reste du livre vous soient utiles, mesurez le temps pris pour construire ce paquet, de la configuration jusqu'à la première installation. Pour cela, englobez les commandes dans une commande time de cette façon : time { ../configure ... && make && make install; }.

Maintenant, préparez la compilation de Binutils :

../configure --prefix=$LFS/tools       \
             --with-sysroot=$LFS        \
             --target=$LFS_TGT          \
             --disable-nls              \
             --disable-werror

Voici la signification des options de configure :

--prefix=$LFS/tools

Ceci dit au script configure de se préparer à installer les programmes de binutils dans le répertoire $LFS/tools.

--with-sysroot=$LFS

Pour de la compilation croisée, ceci dit au système de construction de chercher dans $LFS les bibliothèques système cibles comme nécessaire.

--target=$LFS_TGT

Vu que la description de la machine dans la variable LFS_TGT est légèrement différente de la valeur renvoyée par le script config.guess, ce paramètre va dire au script configure d'ajuster le système de construction de binutils pour la construction d'un éditeur de lien croisé.

--disable-nls

Ceci désactive l'internationalisation (i18n), car ce n'est pas nécessaire pour des outils temporaires.

--disable-werror

Ceci empêche la compilation de s'arrêter lorsqu'interviennent des événements comme des avertissements du compilateur du système hôte.

Continuez avec la compilation du paquet :

make

Installez le paquet :

make install -j1

Voici la signification des options de make :

-j1

Un problème dans le système de construction peut causer l'échec de l'installation avec -j N dans MAKEFLAGS. On le remplace pour contourner le problème.

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