diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index b64cd852b..8fa20ff2a 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -44,6 +44,58 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2020-07-07 + + + [pierre] - Make libelf install in /lib, since it may be + needed by iproute2 before /usr is mounted (report by + + Roger). + + + + + + 2020-07-06 + + + [pierre] - Change chapter 6 ncurses so that it matches + what is done in chapter 8, and add explanations. + + + [renodr] - Update to libcap-2.38. Fixes + #4683. + + + [renodr] - Update to linux-5.7.7. Fixes + #4681. + + + [renodr] - Update to dbus-1.12.20 (Security Update). Fixes + #4682. + + + + + + 2020-07-04 + + + [pierre] - Remove /tools and files containing + {i686,x86_64}-lfs in their name at the end of chapter 8. + + + [pierre] - Add --host= to libstdc++-pass2, so that host + specific headers are installed in a host specific directory. + + + [pierre] - Fix temporary Python so that static libraries + are not installed. + + + + 2020-07-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 25d15111a..62a82ea11 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -66,9 +66,9 @@ - + diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 0e3646b87..80eac489f 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -120,9 +120,33 @@ popd make Install the package: - + make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install -ln -s libncursesw.so $LFS/usr/lib/libncurses.so +echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so + + + The meaning of the install options: + + + TIC_PATH=$(pwd)/build/progs/tic + + We need to pass the path of the just built + tic able to run on the building machine, so that + the terminal database can be created without errors. + + + + + echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so + + The libncurses.so library is needed by + a few packages we will build soon. We create this small linker + script, as this is what is done in . + + + + Move the shared libraries to the /lib directory, where they are diff --git a/chapter07/libstdc++-pass2.xml b/chapter07/libstdc++-pass2.xml index d6e5cd7fe..9bf93542c 100644 --- a/chapter07/libstdc++-pass2.xml +++ b/chapter07/libstdc++-pass2.xml @@ -62,19 +62,21 @@ cd build Prepare libstdc++ for compilation: -../libstdc++-v3/configure \ - CXXFLAGS="-g -O2 -D_GNU_SOURCE" \ - --prefix=/usr \ - --disable-multilib \ - --disable-nls \ + +../libstdc++-v3/configure \ + CXXFLAGS="-g -O2 -D_GNU_SOURCE" \ + --prefix=/usr \ + --disable-multilib \ + --disable-nls \ + --host=$(uname -m)-lfs-linux-gnu \ + --disable-libstdcxx-pch +../libstdc++-v3/configure \ + CXXFLAGS="-g -O2 -D_GNU_SOURCE" \ + --prefix=/usr \ + --enable-multilib \ + --disable-nls \ + --host=$(uname -m)-lfs-linux-gnu \ --disable-libstdcxx-pch -../libstdc++-v3/configure \ - CXXFLAGS="-g -O2 -D_GNU_SOURCE" \ - --prefix=/usr \ - --enable-multilib \ - --disable-nls \ - --disable-libstdcxx-pch \ - --host=x86_64-lfs-linux-gnu The meaning of the configure options: @@ -87,6 +89,15 @@ cd build + + --host=$(uname -m)-lfs-linux-gnu + + We have to mimic what would happen if this package were built + as part of a full compiler build. This switch would be passed to + configure by GCC's build machinery. + + + --disable-libstdcxx-pch @@ -105,16 +116,6 @@ cd build - - --host=x86_64-pc-linux-gnu - - Since up to now the cross-compile tools are used. This - switch is set to ensure that the headers used for multilib are - placed in correct locations where the final system can pick - them up. - - - Compile libstdc++ by running: diff --git a/chapter07/python.xml b/chapter07/python.xml index a3b9239cf..68a02dd8c 100644 --- a/chapter07/python.xml +++ b/chapter07/python.xml @@ -52,11 +52,20 @@ Prepare Python for compilation: -./configure --prefix=/usr --without-ensurepip +./configure --prefix=/usr \ + --enable-shared \ + --without-ensurepip The meaning of the configure option: + + --enable-shared + + This switch prevents installation of static libraries. + + + --without-ensurepip diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index 66a1189aa..04f3b0d54 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -46,7 +46,7 @@ Prepare Libelf for compilation: -./configure --prefix=/usr --disable-debuginfod +./configure --prefix=/usr --disable-debuginfod --libdir=/lib Compile the package: @@ -62,7 +62,7 @@ make -C libelf install install -vm644 config/libelf.pc /usr/lib/pkgconfig -rm /usr/lib/libelf.a +rm /lib/libelf.a diff --git a/chapter08/revisedchroot.xml b/chapter08/revisedchroot.xml index 409baf2f6..122175c97 100644 --- a/chapter08/revisedchroot.xml +++ b/chapter08/revisedchroot.xml @@ -70,6 +70,17 @@ find &usr-lib-mx32; -name \*.la -delete url="&blfs-book;/introduction/la-files.html">BLFS section "About Libtool Archive (.la) files". + The compiler built in and + is still partially + installed, and not needed anymore. Remove it with: + +find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf + + The /tools directory can also + be removed to further gain some place: + +rm -rf /tools + Finally, remove the temporary 'tester' user account created at the beginning of the previous chapter. diff --git a/general.ent b/general.ent index ec4d5aea2..efd3876f2 100644 --- a/general.ent +++ b/general.ent @@ -1,13 +1,13 @@ - + - + - + diff --git a/packages.ent b/packages.ent index fa7156a6f..06c8ca1c4 100644 --- a/packages.ent +++ b/packages.ent @@ -113,10 +113,10 @@ - + - + @@ -391,10 +391,10 @@ - - + + - + @@ -425,12 +425,12 @@ - + - + - +