aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/adjustingtoolchain.xml12
-rw-r--r--chapter06/createfiles.xml5
-rw-r--r--chapter06/shadowpwd-inst.xml9
3 files changed, 15 insertions, 11 deletions
diff --git a/chapter06/adjustingtoolchain.xml b/chapter06/adjustingtoolchain.xml
index 14ce79020..4a79ba2bb 100644
--- a/chapter06/adjustingtoolchain.xml
+++ b/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>
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
index 5ab9fb8a7..681457828 100644
--- a/chapter06/createfiles.xml
+++ b/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>
diff --git a/chapter06/shadowpwd-inst.xml b/chapter06/shadowpwd-inst.xml
index d487600e3..9e0069145 100644
--- a/chapter06/shadowpwd-inst.xml
+++ b/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>