From f15bd6cfffc24a73eff5529ea686a63cd5236e88 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Thu, 24 Apr 2025 13:43:45 +0200 Subject: [PATCH] Merge --- chapter01/whatsnew.xml | 2 +- chapter06/diffutils.xml | 37 ++++++++++++++++++++++++++++--------- chapter08/gperf.xml | 6 ++---- chapter08/packaging.xml | 2 +- chapter08/stripping.xml | 19 ++++++++++++------- general.ent | 2 +- lfs-latest-git.php | 4 ++++ 7 files changed, 49 insertions(+), 23 deletions(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 4ab0abff3..d6d646f7b 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -294,7 +294,7 @@ - Packaging-24.2 + Packaging-&packaging-version; diff --git a/chapter06/diffutils.xml b/chapter06/diffutils.xml index 8738e32b0..404fe9b66 100644 --- a/chapter06/diffutils.xml +++ b/chapter06/diffutils.xml @@ -43,21 +43,40 @@ Installation of Diffutils - When Diffutils is being configured, it checks to see if it is - being cross compiled. If it is, configuration fails. Since we are - cross compiling, comment out the specific lines that perform that - test now: - - sed -e '46252,+3 s/^/#/' \ - -e '46596,+3 s/^/#/' \ - -i configure - Prepare Diffutils for compilation: ./configure --prefix=/usr \ --host=$LFS_TGT \ + gl_cv_func_strcasecmp_works=y \ --build=$(./build-aux/config.guess) + + The meaning of the configure options: + + + + gl_cv_func_strcasecmp_works=y + + This option specify the result of a check for the + strcasecmp. The check requires running a + compiled C program, and this is impossible during + cross-compilation because in general a cross-compiled program + cannot run on the host distro. Normally for such a check the + configure script would use a fall-back value + for cross-compilation, but the fall-back value for this check is + absent and the configure script would have no + value to use and error out. The upstream has already fixed the + issue, but to apply the fix we'd need to run + autoconf that the host distro may lack. So + we just specify the check result (y as we know + the strcasecmp function in + Glibc-&glibc-version; works fine) instead, then + configure will just use the specified value and + skip the check. + + + + Compile the package: make diff --git a/chapter08/gperf.xml b/chapter08/gperf.xml index bbfbbe735..25939135a 100644 --- a/chapter08/gperf.xml +++ b/chapter08/gperf.xml @@ -48,11 +48,9 @@ make - The tests are known to fail if running multiple - simultaneous tests (-j option greater than 1). To test - the results, issue: + To test the results, issue: -make -j1 check +make check Install the package: diff --git a/chapter08/packaging.xml b/chapter08/packaging.xml index b3e9e439d..f1a6def9c 100644 --- a/chapter08/packaging.xml +++ b/chapter08/packaging.xml @@ -43,7 +43,7 @@ - Installation of packaging + Installation of Packaging Compile packaging with the following command: diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index 17eb12da7..3d518dd56 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -24,10 +24,15 @@ backup of the LFS system in its current state. A strip command with the - --strip-unneeded option removes all debug symbols - from a binary or library. It also removes all symbol table entries not + --strip-unneeded option removes all debug symbols from + a binary or library. It also removes all symbol table entries not normally needed by the linker (for static libraries) or dynamic linker (for - dynamically linked binaries and shared libraries). + dynamically linked binaries and shared libraries). Using + --strip-debug does not remove symbol table entries + that may be needed by some applications. The difference between "unneeded" + and "debug" is very small. For example, an unstripped libc.a is 22.4 MB. + After stripping with --strip-debug it is 5.9 MB. Using --strip-unneeded only + reduces the size further to only 5.8 MB. + ]]>