diff options
-rw-r--r-- | chapter06/coreutils.xml | 1 | ||||
-rw-r--r-- | chapter08/coreutils.xml | 1 | ||||
-rw-r--r-- | chapter08/pkgmgt.xml | 10 | ||||
-rw-r--r-- | chapter08/strippingagain.xml | 26 | ||||
-rw-r--r-- | chapter08/util-linux.xml | 11 |
5 files changed, 28 insertions, 21 deletions
diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index af75e60cf..e98645d82 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -46,6 +46,7 @@ <para>Prepare Coreutils for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr \ + --libexecdir=/usr/lib \ --host=$LFS_TGT \ --build=$(build-aux/config.guess) \ --enable-install-program=hostname \ diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index c5d2a5032..c3c62bf89 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -69,6 +69,7 @@ <screen><userinput remap="configure">autoreconf -fiv FORCE_UNSAFE_CONFIGURE=1 ./configure \ --prefix=/usr \ + --libexecdir=/usr/lib \ --enable-no-install-program=kill,uptime</userinput></screen> <variablelist> diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 43b9c57d3..c5fcaa4be 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -69,7 +69,7 @@ </listitem> <listitem> <para>If a package containing a shared library is updated, and - if the name of the library changes, then any the packages dynamically + if the name of the library changes, then any packages dynamically linked to the library need to be recompiled in order to link against the newer library. (Note that there is no correlation between the package version and the name of the library.) For example, consider a package @@ -123,16 +123,16 @@ </para></listitem> <listitem> - <para>If a binary or a shared library is overwrote, the processes + <para>If a binary or a shared library is overwritten, the processes using the code or data in the binary or library may crash. The correct way to update a binary or a shared library without causing - the process to crash is: remove it first, then install the new + the process to crash is to remove it first, then install the new version into position. The <command>install</command> command provided by <application>Coreutils</application> has already implemented this and most packages use it to install binaries and - libraries. So you won't be troubled by this issue most of the time. + libraries. This means that you won't be troubled by this issue most of the time. However, the install process of some packages (notably Mozilla JS - in BLFS) just overwrites the file if it exists and causes crash, so + in BLFS) just overwrites the file if it exists and causes a crash, so it's safer to save your work and close unneeded running processes before updating a package.</para> </listitem> diff --git a/chapter08/strippingagain.xml b/chapter08/strippingagain.xml index 196698f2a..ed690eb1a 100644 --- a/chapter08/strippingagain.xml +++ b/chapter08/strippingagain.xml @@ -24,18 +24,18 @@ backup of the LFS system in its current state.</para> <para>The debugging symbols for selected libraries are placed - in separate files. These debugging information is needed if running + in separate files. This debugging information is needed if running regression tests that use <ulink url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS. </para> - <para>And, <command>strip</command> will overwrite the binary or library - file. This may crash the processes using code or data from the file. If - the process running <command>strip</command> itself is affected, the - binary or library being stripped may be destroyed. This may make the - system completely unusable. To avoid it, we'll copy some libraries and - binaries into <filename class="directory">/tmp</filename>, strip them + <para>Note that <command>strip</command> will overwrite the binary or library + file it is processing. This may crash the processes using code or data from + the file. If the process running <command>strip</command> itself is + affected, the binary or library being stripped may be destroyed. This may + make the system completely unusable. To avoid it, we'll copy some libraries + and binaries into <filename class="directory">/tmp</filename>, strip them there, and install them back with the <command>install</command> command. Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the rationale to use the <command>install</command> command here.</para> @@ -84,15 +84,19 @@ find /usr/lib -type f -name \*.a \ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg); do case "$online_usrlib $save_usrlib" in - *$(basename $i)* ) ;; - * ) strip --strip-unneeded $i ;; + *$(basename $i)* ) + ;; + * ) strip --strip-unneeded $i + ;; esac done for i in $(find /usr/bin -type f); do case "$online_usrbin" in - *$(basename $i)* ) ;; - * ) strip --strip-all $i ;; + *$(basename $i)* ) + ;; + * ) strip --strip-all $i + ;; esac done diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index d7613a74c..bcc3c98bd 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -94,14 +94,15 @@ <screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen> </warning> -<!-- - <note><para>There is one test that depends on the configuration of the kernel. - If CONFIG_USER_NS or CONFIG_PID_NS are not set, the tests will hang forever. - To work around the problem, delete one test:</para> + + <note><para>There is one test that fails in the chroot envronment and + causes the tests to hang forever. The problem does not occur outside + of the chroot envronment. + To work around the problem, delete the test:</para> <screen><userinput remap="test">rm tests/ts/lsns/ioctl_ns</userinput></screen> </note> ---> + <screen><userinput remap="test">chown -Rv tester . su tester -c "make -k check"</userinput></screen> |