Index: chapter06/ncurses.xml
===================================================================
--- chapter06/ncurses.xml	(revision ca170329c9ab02a57921217477921a59d09a0dc6)
+++ chapter06/ncurses.xml	(revision 46a2e9c7d603a2a160f8de8741a7750de935d848)
@@ -29,8 +29,47 @@
 <sect2 role="installation">
 <title>Installation of Ncurses</title>
+<!-- Uncomment if using a dated ncurses release instead of a numbered one.
+
+<para>Since the release of Ncurses-&ncurses-version;, some bugs have been fixed
+and features added. The most important news are .......
+To get these fixes and features, apply the rollup patch:</para>
+
+<screen><userinput>bzcat ../&ncurses-rollup-patch; | patch -Np1</userinput></screen>
+-->
+
+<para>Since the release of Ncurses-&ncurses-version;, a memory leak and some
+display bugs were found and fixed upstream. Apply those fixes:</para>
+
+<screen><userinput>patch -Np1 -i ../&ncurses-fixes-patch;</userinput></screen>
 
 <para>Prepare Ncurses for compilation:</para>
 
-<screen><userinput>./configure --prefix=/usr --with-shared --without-debug</userinput></screen>
+<screen><userinput>./configure --prefix=/usr --with-shared --without-debug --enable-widec</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<varlistentry>
+<term><parameter>--enable-widec</parameter></term>
+<listitem><para>This switch causes wide-character libraries
+(e.g., <filename class="libraryfile">libncursesw.so.&ncurses-version;</filename>)
+to be built instead of normal ones
+(e.g., <filename class="libraryfile">libncurses.so.&ncurses-version;</filename>).
+These wide-character libraries are usable in both multibyte and traditional 8-bit
+locales, while normal libraries work properly only in 8-bit locales.
+Wide-character and normal libraries are source-compatible, but not
+binary-compatible.</para>
+</listitem>
+</varlistentry>
+<!--
+<varlistentry>
+<term><parameter>- -without-cxx-binding</parameter></term>
+<listitem><para>This optional switch causes the
+<filename class="libraryfile">libncurses++w.a</filename> library
+not to be built. Nothing in LFS and BLFS uses this library.</para>
+</listitem>
+</varlistentry>
+-->
+</variablelist>
 
 <para>Compile the package:</para>
@@ -50,16 +89,47 @@
 <para>Fix a library that should not be executable:</para>
 
-<screen><userinput>chmod -v 644 /usr/lib/libncurses++.a</userinput></screen>
+<screen><userinput>chmod -v 644 /usr/lib/libncurses++w.a</userinput></screen>
 
 <para>Move the libraries to the <filename class="directory">/lib</filename> directory,
 where they are expected to reside:</para>
 
-<screen><userinput>mv -v /usr/lib/libncurses.so.5* /lib</userinput></screen>
-
-<para>Because the libraries have been moved, a few symlinks point to
-non-existent files. Recreate those symlinks:</para>
-
-<screen><userinput>ln -sfv ../../lib/libncurses.so.5 /usr/lib/libncurses.so
-ln -sfv libncurses.so /usr/lib/libcurses.so</userinput></screen>
+<screen><userinput>mv -v /usr/lib/libncursesw.so.5* /lib</userinput></screen>
+
+<para>Because the libraries have been moved, one symlink points to
+a non-existent file. Recreate it:</para>
+
+<screen><userinput>ln -sfv ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so</userinput></screen>
+
+<para>Many applications still expect the linker to be able to find
+non-wide-character Ncurses libraries. Trick such applications into linking with
+wide-character libraries by means of symlinks and linker scripts:</para>
+
+<screen><userinput>for lib in curses ncurses form panel menu ; do \
+	rm -vf /usr/lib/lib${lib}.so ; \
+	echo "INPUT(-l${lib}w)" &gt;/usr/lib/lib${lib}.so ; \
+	ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ; \
+done &amp;&amp;
+ln -sfv libncurses++w.a /usr/lib/libncurses++.a</userinput></screen>
+
+<para>Finally, make sure that old applications that look for
+<filename class="libaryfile">-lcurses</filename> at build time are still
+buildable:</para>
+
+<screen><userinput>echo "INPUT(-lncursesw)" &gt;/usr/lib/libcursesw.so &amp;&amp;
+ln -sfv libncurses.so /usr/lib/libcurses.so &amp;&amp;
+ln -sfv libncursesw.a /usr/lib/libcursesw.a &amp;&amp;
+ln -sfv libncurses.a /usr/lib/libcurses.a</userinput></screen>
+
+<note><para>The instructions above don't create non-wide-character Ncurses
+libraries since no package installed by compiling from sources would link
+against them at runtime.
+If you must have such libraries because of some binary-only application,
+build them with the following commands:</para>
+<screen role="nodump"><userinput>make distclean &amp;&amp;
+./configure --prefix=/usr --with-shared --without-normal \
+	--without-debug --without-cxx-binding &amp;&amp;
+make sources libs &amp;&amp;
+cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
+</note>
 </sect2>
 
@@ -72,6 +142,8 @@
 <seglistitem><seg>captoinfo (link to tic), clear, infocmp, infotocap (link to tic), 
 reset (link to tset), tack, tic, toe, tput, and tset</seg>
-<seg>libcurses.[a,so] (link to libncurses.[a,so]), libform.[a,so], libmenu.[a,so], 
-libncurses++.a, libncurses.[a,so], and libpanel.[a,so]</seg></seglistitem>
+<seg>libcursesw.[a,so] (symlink and linker script to libncursesw.[a,so]),
+libformw.[a,so], libmenuw.[a,so], 
+libncurses++w.a, libncursesw.[a,so], libpanelw.[a,so] and their
+non-wide-character counterparts without "w" in the library names.</seg></seglistitem>
 </segmentedlist>
 
@@ -213,3 +285,2 @@
 
 </sect1>
-
