Index: chapter01/changelog.xml
===================================================================
--- chapter01/changelog.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter01/changelog.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -46,4 +46,59 @@
     -->
     <listitem>
+      <para>2020-04-20</para>
+      <itemizedlist>
+        <listitem>
+          <para>[pierre] - Change -isystem to -idirafter in "Adjusting the
+          toolchain". This allows to search g++ private headers before
+          the public ones, which is the normal search order, with the
+	  drawback that it includes the headers in /tools if they exist
+	  in both /usr and /tools. Fix most of
+          <ulink url="&lfs-ticket-root;4641">#4641</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>2020-04-19</para>
+      <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,
+          too. Fixes
+          <ulink url="&lfs-ticket-root;4631">#4631</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Prevent readline.pc from referencing termcap as
+          a private library by adding --with-curses to configure switches.
+          Fixes <ulink url="&lfs-ticket-root;4635">#4635</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Allow bison to use the libtextstyle.so library from
+          gettext, by moving gettext before bison. Fixes
+          <ulink url="&lfs-ticket-root;4634">#4634</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Allow some shadow programs to use "setcap" by
+          moving libcap before shadow. Fixes
+          <ulink url="&lfs-ticket-root;4633">#4633</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Fix a wrong hardcoded path in some programs
+          from the shadow package. Fixes
+          <ulink url="&lfs-ticket-root;4632">#4632</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>2020-04-15</para>
       <itemizedlist>
Index: chapter05/chapter05.xml
===================================================================
--- chapter05/chapter05.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter05/chapter05.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -30,4 +30,5 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bash.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bison.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flex.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/>
Index: chapter05/flex.xml
===================================================================
--- chapter05/flex.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
+++ chapter05/flex.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-tools-flex" role="wrap">
+  <?dbhtml filename="flex.html"?>
+
+  <sect1info condition="script">
+    <productname>flex</productname>
+    <productnumber>&flex-version;</productnumber>
+    <address>&flex-url;</address>
+  </sect1info>
+
+  <title>Flex-&flex-version;</title>
+
+  <indexterm zone="ch-tools-flex">
+    <primary sortas="a-Flex">Flex</primary>
+    <secondary>tools</secondary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title/>
+
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="../chapter06/flex.xml"
+    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
+
+    <segmentedlist>
+      <segtitle>&buildtime;</segtitle>
+      <segtitle>&diskspace;</segtitle>
+
+      <seglistitem>
+        <seg>&flex-ch5-sbu;</seg>
+        <seg>&flex-ch5-du;</seg>
+      </seglistitem>
+    </segmentedlist>
+
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of Flex</title>
+
+    <para>Prepare Flex for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
+
+    <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+    <para>To test the results, issue:</para>
+
+<screen><userinput remap="test">make check</userinput></screen>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title/>
+
+    <para>Details on this package are located in
+    <xref linkend="contents-flex" role="."/></para>
+
+  </sect2>
+
+</sect1>
Index: chapter05/stripping.xml
===================================================================
--- chapter05/stripping.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter05/stripping.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -39,5 +39,8 @@
 <screen><userinput>rm -rf /tools/{,share}/{info,man,doc}</userinput></screen>
 
-  <para>Remove unneeded files:</para>
+  <para>The libtool .la files are only useful when linking with static
+  libraries. They are unneeded, and potentially harmful, when using dynamic
+  shared libraries, specially when using also non-autotools build systems.
+  Remove those files now:</para>
 
 <screen arch="default"><userinput>find /tools/{lib,libexec} -name \*.la -delete</userinput></screen>
Index: chapter05/util-linux.xml
===================================================================
--- chapter05/util-linux.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter05/util-linux.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -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/adjusting.xml
===================================================================
--- chapter06/adjusting.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/adjusting.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -25,13 +25,15 @@
 ln -sv /tools/bin/ld /tools/$(uname -m)-pc-linux-gnu/bin/ld</userinput></screen>
 
-  <para>Next, amend the GCC specs file so that it points to the new
-  dynamic linker. Simply deleting all instances of <quote>/tools</quote> should
-  leave us with the correct path to the dynamic linker. Also adjust the specs file
-  so that GCC knows where to find the correct headers and Glibc start files.
+  <para>the next command amends the GCC specs file to achieve three goals:
+  first point GCC to the new dynamic linker. Simply deleting all instances of
+  <quote>/tools</quote> should leave us with the correct path to the dynamic
+  linker. Second, let GCC know where to find the Glibc start files. Third,
+  add the /usr/include directory at the end of the default search path, so
+  that header files added in chapter 6 are found.
   A <command>sed</command> command accomplishes this:</para>
 
 <screen><userinput>gcc -dumpspecs | sed -e 's@/tools@@g'                   \
     -e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \
