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 @@
+
+
+
+