Browse Source

Chapter 6: Reinstate INSTALL=/tools/bin/install for linker adjustment command. Also remove now redundant install symlinks.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2915 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Greg Schafer 22 years ago
parent
commit
318e3c8587

+ 5 - 0
chapter01/changelog.xml

@@ -95,6 +95,11 @@
 </itemizedlist>
 </para></listitem>
 
+<listitem><para>October 2nd, 2003 [greg]: Chapter 6: Reinstate
+INSTALL=/tools/bin/install for linker adjustment command due to issues on hosts
+where a ginstall symlink exists. This renders the "install" symlinks redundant
+so removed those too.</para></listitem>
+
 <listitem><para>October 2nd, 2003 [greg]: Chapter 6 - Shadow: Enable
 MD5 passwords. Closes Bug 600.</para></listitem>
 

+ 9 - 3
chapter06/adjustingtoolchain.xml

@@ -12,11 +12,17 @@ source and build directories from the second pass over Binutils. Install the
 adjusted linker by running the following from within the
 <filename class="directory">binutils-build</filename> directory:</para>
 
-<para><screen><userinput>make -C ld install</userinput></screen></para>
+<para><screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen></para>
 
 <para>From now on every compiled program will link <emphasis>only</emphasis>
-against the libraries in <filename>/usr/lib</filename> and <filename>/lib
-</filename>.</para>
+against the libraries in <filename>/usr/lib</filename> and
+<filename>/lib</filename>. The extra
+<userinput>INSTALL=/tools/bin/install</userinput> is needed because the Makefile
+created during the second pass still contains the reference to
+<filename>/usr/bin/install</filename>, which we obviously haven't installed yet.
+Some host distributions contain a <filename class="symlink">ginstall</filename>
+symbolic link which takes precedence in the Makefile and thus can cause a
+problem here. The above command takes care of this also.</para>
 
 <para>You can now remove the Binutils source and build directories.</para>
 

+ 2 - 3
chapter06/createfiles.xml

@@ -8,10 +8,9 @@ will be replaced by real files throughout the course of this chapter when
 we're installing all the software.</para>
 
 <para><screen><userinput>ln -s /tools/bin/{bash,pwd,cat,stty} /bin
-ln -s /tools/bin/{perl,install} /usr/bin
+ln -s /tools/bin/perl /usr/bin
 ln -s /tools/lib/libgcc_s.so.1 /usr/lib
-ln -s bash /bin/sh
-ln -s ../usr/bin/install /bin</userinput></screen></para>
+ln -s bash /bin/sh</userinput></screen></para>
 
 </sect1>
 

+ 4 - 5
chapter06/shadowpwd-inst.xml

@@ -27,12 +27,11 @@ bad login attempts.</para>
 <para>Shadow hard-wires the path to the <userinput>passwd</userinput> binary
 within the binary itself, but does this the wrong way. If a
 <userinput>passwd</userinput> binary is not present before installing Shadow,
-the package wrongly assumes it is going to be located at
+the package incorrectly assumes it is going to be located at
 <filename>/bin/passwd</filename>, but then installs it in
-<filename>/usr/bin/passwd</filename>. This will lead to weird errors about not
-finding <filename>/bin/passwd</filename>. To work around this bug, create a
-dummy <filename>passwd</filename> file, so that it gets hard-wired
-properly:</para>
+<filename>/usr/bin/passwd</filename>. This will lead to errors about not finding
+<filename>/bin/passwd</filename>. To work around this bug, create a dummy
+<filename>passwd</filename> file, so that it gets hard-wired properly:</para>
 
 <para><screen><userinput>touch /usr/bin/passwd</userinput></screen></para>