-    -e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' &gt;      \
+    -e '/\*cpp:/{n;s@$@ -idirafter /usr/include@}' &gt;      \
     `dirname $(gcc --print-libgcc-file-name)`/specs</userinput></screen>
 
@@ -73,10 +75,15 @@
   files:</para>
 
-<screen><userinput>grep -B1 '^ /usr/include' dummy.log</userinput></screen>
+<screen><userinput>grep -B4 '^ /usr/include' dummy.log</userinput></screen>
 
   <para os="h">This command should return the following output:</para>
 
 <screen><computeroutput>#include &lt;...&gt; search starts here:
+ /tools/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include
+ /tools/include
+ /tools/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
  /usr/include</computeroutput></screen>
+
+  <note><para>On a 32 bit system, x86_64 is replaced with i686.</para></note>
 
   <para os="i">Next, verify that the new linker is being used with the correct search paths:</para>
Index: chapter06/bison.xml
===================================================================
--- chapter06/bison.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/bison.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -59,14 +59,17 @@
 <screen><userinput remap="make">make</userinput></screen>
 
-<!--
-    <para>To test the results (about 2.2 SBU), issue:</para>
+    <para>To test the results (about 5.5 SBU), issue:</para>
 
 <screen><userinput remap="test">make check</userinput></screen>
--->
 
+    <para>13 tests fail in the "Diagnostics" section, probably because of
+    missing locales.</para>
+
+<!--
     <para>There is a circular dependency between bison and flex with regard to
     the checks.  If desired, after installing flex in the next section, the
     bison package can be rebuilt and the bison checks can be run with 
     <command>make check</command>.</para>
+-->
 
     <para>Install the package:</para>
Index: chapter06/chapter06.xml
===================================================================
--- chapter06/chapter06.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/chapter06.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -40,12 +40,13 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libcap.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shadow.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconfig.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libcap.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="psmisc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iana-etc.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gettext.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bison.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flex.xml"/>
@@ -63,5 +64,4 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="automake.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kmod.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gettext.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libelf.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libffi.xml"/>
@@ -94,10 +94,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 bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/createfiles.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -44,30 +44,29 @@
 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>
+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
+    sed 's|/tools|/usr|' /tools/lib/pkgconfig/${lib}.pc \
+        &gt; /usr/lib/pkgconfig/${lib}.pc
+done
+for incdir in blkid libmount uuid libfdisk
+do
+    ln -svf /tools/include/$incdir    /usr/include
+done</userinput></screen>
 
   <para arch="ml_32,ml_all">32-bit builds also require these links:</para>
 
-<screen arch="ml_32,ml_all"><userinput arch="ml_32,ml_all">ln -sv /tools/lib32/libgcc_s.so{,.1}               /usr/lib32
+<screen arch="ml_32,ml_all"><userinput>ln -sv /tools/lib32/libgcc_s.so{,.1}               /usr/lib32
 ln -sv /tools/lib32/libstdc++.{a,so{,.6}}          /usr/lib32</userinput></screen>
 
   <para arch="ml_x32,ml_all">x32-bit builds also require these links:</para>
 
-<screen arch="ml_x32,ml_all"><userinput arch="ml_x32,ml_all">ln -sv /tools/libx32/libgcc_s.so{,.1}              /usr/libx32
+<screen arch="ml_x32,ml_all"><userinput>ln -sv /tools/libx32/libgcc_s.so{,.1}              /usr/libx32
 ln -sv /tools/libx32/libstdc++.{a,so{,.6}}         /usr/libx32
 ln -sv /usr/libx32 /</userinput></screen>
 
-<!--for lib in blkid lzma mount uuid
-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
-do
-    sed 's@tools@usr@g' /tools/lib/pkgconfig/${pc}.pc \
-        > /usr/lib/pkgconfig/${pc}.pc
-done-->
   <variablelist>
     <title>The purpose of each link:</title>
@@ -176,23 +175,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>
@@ -200,4 +180,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 bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/eudev.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -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 
@@ -202,5 +182,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/gettext.xml
===================================================================
--- chapter06/gettext.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/gettext.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -77,5 +77,20 @@
     <para>Compile the package:</para>
 
-<screen><userinput remap="make">make</userinput></screen>
+<screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen>
+
+   <variablelist>
+      <title>The meaning of the make parameter:</title>
+
+      <varlistentry>
+        <term><parameter>BISON_LOCALEDIR=/usr/share/locale</parameter></term>
+        <listitem>
+          <para>Since bison is not yet installed in /usr, configure hardcodes
+          the directory containing translations for the bison program (the
+	  "locale" directory) as /tools/share/locale. Passing this variable
+           to make allows overriding the choice made by configure.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
 
     <para>To test the results (this takes a long time, around 3 SBUs),
