Les détails sur ce paquet sont situés dans Section 10.8.5, “Contenu de Glibc.”
Le paquet Glibc contient la bibliothèque C principale. Cette bibliothèque fournit toutes les routines de base pour allouer de la mémoire, rechercher dans des répertoires, ouvrir et fermer des fichiers, les lire et les écrire, gérer les chaînes, faire de la recherche de motifs, faire de l'arithmétique etc.
Les correctifs suivants incorporent toutes les mises à jour issues de la branche 2.7 des développeurs de Glibc :
patch -Np1 -i ../glibc-2.7-branch_update-1A.patch
Notez que toute autre méthode de construire Glibc que celle suggérée dans ce livre met en péril la stabilité du système.
Désactivez l'édition d'un lien vers libgcc_eh:
patch -Np1 -i ../glibc-2.7-libgcc_eh-1.patch
Le correctif suivant corrige un problème qui peut causer des erreurs de segmentation à l'exécution de localdef :
patch -Np1 -i ../glibc-2.7-localedef_segfault-1.patch
La documentation de Glibc recommande de construire Glibc en dehors du répertoire des sources dans un répertoire de construction dédié :
mkdir -v ../glibc-build cd ../glibc-build
Vous devez ajouter les lignes suivantes à
config.cache pour que Glibc supporte NPTL :
echo "libc_cv_forced_unwind=yes" > config.cache echo "libc_cv_c_cleanup=yes" >> config.cache
Préparez la compilation de Glibc :
BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc ${BUILD32}" \
AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" \
../glibc-2.7/configure --prefix=/tools \
--host=${CLFS_TARGET32} --build=${CLFS_HOST} \
--disable-profile --enable-add-ons \
--with-tls --enable-kernel=2.6.0 --with-__thread \
--with-binutils=/cross-tools/bin --with-headers=/tools/include \
--cache-file=config.cacheThe meaning of the new configure options:
AR="${CLFS_TARGET}-ar"Ceci oblige Glibc à utiliser l'outil ar que nous avons construit pour notre architecture cible.
RANLIB="${CLFS_TARGET}-ranlib"Ceci oblige Glibc à utiliser l'outil ranlib que nous avonsconstruit pour notre architecture cible.
--disable-profileCeci construit les bibliothèques sans informations de profilage. N'utilisez pas cette option si le profiling est nécessaire sur les outils temporaires.
--enable-add-onsCeci dit à Glibc d'utiliser toutes les extensions disponibles.
--with-tlsCeci dit à Glibc d'utiliser Thread Local Storage.
--enable-kernel=2.6.0Ceci dit à Glibc de compiler la bibliothèque avec le support pour les noyaux Linux 2.6.x.
--with-__threadCeci dit à Glibc d'utiliser __thread pour la construction de libc et de libpthread.
--with-binutils=/cross-tools/binCeci dit à Glibc d'utiliser les Binutils spécifiques à notre architecture cible.
Pendant cette étape, il se pourrait que les avertissements suivants apparaissent :
configure: WARNING: *** These auxiliary programs are missing or *** incompatible versions: msgfmt *** some features will be disabled. *** Check the INSTALL file for required versions.
L'absence ou l'incompatibilité du programme msgfmt n'est en général pas gênante. Ce programme msgfmt fait partie du paquet Gettext que la distribution hôte devrait fournir.
Compilez le paquet :
make
Installez le paquet :
make install
Les détails sur ce paquet sont situés dans Section 10.8.5, “Contenu de Glibc.”