10.47. Bibliothèques 32 Bit Libtool-2.4.6

Le paquet Libtool contient le script de support générique des bibliothèques GNU. Il enveloppe la complexité d'utiliser des bibliothèques partagées dans une interface cohérente et portable.

10.47.1. Installation de Libtool

Le fichier config.cache suivant permet de forcer le chemin de recherche par défaut pour prendre en compte l'environnement multilib :

echo "lt_cv_sys_dlsearch_path='/lib /usr/lib /usr/local/lib /opt/lib'" > config.cache

Préparez la compilation de Libtool :

CC="gcc ${BUILD32}" ./configure \
    --prefix=/usr \
    --cache-file=config.cache

Compilez le paquet :

make

Pour tester les résultats, exécutez : make LDEMULATION=elf_i386 check.

Voici la signification du remplacement de make check :

LDEMULATION=elf_i386

Libtool a tendance à se comporter de façon inattendue en environnement multilib, du moins sur des architectures autres que celle par défaut. On ne saisit pas tout à fait les causes de ces erreurs car elles peuvent apparaître ou disparaître bon gré mal gré, même lors de changements normalement inoffensifs au bon déroulement de la compilation. Dans cette version du livre, l'un des tests, pdemo-make, ne se lie pas correctement car il cherche à lier les objets 32 bits aux bibliothèques 64 bits du système. Cette option permet à ce test de réussir sans impacter les autres tests (par rapport aux méthodes de correction plus traditionnelles comme spécifier LD="gcc ${BUILD32}", ce qui empêche l'exécution de nombreux test ou bien configurer avec LDFLAGS='-L/lib -L/usr/lib', ce qui dans ce cas fait échouer d'autres tests).

Installez le paquet :

make install

Préparez libtool à être pris en charge par le programme enveloppe multi-architectures (« multiarch-wrapper »). Libtool seul ne supporte pas l'environnement multilib :

mv -v /usr/bin/libtool{,-32}

Des détails sur ce paquet se trouvent sur Section 10.48.2, « Contenu de Libtool. »