5.14. Glibc-2.25 64-Bit

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.14.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

Ajoutez les variables suivantes à config.cache pour qu'elles soient initialisées correctement :

cat > config.cache << "EOF"
libc_cv_forced_unwind=yes
libc_cv_c_cleanup=yes
libc_cv_sparc64_tls=yes
libc_cv_gnu89_inline=yes
EOF

Configurez Glibc pour qu'elle installe ses bibliothèques 64-bit dans /tools/lib64 :

echo "libc_cv_slibdir=/tools/lib64" >> config.cache

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} \
    --libdir=/tools/lib64 \
    --enable-kernel=3.12.0 \
    --with-binutils=/cross-tools/bin \
    --with-headers=/tools/include \
    --enable-obsolete-rpc \
    --cache-file=config.cache

Voici la signification des nouvelles options de configure :

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

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

--libdir=/tools/lib64

Met Glibc dans /tools/lib64 plutôt que /tools/lib.

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.8.5, « Contenu de Glibc. »