# glibc-2.31 ^ Taille du paquet | 59M | ^ Somme de contrôle SHA256 | 2438817ec6aaaf65eb84500137fc498ea60fb93c3c38c51feac9833965691213 | ^ Estimation du temps de construction |1378.183 secondes | Parfois des erreurs se produisent lorsqu'on compile à la suite d'une passe précédente, il est recommandé de créer un nouveau dossier et de supprimer la précédente glibc compilé mais aussi de remplacer intégralement le contenu du dossier /usr/include par# le contenu du dossier issu de l'extraction des en-têtes du noyau. ``` TIMEFORMAT='(BUSYBOX) Compilation de glibc-2.31 en %R seconds ...' time { wget http://ftp.gnu.org/gnu/glibc/glibc-2.31.tar.xz -O ${LFS}/download/glibc-2.31.tar.xz --no-check-certificate && md5sum -c <<<" 78a720f17412f3c3282be5a6f3363ec6 ${LFS}/download/glibc-2.31.tar.xz" && wget http://www.linuxfromscratch.org/patches/lfs/development/glibc-2.31-fhs-1.patch -O ${LFS}/download/glibc-2.31-fhs-1.patch --no-check-certificate && md5sum -c <<<" 9a5997c3452909b1769918c759eff8a2 ${LFS}/download/glibc-2.31-fhs-1.patch" && cd ${LFS}/src/linux-5.4.8 && make INSTALL_HDR_PATH=dest headers_install && find dest/include \( -name .install -o -name ..install.cmd \) -delete && mv /usr/include /usr/include-sav && cp -rv dest/include /usr/include && rm -Rf ${LFS}/src/glibc-2.31 && tar xf ${LFS}/download/glibc-2.31.tar.xz -C ${LFS}/src && cd ${LFS}/src/glibc-2.31 && patch -Np1 -i ${LFS}/download/glibc-2.31-fhs-1.patch && sed -i '/asm.socket.h/a# include ' sysdeps/unix/sysv/linux/bits/socket.h && mkdir -v build && cd build && CC="gcc -ffile-prefix-map=/tools=/usr" ../configure --prefix=/usr --disable-werror --enable-kernel=3.2 --enable-stack-protector=strong --with-headers=/usr/include libc_cv_slibdir=/lib && make && sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile && mkdir -pv _pkg/{etc/,var/cache/nscd,usr/share/zoneinfo} echo "" > _pkg/etc/ld.so.conf && make DESTDIR=$PWD/_pkg install && strip -v _pkg/usr/bin/* strip -v _pkg/usr/lib/* strip -v _pkg/sbin/* strip -v _pkg/lib/* rm -Rv /usr/include && mv /usr/include-sav /usr/include && cp -v ../nscd/nscd.conf _pkg/etc/nscd.conf && install -v -Dm644 ../nscd/nscd.tmpfiles _pkg/usr/lib/tmpfiles.d/nscd.conf && install -v -Dm644 ../nscd/nscd.service _pkg/lib/systemd/system/nscd.service && mkdir -pv _pkg/var/cache/nscd && install -v -Dm644 ../nscd/nscd.tmpfiles _pkg/usr/lib/tmpfiles.d/nscd.conf && install -v -Dm644 ../nscd/nscd.service _pkg/lib/systemd/system/nscd.service && mkdir -pv _pkg/usr/lib/locale && localedef -i POSIX -f UTF-8 C.UTF-8 2 > /dev/null _pkg/usr/lib/locale || true && localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro _pkg/usr/lib/locale && localedef -i fr_FR -f UTF-8 fr_FR.UTF-8 _pkg/usr/lib/locale && mkdir -pv ${LFS}/src/tzdata2019b && tar -xf ${LFS}/download/tzdata2019b.tar.gz -C ${LFS}/src/tzdata2019b && ln -sfv /usr/share/zoneinfo/Europe/Paris _pkg/etc/localtime && ZONEINFO=$PWD/_pkg/usr/share/zoneinfo && cd ${LFS}/src/tzdata2019b && mkdir -pv $ZONEINFO/{posix,right} && for tz in etcetera southamerica northamerica europe africa antarctica asia australasia backward pacificnew systemv; do zic -L /dev/null -d $ZONEINFO ${tz} zic -L /dev/null -d $ZONEINFO/posix ${tz} zic -L leapseconds -d $ZONEINFO/right ${tz} done && cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO && zic -d $ZONEINFO -p Europe/Paris && unset ZONEINFO && cd ${LFS}/src/glibc-2.31/build && cat > _pkg/etc/nsswitch.conf << "EOF" # Begin /etc/nsswitch.conf passwd: files group: files shadow: files hosts: files dns networks: files protocols: files services: files ethers: files rpc: files # End /etc/nsswitch.conf EOF cat > _pkg/etc/ld.so.conf << "EOF" # Début de /etc/ld.so.conf /usr/local/lib /opt/lib EOF tar -C _pkg/ -cvf ${LFS}/pkg/glibc-2.31.tar.gz ./ && cd "${LFS}/" } ```