Index: chapter01/changelog.xml
===================================================================
--- chapter01/changelog.xml	(revision 924667ee548b92b95e9355db0db6b2bd974401be)
+++ chapter01/changelog.xml	(revision effe07a910c6d737878b3a73715d5442ff4b06a6)
@@ -47,4 +47,13 @@
       <itemizedlist>
         <listitem>
+          <para>[pierre] - Build util-linux in chapter 5 for both books.
+          link util-linux libraries and headers from /usr to /tools.
+          Copy util-linux pkg-config files from /tools to /usr, changing
+          any occurence of /tools to /usr. Also move eudev before util-linux.
+          Fixes <ulink url="&lfs-ticket-root;4637">#4637</ulink>,
+          <ulink url="&lfs-ticket-root;4638">#4638</ulink>, and
+          <ulink url="&lfs-ticket-root;4642">#4642</ulink>.</para>
+        </listitem>
+        <listitem>
           <para>[pierre] - Reinstate flex in chapter 5, so that ar and ranlib
           (binutils) link against libfl. This allows to run tests for bison,
Index: chapter05/util-linux.xml
===================================================================
--- chapter05/util-linux.xml	(revision 924667ee548b92b95e9355db0db6b2bd974401be)
+++ chapter05/util-linux.xml	(revision effe07a910c6d737878b3a73715d5442ff4b06a6)
@@ -6,5 +6,5 @@
 ]>
 
-<sect1 id="ch-tools-util-linux" role="wrap" revision="systemd">
+<sect1 id="ch-tools-util-linux" role="wrap">
   <?dbhtml filename="util-linux.html"?>
 
Index: chapter06/chapter06.xml
===================================================================
--- chapter06/chapter06.xml	(revision 924667ee548b92b95e9355db0db6b2bd974401be)
+++ chapter06/chapter06.xml	(revision effe07a910c6d737878b3a73715d5442ff4b06a6)
@@ -89,10 +89,10 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dbus.xml"/>
 
+  <!-- sysv only -->
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="eudev.xml"/>
+
   <!-- Both sysv on systemd builds -->
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="procps.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
-
-  <!-- sysv only -->
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="eudev.xml"/>
 
   <!-- Both sysv and systemd builds -->
Index: chapter06/createfiles.xml
===================================================================
--- chapter06/createfiles.xml	(revision 924667ee548b92b95e9355db0db6b2bd974401be)
+++ chapter06/createfiles.xml	(revision effe07a910c6d737878b3a73715d5442ff4b06a6)
@@ -44,19 +44,19 @@
 ln -sv /tools/lib/libgcc_s.so{,.1}                  /usr/lib
 ln -sv /tools/lib/libstdc++.{a,so{,.6}}             /usr/lib
-
-ln -sv bash /bin/sh</userinput></screen>
-
-<!--for lib in blkid lzma mount uuid
+ln -sv /tools/lib/libfl.so*                         /usr/lib
+
+ln -sv bash /bin/sh
+
+for lib in blkid mount uuid fdisk
 do
     ln -sv /tools/lib/lib$lib.so* /usr/lib
-done-->
-<!--ln -svf /tools/include/blkid    /usr/include
-ln -svf /tools/include/libmount /usr/include
-ln -svf /tools/include/uuid     /usr/include-->
-<!--for pc in blkid mount uuid
+    sed 's|/tools|/usr|' /tools/lib/pkgconfig/${lib}.pc \
+        &gt; /usr/lib/pkgconfig/${lib}.pc
+done
+for incdir in blkid libmount uuid libfdisk
 do
-    sed 's@tools@usr@g' /tools/lib/pkgconfig/${pc}.pc \
-        > /usr/lib/pkgconfig/${pc}.pc
-done-->
+    ln -svf /tools/include/$incdir    /usr/include
+done</userinput></screen>
+
   <variablelist>
     <title>The purpose of each link:</title>
@@ -165,23 +165,4 @@
       </listitem>
     </varlistentry>
-<!--
-    <varlistentry>
-      <term><parameter><filename>/usr/lib/libstdc++.la</filename></parameter></term>
-      <listitem>
-        <para>This prevents a <filename class="directory">/tools</filename>
-        reference that would otherwise be in
-        <filename>/usr/lib/libstdc++.la</filename> after GCC is installed.</para>
-      </listitem>
-    </varlistentry>
--->
-    <!--<varlistentry revision="systemd">-->
-<!--    <varlistentry>
-      <term><parameter><filename>/usr/lib/lib{blkid,lzma,mount,uuid}.{a,la,so*}</filename></parameter></term>
-      <listitem>
-        <para>These links prevent utilities from acquiring an
-        unnecessary reference to the
-        <filename class="directory">/tools</filename> directory.</para>
-      </listitem>
-    </varlistentry>-->
 
     <varlistentry>
@@ -189,4 +170,32 @@
       <listitem>
         <para>Many shell scripts hard-code <filename>/bin/sh</filename>.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>
+        <parameter><filename>/usr/lib/libfl.so*</filename></parameter>
+      </term>
+      <listitem>
+        <para>This link allows binutils to find the flex library, and to
+	build enhanced versions of ar and ranlib.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term>
+        <parameter>
+          <filename>/usr/lib/lib{blkid,fdisk,mount,uuid}.so*</filename>,
+          <filename>/usr/include/{blkid,libfdisk,libmount,uuid}</filename>,
+          <filename>/usr/lib/pkgconfig/{blkid,fdisk,mount,uuid}.pc</filename>
+        </parameter>
+      </term>
+      <listitem>
+        <para>These links and files allow
+        <phrase revision="sysv">eudev</phrase>
+        <phrase revision="systemd">systemd</phrase> to find the
+        util-linux libraries installed in chapter 5, without creating
+        wrong references to /tools. The uuid library is also needed for
+        building a python module.</para>
       </listitem>
     </varlistentry>
