Hello there again,
got another problem after binutils pass 2:
after those commands:
make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
... I think every program following should be compiled and linked using /usr/lib and /lib as its library-paths. They doesn't...
I compiled every program from gawk till perl and then tried to chroot into the newly created mini-linux. But it's not possible, 'cos my just created bash tries to find its libraries inside /toolchain/lib instead of /usr/lib or /lib. /toolchain/lib just doesn't exist inside the newly created mini-linux becaus it IS the newly created mini-linux.
Code:
root:/home/lfs# ldd /toolchain/bin/bash
linux-gate.so.1 => (0xffffe000)
libreadline.so.4 => /toolchain/lib/libreadline.so.4 (0x40016000)
libhistory.so.4 => /toolchain/lib/libhistory.so.4 (0x40040000)
libncurses.so.5 => /toolchain/lib/libncurses.so.5 (0x40047000)
libdl.so.2 => /toolchain/lib/libdl.so.2 (0x40084000)
libc.so.6 => /toolchain/lib/libc.so.6 (0x40088000)
/toolchain/lib/ld-linux.so.2 => /toolchain/lib/ld-linux.so.2 (0x40000000)
LFS is /mnt/lfs_i586/tools
/toolchain is just a symbolic link to /mnt/lfs_i586/tools
I tried
chroot $LFS /bin/bash
and got
/bin/bash: no such file or directory
but /bin/bash (or /toolchain/bin/bash which one chroot would use) exists and permissions are correct
I understand the errormessage as there are libraries which can't be found by the dynamic linker 'cos they don't exist in /toolchain/lib. They really don't exist there because in the chroot environment there is no /toolchain because /toolchain IS the chroot environment... understand?
It's kind of complicating and confusing, I know. But (except the /tools directory, which is called /toolchain for me and a readline lib installed in addition) I followed every step of the book... Ah well I cross-compiled everything for i586. But I don't think that has to do with the /toolchain/lib path where bash tries to find its libraries...
huh... well... I think, maybe, there is a make -C ld install missing after the last step in binutils pass 2. Is that right? Or will I kill my just created mini-linux by doing that?
Please help me!!!
Thanks in advance!
Greetings from Germany!