diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 131a8cd1c..440ecac5f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,36 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-05-11 + + + [bdubbs] - Update to vim-9.1.0405. Addresses + #4500. + + + [bdubbs] - Update to util-linux-2.40.1. Fixes + #5482. + + + [bdubbs] - Update to linux-6.8.9. Fixes + #5484. + + + [bdubbs] - Update to jinja2-3.1.4 (Python module). Fixes + #5485. + + + [bdubbs] - Update to iana-etc-20240502. Addresses + #5006. + + + [bdubbs] - Update to gcc-14.1.0. Fixes + #5486. + + + + 2024-05-01 @@ -58,7 +88,7 @@ - + 2024-04-16 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 6bfc51b25..2bd18a3e4 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -92,9 +92,9 @@ - + @@ -134,9 +134,9 @@ IPRoute2-&iproute2-version; - + diff --git a/chapter02/creatingfilesystem.xml b/chapter02/creatingfilesystem.xml index 9b1a08b2a..74970e226 100644 --- a/chapter02/creatingfilesystem.xml +++ b/chapter02/creatingfilesystem.xml @@ -50,7 +50,7 @@ - Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are + Other file systems, including FAT32, NTFS, JFS, and XFS are useful for specialized purposes. More information about these file systems, and many others, can be found at . diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 0f78dcfa5..87645f532 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -59,15 +59,15 @@ MD5 sum: &coreutils-i18n-patch-md5; - + - On ARM64 hosts, set the default directory name for 64-bit libraries to lib: @@ -72,6 +59,7 @@ cd build --enable-languages=c,c++ \ --enable-default-pie \ --enable-default-ssp \ + --enable-host-pie \ --disable-multilib \ --disable-bootstrap \ --disable-fixincludes \ @@ -143,8 +131,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 @@ -152,6 +140,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 . @@ -167,33 +163,38 @@ su tester -c "PATH=$PATH make -k check" Results can be compared with those located at and . - + + One libstdc++ test (out of over 15000), copy.cc, is known to fail. - For g++, 22 tests (out of approximately 250,000): 14 + For g++, 21 tests (out of approximately 250,000): 14 AddressSanitizer* - tests, 7 interception-malloc-test-1.C tests, - and one test named contracts-tmpl-spec2.C are + tests and 7 interception-malloc-test-1.C tests, are known to fail. - On ARM64, many tests in the + Additionally, several tests in the + vect directory are known to fail + if the hardware does not support AVX. +--> + + On ARM64, many tests in the c-c++-common/hwasan directory are known to fail in both gcc and g++ tests, and many tests in the g++.dg/modules - directory are known to fail in g++ tests. - + directory are known to fail in g++ tests. - 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/grub.xml b/chapter08/grub.xml index efa6c1f50..96a12206c 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -53,11 +53,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 - the BLFS page - (with --target=x86_64 removed). + 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/lfs-latest-git.php b/lfs-latest-git.php index 95abb7c28..52eb501b4 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -147,7 +147,7 @@ if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/sou if ( $package == "shadow" ) $dirpath = github("shadow-maint/shadow"); if ( $package == "sysvinit" ) $dirpath = github("slicer69/sysvinit"); if ( $package == "MarkupSafe" ) $dirpath = "https://pypi.python.org/pypi/MarkupSafe/"; -if ( $package == "Jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/"; +if ( $package == "jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/"; if ( $package == "systemd" ) $dirpath = github("systemd/systemd"); //if ( $package == "tcl" ) $dirpath = "https://sourceforge.net/projects/tcl/files"; if ( $package == "tcl" ) $dirpath = "https://www.tcl.tk/software/tcltk/download.html"; @@ -263,7 +263,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "grub" ) return find_max( $lines, "/grub/", "/^.*grub-([\d\.]+).tar.xz.*$/" ); - if ( $package == "Jinja" ) + if ( $package == "jinja" ) return find_max( $lines, "/Jinja/", "/^.*Jinja2 ([\d\.]+).*$/" ); if ( $package == "lz" ) diff --git a/packages.ent b/packages.ent index 81a747019..e78e6387c 100644 --- a/packages.ent +++ b/packages.ent @@ -218,10 +218,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -349,10 +349,10 @@ - - - - + + + + @@ -431,12 +431,12 @@ - + - + - + - + + - + - + + - + diff --git a/patches.ent b/patches.ent index bad4710b0..447287ec7 100644 --- a/patches.ent +++ b/patches.ent @@ -14,6 +14,10 @@ + + + +