Des détails sur ce paquet se trouvent sur Section 10.8.5, « Contenu de Glibc. »
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.
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. »