diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index cce3d9ebf..b352ca346 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -41,24 +41,36 @@ --> - 2024-05-01 + 2024-05-11 - [bdubbs] - Add security fix to glibc. Fixes - #5481. + [bdubbs] - Update to vim-9.1.0405. Addresses + #4500. - [bdubbs] - Update to linux-6.8.8. Fixes - #5480. + [bdubbs] - Update to util-linux-2.40.1. Fixes + #5482. - [bdubbs] - Update to ncurses-6.5. Fixes - #5483. + [bdubbs] - Update to linux-6.8.9. Fixes + #5484. + + + [bdubbs] - Update to jinja2-3.1.4 (Python mpdule). Fixes + #5485. + + + [bdubbs] - Update to iana-etc-20240502. Addresses + #5006. + + + [bdubbs] - Update to gcc-14.1.0. Fixes + #5486. - + 2024-04-16 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 6bfc51b25..8bd40c0c1 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -92,9 +92,9 @@ - + @@ -134,9 +134,9 @@ IPRoute2-&iproute2-version; - + @@ -194,9 +194,9 @@ - + Ninja-&ninja-version; @@ -294,9 +294,6 @@ Lz4-&lz4-version; - - glibc-2.39-upstream_fix-1.patch - diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 0f78dcfa5..19402ac9e 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -59,15 +59,15 @@ MD5 sum: &coreutils-i18n-patch-md5; - + + - Glibc Upstream Fix Patch - &glibc-upstream-patch-size;: + Glibc Upstream Fixes Patch - &glibc-upstream-fixes-patch-size;: - Download: - MD5 sum: &glibc-upstream-patch-md5; + Download: + MD5 sum: &glibc-upstream-fixes-patch-md5; - +--> Glibc FHS Patch - &glibc-fhs-patch-size;: diff --git a/chapter06/bash.xml b/chapter06/bash.xml index 54fa6f444..66c6ef3fc 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -48,7 +48,8 @@ ./configure --prefix=/usr \ --build=$(sh support/config.guess) \ --host=$LFS_TGT \ - --without-bash-malloc + --without-bash-malloc \ + bash_cv_strtold_broken=no The meaning of the configure options: diff --git a/chapter08/automake.xml b/chapter08/automake.xml index ed1907c55..6c7aa2582 100644 --- a/chapter08/automake.xml +++ b/chapter08/automake.xml @@ -62,7 +62,8 @@ Replace $((...)) with the number of logical cores you want to use if you don't want to use all. - The test t/subobj.sh is known to fail. + Out of 2926 tests, 52 are known to fail due to incompatibilities in the + test scripts with gcc-14.1 or later. Install the package: diff --git a/chapter08/bash.xml b/chapter08/bash.xml index 1490e7791..c217d5576 100644 --- a/chapter08/bash.xml +++ b/chapter08/bash.xml @@ -49,6 +49,7 @@ ./configure --prefix=/usr \ --without-bash-malloc \ --with-installed-readline \ + bash_cv_strtold_broken=no \ --docdir=/usr/share/doc/bash-&bash-version; diff --git a/chapter08/expect.xml b/chapter08/expect.xml index 76795782d..5b5047cda 100644 --- a/chapter08/expect.xml +++ b/chapter08/expect.xml @@ -67,6 +67,10 @@ GDBM, and of course Expect itself) will fail catastrophically, and other subtle breakages may also happen. + Now, make some changes to allow the package with gcc-14.1 or later: + +patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch + Prepare Expect for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml index 54838ed09..f68375d78 100644 --- a/chapter08/gcc.xml +++ b/chapter08/gcc.xml @@ -40,20 +40,7 @@ Installation of GCC - - If building on x86_64, change the default directory name for 64-bit libraries to lib: @@ -83,6 +70,7 @@ cd build --enable-languages=c,c++ \ --enable-default-pie \ --enable-default-ssp \ + --enable-host-pie \ --disable-multilib \ --disable-bootstrap \ --disable-fixincludes \ @@ -168,8 +156,8 @@ cd build In this section, the test suite for GCC is considered important, but it takes a long time. First-time builders are encouraged to run the test suite. The time to run the tests can be - reduced significantly by adding -jx to the make -k check command below, - where x is the number of CPU cores on your system. + reduced significantly by adding -jx to the make -k check + command below, where x is the number of CPU cores on your system. One set of tests in the GCC test suite is known to exhaust the default @@ -177,6 +165,14 @@ cd build ulimit -s 32768 + Now remove/fix several known test failures: + +sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp +sed -e 's/no-pic /&-no-pie /' -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c +sed -e 's/300000/(1|300000)/' -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c +sed -e 's/{ target nonpic } //' \ + -e '/GOTPCREL/d' -i ../gcc/testsuite/gcc.target/i386/fentryname3.c + Test the results as a non-privileged user, but do not stop at errors: chown -R tester . @@ -192,14 +188,14 @@ su tester -c "PATH=$PATH make -k check" Results can be compared with those located at and . - +pr56837.c + pr56837.c and seven tests in the analyzer directory are known to fail. - + One libstdc++ test (out of over 15000), copy.cc, is known to fail. @@ -211,9 +207,10 @@ su tester -c "PATH=$PATH make -k check" Additionally, several tests in the vect directory are known to fail if the hardware does not support AVX. - - A few unexpected failures cannot always be avoided. The GCC developers - are usually aware of these issues, but have not resolved them yet. +--> + A few unexpected failures cannot always be avoided. In some cases + test failures depend on the specific hardware of the system. Unless the test results are vastly different from those at the above URL, it is safe to continue. diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index f6bff0800..1d217bfa9 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -49,11 +49,12 @@ store their runtime data in the FHS-compliant locations: patch -Np1 -i ../&glibc-fhs-patch; + The Glibc documentation recommends building Glibc in a dedicated build directory: diff --git a/chapter08/grub.xml b/chapter08/grub.xml index aa13ce3b0..19cc9674a 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -43,10 +43,12 @@ If your system has UEFI support and you wish to boot LFS with UEFI, - you can skip this package in LFS, - and install GRUB with UEFI support (and its dependencies) by following - the instructions on + you need to install GRUB with UEFI support (and its dependencies) by + following the instructions on the BLFS page. + You may skip this package, or install this package and the BLFS + GRUB for UEFI package without conflict (the BLFS page provides + instructions for both cases). diff --git a/chapter08/inetutils.xml b/chapter08/inetutils.xml index 468ccb25e..693c08405 100644 --- a/chapter08/inetutils.xml +++ b/chapter08/inetutils.xml @@ -40,6 +40,10 @@ Installation of Inetutils + First, make the package build with gcc-14.1 or later:: + +sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c + Prepare Inetutils for compilation: ./configure --prefix=/usr \ diff --git a/packages.ent b/packages.ent index 25445e4db..720ad8bee 100644 --- a/packages.ent +++ b/packages.ent @@ -218,10 +218,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -359,10 +359,10 @@ - - - - + + + + @@ -441,12 +441,12 @@ - + - + - + + + + - + @@ -743,17 +746,17 @@ - - + + - + - + diff --git a/patches.ent b/patches.ent index bad4710b0..7bf0177a2 100644 --- a/patches.ent +++ b/patches.ent @@ -14,14 +14,18 @@ + + + + - - - - - +