Index: chapter06/eudev.xml
===================================================================
--- chapter06/eudev.xml	(revision 924667ee548b92b95e9355db0db6b2bd974401be)
+++ chapter06/eudev.xml	(revision effe07a910c6d737878b3a73715d5442ff4b06a6)
@@ -50,15 +50,6 @@
 <screen><userinput remap="pre">sed -i '/keyboard_lookup_key/d' src/udev/udev-builtin-keyboard.c</userinput></screen>
 -->
-<!--
-    <para>First, add a workaround to prevent the /tools directory from being 
-    hard coded into Eudev binary files library locations:</para>
 
-<screen><userinput remap="pre">cat &gt; config.cache &lt;&lt; "EOF"
-HAVE_BLKID=1
-BLKID_LIBS="-lblkid"
-BLKID_CFLAGS="-I/tools/include"
-EOF</userinput></screen>
--->
-<para>Prepare Eudev for compilation:</para>
+    <para>Prepare Eudev for compilation:</para>
 
 <screen><userinput remap="configure">./configure --prefix=/usr           \
@@ -72,33 +63,22 @@
             --enable-manpages       \
             --disable-static</userinput></screen>
-<!--           - -config-cache</userinput></screen> -->
 
-<para>Compile the package:</para>
+    <para>Compile the package:</para>
 
 <screen><userinput remap="make">make</userinput></screen>
-<!--
-<screen><userinput remap="make">LIBRARY_PATH=/tools/lib make</userinput></screen>
 
-<note><para>The LIBRARY_PATH variable here and the LD_LIBRARY_PATH variable
-below are needed to allow the use of libraries that were installed in /tools,
-but have not yet been installed in the main system.  LIBRARY_PATH is
-used to find libraries during the linking process.  LD_LIBRARY_PATH is
-used to find libraries during program execution.</para></note>
--->
-<para>Create some directories now that are needed for tests, but
-will also be used as a part of installation:</para>
+    <para>Create some directories now that are needed for tests, but
+    will also be used as a part of installation:</para>
 
 <screen><userinput remap="test">mkdir -pv /lib/udev/rules.d
 mkdir -pv /etc/udev/rules.d</userinput></screen>
 
-<para>To test the results, issue:</para>
+    <para>To test the results, issue:</para>
 
 <screen><userinput remap="test">make check</userinput></screen>
-<!--<screen><userinput remap="test">make LD_LIBRARY_PATH=/tools/lib check</userinput></screen>-->
 
     <para>Install the package:</para>
 
 <screen><userinput remap="install">make install</userinput></screen>
-<!--<screen><userinput remap="install">make LD_LIBRARY_PATH=/tools/lib install</userinput></screen>-->
 
     <para>Install some custom rules and support files useful in an LFS 
@@ -129,5 +109,4 @@
     initial database:</para>
 
-<!--<screen><userinput>LD_LIBRARY_PATH=/tools/lib udevadm hwdb - -update</userinput></screen>-->
 <screen><userinput>udevadm hwdb --update</userinput></screen>
 
Index: chapter06/systemd.xml
===================================================================
--- chapter06/systemd.xml	(revision 924667ee548b92b95e9355db0db6b2bd974401be)
+++ chapter06/systemd.xml	(revision effe07a910c6d737878b3a73715d5442ff4b06a6)
@@ -51,11 +51,4 @@
 <screen><userinput remap="pre">ln -sf /tools/bin/true /usr/bin/xsltproc</userinput></screen>
 
-    <para>Because we have not yet installed the final version of Util-Linux,
-    create links to the libraries in the appropriate location:</para>
-
-<screen><userinput remap="pre">for file in /tools/lib/lib{blkid,mount,uuid}.so*; do
-    ln -sf $file /usr/lib/
-done</userinput></screen>
-
     <para>Set up the man pages:</para>
 
@@ -77,5 +70,4 @@
 cd       build
 
-PKG_CONFIG_PATH="/usr/lib/pkgconfig:/tools/lib/pkgconfig" \
 LANG=en_US.UTF-8                   \
 meson --prefix=/usr                \
@@ -235,7 +227,4 @@
 <screen><userinput remap="adjust">rm -f /usr/lib/sysctl.d/50-pid-max.conf</userinput></screen>
 
-    <para>Cleanup symbolic links to Util-Linux libraries:</para>
-
-<screen><userinput remap="adjust">rm -fv /usr/lib/lib{blkid,uuid,mount}.so*</userinput></screen>
     <!--
     <para>Prevent systemd from creating <filename>/run/nologin</filename>
Index: chapter06/util-linux.xml
===================================================================
--- chapter06/util-linux.xml	(revision 924667ee548b92b95e9355db0db6b2bd974401be)
+++ chapter06/util-linux.xml	(revision effe07a910c6d737878b3a73715d5442ff4b06a6)
@@ -61,9 +61,11 @@
     -i tests/ts/ipcs/limits2</userinput></screen>
 -->
-<!-- those symlinks are not created anymore
-    <para revision="systemd">Remove the earlier created symlinks:</para>
-
-<screen revision="systemd"><userinput remap="pre">rm -vf /usr/include/{blkid,libmount,uuid}</userinput></screen>
--->
+
+    <para>Remove the earlier created symlinks and files:</para>
+
+<screen><userinput remap="pre">rm -vf /usr/include/{blkid,libfdisk,libmount,uuid}
+rm -vf /usr/lib/{blkid,fdisk,mount,uuid}.so*
+rm -vf /usr/lib/pkgconfig/{blkid,fdisk,mount,uuid}.pc</userinput></screen>
+
     <para>Prepare Util-linux for compilation:</para>
 
