5.13. Glibc-2.25

Le paquet Glibc contient la bibliothèque C principale. Cette bibliothèque fournit toutes les routines basiques pour allouer de la mémoire, rechercher des répertoires, ouvrir et fermer des fichiers, les lire et les écrire, gérer les chaînes, faire correspondre des modèles, faire de l'arithmétique et ainsi de suite.

5.13.1. Installation de Glibc

Vous devriez remarquer que la compilation de Glibc de toute autre manière que la méthode suggérée dans ce livre est un risque pour la stabilité du système.

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

mkdir -v ../glibc-build
cd ../glibc-build

Préparez la compilation de Glibc :

BUILD_CC="gcc" \
CC="${CLFS_TARGET}-gcc ${BUILD64}" \
AR="${CLFS_TARGET}-ar" \
RANLIB="${CLFS_TARGET}-ranlib" \
../glibc-2.25/configure \
    --prefix=/tools \
    --host=${CLFS_TARGET} \
    --build=${CLFS_HOST} \
    --enable-kernel=3.12.0 \
    --with-binutils=/cross-tools/bin \
    --with-headers=/tools/include \
    --enable-obsolete-rpc

Voici la signification des nouvelles options de configure :

BUILD_CC="gcc"

Cela initialise Glibc pour utiliser le compilateur actuel de notre système. Cela est utilisé pour créer les outils que Glibc utilise pendant sa construction.

CC="${CLFS_TARGET}-gcc ${BUILD64}"

Force Glibc à se construire en utilisant notre GCC pour l'architecture cible avec les drapeaux 64 Bit.

AR="${CLFS_TARGET}-ar"

Cela force Glibc à utiliser l'utilitaire ar que nous avons construit pour l'architecture cible.

RANLIB="${CLFS_TARGET}-ranlib"

Cela force Glibc à utiliser l'utilitaire ranlib que nous avons construit pour l'architecture cible.

--enable-kernel=3.12.0

Cela dit à Glibc de compiler la bibliothèque avec le support pour les noyaux Linux 3.12.0 et supérieurs.

--with-binutils=/cross-tools/bin

Cela dit à Glibc d'utiliser le Binutils qui est spécifique à notre architecture cible.

--with-headers=/tools/include

Cela dit à Glibc de se compiler avec les en-tête récemment installés dans le répertoire /tools, pour qu'elle connaisse exactement les fonctionnalités que le noyau possède et puisse s'optimiser en conséquence.

--enable-obsolete-rpc

Cela dit à Glibc d'installer ses en-têtes rpc qui ne sont pas installées par défaut mais qui peuvent être requis par d'autres paquets.

Pendant cette phase, l'avertissement suivant peut apparaître :

configure: WARNING:
*** These auxiliary programs are missing or
*** incompatible versions: msgfmt
*** some features will be disabled.
*** Check the INSTALL file for required versions.

Le programme msgfmt manquant ou incompatible est généralement sans conséquence. Ce programme msgfmt fait partie du paquet Gettext que la distribution hôte devrait fournir. Vous pouvez aussi voir des messages similaires (sans gravité) à propos de l'absence d'autoconf.

Compilez le paquet :

make

Installez le paquet :

make install

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