From 318e3c85876b968f02389f4e102131fe231cfe1c Mon Sep 17 00:00:00 2001 From: Greg Schafer Date: Thu, 2 Oct 2003 01:14:47 +0000 Subject: [PATCH] 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 --- chapter01/changelog.xml | 5 +++++ chapter06/adjustingtoolchain.xml | 12 +++++++++--- chapter06/createfiles.xml | 5 ++--- chapter06/shadowpwd-inst.xml | 9 ++++----- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 52b467998..367b06f96 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -95,6 +95,11 @@ +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. + October 2nd, 2003 [greg]: Chapter 6 - Shadow: Enable MD5 passwords. Closes Bug 600. 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 binutils-build directory: -make -C ld install +make -C ld INSTALL=/tools/bin/install install From now on every compiled program will link only -against the libraries in /usr/lib and /lib -. +against the libraries in /usr/lib and +/lib. The extra +INSTALL=/tools/bin/install is needed because the Makefile +created during the second pass still contains the reference to +/usr/bin/install, which we obviously haven't installed yet. +Some host distributions contain a ginstall +symbolic link which takes precedence in the Makefile and thus can cause a +problem here. The above command takes care of this also. You can now remove the Binutils source and build directories. 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. 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 +ln -s bash /bin/sh 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. Shadow hard-wires the path to the passwd binary within the binary itself, but does this the wrong way. If a passwd 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 /bin/passwd, but then installs it in -/usr/bin/passwd. This will lead to weird errors about not -finding /bin/passwd. To work around this bug, create a -dummy passwd file, so that it gets hard-wired -properly: +/usr/bin/passwd. This will lead to errors about not finding +/bin/passwd. To work around this bug, create a dummy +passwd file, so that it gets hard-wired properly: touch /usr/bin/passwd