diff --git a/doc/binary_c2.lyx b/doc/binary_c2.lyx
index 29f3521d56e7e84f3af2cb4ddaca98354019020a..c2e1dff57276b353f8c0e3f8a17cc62d3f1171ef 100644
--- a/doc/binary_c2.lyx
+++ b/doc/binary_c2.lyx
@@ -8779,7 +8779,16 @@ Build
 
 
 \emph default
- as normal 
+ and the shared library, 
+\emph on
+libbinary_c.so
+\emph default
+,
+\emph on
+ 
+\emph default
+e.g.
+ with,
 \begin_inset listings
 lstparams "language=bash"
 inline false
@@ -8787,28 +8796,17 @@ status open
 
 \begin_layout Plain Layout
 
-make
+cd builddir
 \end_layout
 
-\end_inset
-
+\begin_layout Plain Layout
 
+ninja binary_c_install_legacy
 \end_layout
 
-\begin_layout Enumerate
-Make the shared library, 
-\emph on
-libbinary_c.so
-\emph default
- 
-\begin_inset listings
-lstparams "language=bash"
-inline false
-status open
-
 \begin_layout Plain Layout
 
-make libbinary_c.so
+cd ..
 \end_layout
 
 \end_inset
@@ -8825,7 +8823,7 @@ Install
 
 2 
 \emph default
-using 
+and the other modules using 
 \emph on
 cpanm 
 \emph default
@@ -8837,7 +8835,12 @@ status open
 
 \begin_layout Plain Layout
 
-./install_modules.pl Histogram binary_grid
+cd src/perl
+\end_layout
+
+\begin_layout Plain Layout
+
+./install_modules.pl
 \end_layout
 
 \end_inset
@@ -8914,6 +8917,58 @@ C
 
  backend.
  
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+You may have to run 
+\begin_inset Flex Command
+status open
+
+\begin_layout Plain Layout
+
+\series bold
+install_modules.pl
+\end_layout
+
+\end_inset
+
+ a few times because of a dependency error.
+ If you see a 
+\begin_inset Quotes eld
+\end_inset
+
+FAIL
+\begin_inset Quotes erd
+\end_inset
+
+ in the output, go to the src/perl/modules_targz directory and run,
+\series default
+
+\begin_inset listings
+lstparams "language=bash"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+./install_all.pl
+\end_layout
+
+\begin_layout Plain Layout
+
+./install_all.pl
+\end_layout
+
+\begin_layout Plain Layout
+
+./install_all.pl
+\end_layout
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
diff --git a/doc/binary_c2.pdf b/doc/binary_c2.pdf
index c849c18d787fde4096b24d33d276a33c77b0d3d9..5fb46d163a6c285cd22d573f7365f2d087a895f6 100644
Binary files a/doc/binary_c2.pdf and b/doc/binary_c2.pdf differ
diff --git a/src/perl/modules_targz/install_all.pl b/src/perl/modules_targz/install_all.pl
index d85e2b25132d14ca96f74bd5e2e3e2acdc9e9de2..de9bdf27dda31d84e787510af3778043363a58c2 100755
--- a/src/perl/modules_targz/install_all.pl
+++ b/src/perl/modules_targz/install_all.pl
@@ -50,12 +50,23 @@ push (@mods, `ls *.tar.gz`);
 chomp @mods;
 @mods = uniq @mods;
 
+my $fail;
 foreach my $tgz (@mods)
 {
     my $d=($tgz=~/(.*)\.tar\.gz/)[0];
     
     print "Install $tgz using cpanm\n";
-    print `$cpanm --installdeps ./$tgz;`;
-    print `$cpanm --force --notest ./$tgz;`;
+    my $out = `$cpanm --installdeps ./$tgz 2>\&1`.`$cpanm --force --notest ./$tgz 2>\&1`;
+
+    if($out =~ /fail/)
+    {
+        $fail .= "Failure detected when installing $tgz\n";
+    }
 }
-    
+
+
+if($fail)
+{
+    print "\n\n",$fail,"\n\n  This may be a dependency problem: try running this script a few times, this may cure the problem.\n\n";
+} 
+