Index: general/prog/llvm.xml
===================================================================
--- general/prog/llvm.xml	(revision 314919e4108308a52dcffc3233ca4fe1c858933a)
+++ general/prog/llvm.xml	(revision bb0652ca10cddcfc0c100fd864c4d2b5f90bf89f)
@@ -5,4 +5,5 @@
   %general-entities;
 
+  <!ENTITY llvm-majmin "6.0"> <!-- used in an explanation -->
   <!ENTITY llvm-download-http "http://llvm.org/releases/&llvm-version;/llvm-&llvm-version;.src.tar.xz">
   <!ENTITY llvm-download-ftp  " ">
@@ -196,4 +197,5 @@
       -DCMAKE_BUILD_TYPE=Release            \
       -DLLVM_BUILD_LLVM_DYLIB=ON            \
+      -DLLVM_LINK_LLVM_DYLIB=ON             \
       -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \
       -Wno-dev ..                           &amp;&amp;
@@ -281,12 +283,15 @@
 
     <para>
-      <option>-DLLVM_LINK_LLVM_DYLIB=ON</option>: Used in conjunction with
+      <parameter>-DLLVM_LINK_LLVM_DYLIB=ON</parameter>: Used in conjunction with
       <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>, this switch enables
       linking the tools against the shared library instead of the static ones.
+      It also slightly reduces their size and also ensures that llvm-config
+      will correctly use libLLVM-&llvm-majmin;.so.
     </para>
 
     <para>
       <option>-DBUILD_SHARED_LIBS=ON</option>: if used instead of
-      <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter>, builds all the
+      <parameter>-DLLVM_BUILD_LLVM_DYLIB=ON</parameter> and
+      <parameter>-DLLVM_LINK_LLVM_DYLIB=ON</parameter>, builds all the
       <application>LLVM</application> libraries (about 60) as shared
       libraries instead of static.
Index: general/prog/rust.xml
===================================================================
--- general/prog/rust.xml	(revision 314919e4108308a52dcffc3233ca4fe1c858933a)
+++ general/prog/rust.xml	(revision bb0652ca10cddcfc0c100fd864c4d2b5f90bf89f)
@@ -62,8 +62,8 @@
       </para>
       <para>
-        Unusually, a DESTDIR method is being used to install this package. This
-        is because running the install as root not only downloads all of the
+        Unusually, a DESTDIR-style method is being used to install this package.
+        This is because running the install as root not only downloads all of the
         cargo files again (to <filename>/root/.cargo</filename>), it then spends
-        a very long time recompiling. Using a DESTDIR method saves 30 SBU on the
+        a very long time recompiling. Using this method saves 30 SBU on the
         4-core machine where this was tested, at the cost of an extra 60MB of
         disk space for the extra files.
@@ -124,4 +124,5 @@
     <para role="recommended">
       <package>clang</package> from <xref linkend="llvm"/>
+      (built with -DLLVM_LINK_LLVM_DYLIB=ON)
     </para>
 
@@ -193,5 +194,6 @@
     </para>
 
-<screen><userinput>./x.py build</userinput></screen>
+<screen><userinput>export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi" &amp;&amp;
+./x.py build</userinput></screen>
 
     <para>
@@ -257,6 +259,5 @@
     </para>
 
-<screen><userinput>mkdir -v /sources/RUST               &amp;&amp;
-DESTDIR=/sources/RUST ./x.py install</userinput></screen>
+<screen><userinput>DESTDIR=${PWD}/install ./x.py install</userinput></screen>
 
     <para>
@@ -265,6 +266,6 @@
     </para>
 
-<screen role="root"><userinput>chown -R root:root /sources/RUST &amp;&amp;
-cp -a /sources/RUST/* /</userinput></screen>
+<screen role="root"><userinput>chown -R root:root install &amp;&amp;
+cp -a install/* /</userinput></screen>
 
   </sect2>
@@ -309,4 +310,11 @@
 
     <para>
+      <command>export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi"</command>:
+      This adds a link to libffi to any RUSTFLAGS you may already be passing
+      to the build. On some systems, linking fails to include libffi unless
+      this is used. The reason why this is needed is not clear.
+    </para>
+
+    <para>
       <command>--verbose</command>: this switch can sometimes provide more
       information about a test which fails.
@@ -319,16 +327,12 @@
 
     <para>
-      <command>mkdir -v /sources/RUST</command>: this is not strictly necessary,
-      but it confirms that your regular user can write there, and that there is
-      not an existing directory of this name left over from a previous install.
-      By convention, BLFS builds in <filename class="directory">/sources</filename>
-      but you can change this to another location where you can write (and
-      similarly change the commands used by
-      <systemitem class="username">root</systemitem>). Note that DESTDIR installs
-      need an absolute path, passing e.g. ../RUST will not work.
-    </para>
-
-    <para>
-      <command>chown -R root:root /sources/RUST</command>: the DESTDIR install
+      <command>DESTDIR=${PWD}/install ./x.py install</command>: This effects a
+      DESTDIR-style install in the source tree,creating an <filename
+      class="directory">install</filename> directory. Note that DESTDIR installs
+      need an absolute path, passing 'install' will not work.
+    </para>
+
+    <para>
+      <command>chown -R root:root install</command>: the DESTDIR install
       was run by a regular user, who owns the files. For security, change their
       owner before doing a simple copy to install them.
Index: introduction/welcome/changelog.xml
===================================================================
--- introduction/welcome/changelog.xml	(revision 314919e4108308a52dcffc3233ca4fe1c858933a)
+++ introduction/welcome/changelog.xml	(revision bb0652ca10cddcfc0c100fd864c4d2b5f90bf89f)
@@ -46,4 +46,13 @@
       <itemizedlist>
         <listitem>
+          <para>[ken] Fixes for problems people have encountered with
+          my rustc instructions. In particular, in llvm add
+          -DLLVM_LINK_LLVM_DYLIB=ON which I have been using for ages
+          but was not in the current book, and in rustc add RUSTFLAGS
+          to ensure that libffi is linked.  Also simplify the rustc
+          install. Particular thanks to 'balducci' for the RUSTFLAGS.
+          </para>
+        </listitem>
+        <listitem>
           <para>[bdubbs] - Update to subversion-1.10.0.  Fixes
           <ulink url="&blfs-ticket-root;10658">#10658</ulink>.</para>
