Index: general.ent
===================================================================
--- general.ent	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ general.ent	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -1,5 +1,5 @@
 <!-- $LastChangedBy$ $Date$ -->
 
-<!ENTITY day          "19">                   <!-- Always 2 digits -->
+<!ENTITY day          "22">                   <!-- Always 2 digits -->
 <!ENTITY month        "11">                   <!-- Always 2 digits -->
 <!ENTITY year         "2017">
@@ -7,5 +7,5 @@
 <!ENTITY copyholder   "The BLFS Development Team">
 <!ENTITY version      "&year;-&month;-&day;">
-<!ENTITY releasedate  "November 19th, &year;">
+<!ENTITY releasedate  "November 22nd, &year;">
 <!ENTITY pubdate      "&year;-&month;-&day;"> <!-- metadata req. by TLDP -->
 <!ENTITY blfs-version "svn">                  <!-- svn|[release #] -->
Index: general/genlib/libxml2.xml
===================================================================
--- general/genlib/libxml2.xml	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ general/genlib/libxml2.xml	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -5,4 +5,5 @@
   %general-entities;
 
+  <!-- Also updatethe download, md5, size entities in libxml2py2.xml -->
   <!ENTITY libxml2-download-http "http://xmlsoft.org/sources/libxml2-&libxml2-version;.tar.gz">
   <!ENTITY libxml2-download-ftp  "ftp://xmlsoft.org/libxml2/libxml2-&libxml2-version;.tar.gz">
@@ -104,7 +105,13 @@
         Some packages which utilize <application>libxml2</application> (such as
         <application>GNOME Doc Utils</application>) need the
-        <application>Python</application> module installed to function properly
+        <application>Python3</application> module installed to function properly
         and some packages will not build properly if the
-        <application>Python</application> module is not available.
+        <application>Python3</application> module is not available.
+      </para>
+
+      <para>
+        The old <application>Python2</application> module can be built after
+        <filename class="libraryfile">libxml2.so</filename> has been installed,
+        see <xref linkend="libxml2py2"/>.
       </para>
     </note>
@@ -125,6 +132,6 @@
 
    <para>
-      If you want to build the <application>Python</application> module for
-      <xref linkend="python3"/>, run:
+      To ensure that the <application>Python3</application> module can be
+      built by <xref linkend="python3"/>, run:
     </para>
 
@@ -182,4 +189,10 @@
 
     <para>
+      <parameter>sed -i '/_PyVerify_fd/,+1d' python/types.c</parameter>: This
+      fixes the <application>Python3</application> code to build with
+      <application>gcc-7</application>.
+    </para>
+
+    <para>
       <parameter>--with-history</parameter>: This switch enables
       <application>Readline</application> support when running
@@ -214,9 +227,11 @@
       <seglistitem>
         <seg>
-          xml2-config, xmlcatalog and xmllint
+          xml2-config, xmlcatalog, xmllint and the
+          drv_libxml2.py and libxml2.py <application>Python3</application>
+          modules.
         </seg>
         <seg>
           libxml2.so and optionally, the libxml2mod.so
-          <application>Python</application> module
+          <application>Python3</application> module
         </seg>
         <seg>
@@ -274,4 +289,28 @@
       </varlistentry>
 
+      <varlistentry id="drv_libxml2.py3">
+        <term><command>drv_libxml2.py</command></term>
+        <listitem>
+          <para>
+            is a SAX <application>Python3</application> driver for libxml2.
+          </para>
+          <indexterm zone="libxml2 drv_libxml2.py3">
+            <primary sortas="b-drv_libxml2.py">drv_libxml2.py</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="libxml2.py3">
+        <term><command>libxml2.py</command></term>
+        <listitem>
+          <para>
+            is the <application>Python3</application> binding for libxml2.
+          </para>
+          <indexterm zone="libxml2 libxml2.py3">
+            <primary sortas="b-libxml2.py">libxml2.py</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="libxml2-lib">
         <term><filename class="libraryfile">libxml2.so</filename></term>
@@ -287,4 +326,17 @@
       </varlistentry>
 
+      <varlistentry id="libxml2mod3">
+        <term><filename class="libraryfile">libxml2mod.so</filename></term>
+        <listitem>
+          <para>
+            is the interface for <application>Python3</application>
+            to use <filename class="libraryfile">libxml2.so</filename>.
+          </para>
+          <indexterm zone="libxml2 libxml2mod3">
+            <primary sortas="c-libxml2mod">libxml2mod.so</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
     </variablelist>
 
Index: general/genlib/libxslt.xml
===================================================================
--- general/genlib/libxslt.xml	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ general/genlib/libxslt.xml	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -97,12 +97,12 @@
     <bridgehead renderas="sect4">Optional</bridgehead>
     <para role="optional">
-      <xref linkend="libgcrypt"/> and
-      <xref linkend="python2"/> 
-      <note><simpara>The <xref role="nodep" linkend="python2"/> 
-      dependency is only appropriate if the Python module for
-      this package is needed. If it is, the  
-      <xref role="nodep" linkend="libxml2"/> Python module should also
-      be built for Python 2. The libxslt Python module is not needed for
-      any package in BLFS.
+      <xref linkend="libgcrypt"/>,
+      <xref linkend="libxml2py2"/>
+      <note><simpara>The <xref role="nodep" linkend="libxml2py2"/> 
+      dependency is only appropriate if the <application>Python2</application>
+      module for this package is needed. The
+      libxslt <application>Python2</application> module is not needed for
+      any package in BLFS but various packages may install
+      <application>Python2</application> modules which reference it.
       </simpara></note>
     </para>
Index: general/prog/python-modules.xml
===================================================================
--- general/prog/python-modules.xml	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ general/prog/python-modules.xml	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -96,4 +96,9 @@
       <listitem>
         <para>
+          <xref linkend="libxml2py2"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <xref linkend="lxml"/>
         </para>
@@ -174,4 +179,7 @@
 
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+    href="libxml2py2.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="lxml.xml"/>
 
Index: general/prog/scons.xml
===================================================================
--- general/prog/scons.xml	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ general/prog/scons.xml	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -81,6 +81,8 @@
     <para role="optional">
       <xref linkend="docbook-xsl"/>,
-      <xref linkend="libxml2"/>, and
-      <xref linkend="libxslt"/>
+      <xref role="runtime" linkend="libxml2py2"/> and
+      <xref role="runtime" linkend="libxslt"/> (the
+       <application>Python2</application> modules can be invoked at
+       runtime if using the SCons Docbook tool)
     </para>
 
Index: introduction/welcome/changelog.xml
===================================================================
--- introduction/welcome/changelog.xml	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ introduction/welcome/changelog.xml	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -43,4 +43,15 @@
 -->
     <listitem>
+      <para>November 22nd, 2017</para>
+      <itemizedlist>
+        <listitem>
+          <para>[ken] -  Add instructions to build the Python2 module for
+          libxml2, and clarify where / when it is used. Fixes
+          <ulink url="&blfs-ticket-root;10048">#10048</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>November 19th, 2017</para>
       <itemizedlist>
Index: packages.ent
===================================================================
--- packages.ent	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ packages.ent	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -164,4 +164,7 @@
 <!ENTITY libusb-compat-version        "0.1.5">
 <!ENTITY libxkbcommon-version         "0.7.2">
+<!-- the libxml2-version is also used for the python2 module,
+which is built separately after libxml2.so has been installed,
+to avoid building libxml2 twice, which is slow with all deps -->
 <!ENTITY libxml2-version              "2.9.7">
 <!ENTITY libxslt-version              "1.1.32">
@@ -403,4 +406,5 @@
 <!ENTITY funcsigs-version             "1.0.2">
 <!ENTITY Jinja2-version               "2.10">
+<!-- libxml2 for Python2 shares the version of libxml2 -->
 <!ENTITY lxml-version                 "4.1.1">
 <!ENTITY mako-version                 "1.0.4">
Index: pst/xml/docbook-xsl.xml
===================================================================
--- pst/xml/docbook-xsl.xml	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ pst/xml/docbook-xsl.xml	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -80,20 +80,21 @@
     <bridgehead renderas="sect3">DocBook XSL Stylesheets Dependencies</bridgehead>
 
-    <bridgehead renderas="sect4">Recommended</bridgehead>
-    <para role="recommended"><xref linkend="libxml2"/></para>
-
-    <bridgehead renderas="sect4">Optional</bridgehead>
+    <bridgehead renderas="sect4">Recommended (at runtime)</bridgehead>
+    <para role="recommended"><xref role="runtime" linkend="libxml2"/></para>
+
+    <bridgehead renderas="sect4">Optional (all used at runtime)</bridgehead>
     <para role="optional">
-      <xref linkend="apache-ant"/> (to produce <quote>webhelp</quote> documents),
-      <xref linkend="libxslt"/> (or any other XSLT processor, to process
-      Docbook documents),
-      <xref linkend="python2"/>, 
-      <xref linkend="ruby"/> (to utilize the <quote>epub</quote> stylesheets),
-      <xref linkend="zip"/> (to produce <quote>epub3</quote> documents), and
+      <xref role="runtime" linkend="apache-ant"/> (to produce <quote>webhelp</quote> documents),
+      <xref role="runtime"  linkend="libxslt"/> (or any other XSLT processor), to process
+      Docbook documents - the <application>Python2</application> modules
+      libxml2 and libxslt can be used,
+      <xref role="runtime" linkend="python2"/> (at runtime),
+      <xref role="runtime" linkend="ruby"/> (to utilize the <quote>epub</quote> stylesheets),
+      <xref role="runtime" linkend="zip"/> (to produce <quote>epub3</quote> documents), and
       <ulink url="http://sourceforge.net/projects/saxon/files/saxon6/">
         Saxon6
       </ulink> and
       <ulink url="http://xerces.apache.org/xerces2-j/">Xerces2 Java</ulink>
-      (used with <xref linkend="apache-ant"/> to produce <quote>webhelp</quote>
+      (used with <xref role="runtime" linkend="apache-ant"/> to produce <quote>webhelp</quote>
       documents)
     </para>
Index: xsoft/other/gimp.xml
===================================================================
--- xsoft/other/gimp.xml	(revision 6076396a2c50f5c884a180099055bb21a7b124e7)
+++ xsoft/other/gimp.xml	(revision cd964c86d9cec60876e23518d992077e4affa3df)
@@ -116,6 +116,7 @@
     <bridgehead renderas="sect4">Required</bridgehead>
     <para role="required">
-      <xref linkend="gegl"/> and
-      <xref linkend="gtk2"/>
+      <xref linkend="gegl"/>,
+      <xref linkend="gtk2"/> and
+      <xref linkend="libxml2py2"/> (to build the help files)
     </para>
 