Index: chapter06/readline.xml
===================================================================
--- chapter06/readline.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/readline.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -54,5 +54,21 @@
 <screen><userinput remap="configure">./configure --prefix=/usr    \
             --disable-static \
+            --with-curses    \
             --docdir=/usr/share/doc/readline-&readline-version;</userinput></screen>
+
+     <variablelist>
+      <title>The meaning of the configure option:</title>
+
+      <varlistentry>
+        <term><parameter>--with-curses"</parameter></term>
+        <listitem>
+          <para>This option tells Readline that it can find the termcap
+	   library functions in the curses library, rather than a separate
+	   termcap library. It allows generating a correct
+	   <filename>readline.pc</filename> file.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
 
     <para>Compile the package:</para>
Index: chapter06/revisedchroot.xml
===================================================================
--- chapter06/revisedchroot.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/revisedchroot.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -60,6 +60,8 @@
   <para>There are also several files installed in the /usr/lib and /usr/libexec
   directories with a file name extention of .la. These are "libtool archive"
-  files and generally unneeded on a linux system. None of these are necessary
-  at this point. To remove them, run:</para>
+  files. As already said, they are only useful when linking with static
+  libraries. They are unneeded, and potentially harmful, when using dynamic
+  shared libraries, specially when using also non-autotools build systems.
+  To remove them, run:</para>
 
   <screen arch="default"><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
Index: chapter06/shadow.xml
===================================================================
--- chapter06/shadow.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/shadow.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -84,9 +84,18 @@
     <para>Prepare Shadow for compilation:</para>
 
-<screen><userinput remap="configure">./configure --sysconfdir=/etc --with-group-name-max-length=32</userinput></screen>
+<screen><userinput remap="configure">touch /usr/bin/passwd
+./configure --sysconfdir=/etc --with-group-name-max-length=32</userinput></screen>
 
     <variablelist>
       <title>The meaning of the configure option:</title>
 
+      <varlistentry>
+        <term><command>touch /usr/bin/passwd</command></term>
+        <listitem>
+          <para>The file <filename>/usr/bin/passwd</filename> needs
+          to exist because its location is harcoded in some programs, and
+          the default location if it does not exist is not right.</para>
+        </listitem>
+      </varlistentry>
       <varlistentry>
         <term><parameter>--with-group-name-max-length=32</parameter></term>
Index: chapter06/systemd.xml
===================================================================
--- chapter06/systemd.xml	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/systemd.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -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 bd67f694016cea9aee736770f4900a891eea0879)
+++ chapter06/util-linux.xml	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -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/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>
 
@@ -111,5 +113,5 @@
     be run after rebooting into the completed LFS system and running:</para>
 
-<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen> 
+<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen>
     </warning>
 
Index: general.ent
===================================================================
--- general.ent	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ general.ent	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -1,12 +1,12 @@
-<!ENTITY version         "SVN-20200415">
+<!ENTITY version         "SVN-20200420">
 <!ENTITY short-version   "svn">  <!-- Used below in &blfs-book; 
                                       Change to x.y for release but not -rc releases -->
 <!ENTITY generic-version "development"> <!-- Use "development"  or "x.y[-pre{x}]" -->
 
-<!ENTITY versiond        "20200415-systemd">
+<!ENTITY versiond        "20200420-systemd">
 <!ENTITY short-versiond  "systemd">
 <!ENTITY generic-versiond "systemd"> 
 
-<!ENTITY releasedate     "April 15th, 2020">
+<!ENTITY releasedate     "April 20th, 2020">
 
 <!ENTITY copyrightdate   "1999-2020"><!-- jhalfs needs a literal dash, not &ndash; -->
Index: packages.ent
===================================================================
--- packages.ent	(revision bd67f694016cea9aee736770f4900a891eea0879)
+++ packages.ent	(revision a07a34d1a1a0a1d6e6ddbfb67b6a43c598a2a5c4)
@@ -78,6 +78,6 @@
 <!ENTITY bison-ch5-du "43 MB">
 <!ENTITY bison-ch5-sbu "0.3 SBU">
-<!ENTITY bison-ch6-du "43 MB">
-<!ENTITY bison-ch6-sbu "0.3 SBU">
+<!ENTITY bison-ch6-du "52 MB">
+<!ENTITY bison-ch6-sbu "5.8 SBU">
 
 <!ENTITY bzip2-version "1.0.8">
@@ -210,4 +210,6 @@
 <!ENTITY flex-md5 "2882e3179748cc9f9c23ec593d6adc8d">
 <!ENTITY flex-home "&github;/westes/flex">
+<!ENTITY flex-ch5-du "15 MB">
+<!ENTITY flex-ch5-sbu "0.1 SBU">
 <!ENTITY flex-ch6-du "36 MB">
 <!ENTITY flex-ch6-sbu "0.4 SBU">
