On Tue, Feb 26, 2008 at 8:05 AM, mark jones <[EMAIL PROTECTED]> wrote:
> > Hello,
> > I have completed the chapter 5. But I am facing one problem in chapter
> 6.10 every time. After done all the steps before it, then query the following:
> >
> > $> grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
> >
> > I got nothing, then I tried with
> >
> > $> grep 'SEARCH.*/lib' dummy.log |sed 's|; |\n|g'
> >
> > And I got only the following output:
> >
> > SEARCH_DIR("/tools/i686-pc-linux-gnu/lib")
> > SEARCH_DIR("/tools/lib")
> > So it seems /tools/lib is not replaced properly. I also got following
> output by the command
> >
> > $> grep found dummy.log
> >
> > found ld-linux.so.2 at /tools/lib/ld-linux.so.2
> >
> > I can't go ahead without solving this issue.
> > Can you please tell me what I missed ?
All these problems point to the wrong ld linker being used. At the
beginning of Ch. 6.10 there are instructions to move the adjusted ld
(/tools/bin/ld-new) to be /tools/bin/ld. That ld should have the
correct paths pointing to /usr. So, after making the adjustment moving
ld-new to /tools/bin/ld, try this command:
$ ld --verbose | grep SEARCH
SEARCH_DIR("/tools/i686-pc-linux-gnu/lib"); SEARCH_DIR("/usr/lib");
SEARCH_DIR("/lib");
If that looks alright, then you've done the ld adjustment correctly in
Ch. 5 Binutils Pass 2. Now check if the ld executed by gcc is also
doing the right thing:
$ gcc -Wl,--verbose 2>/dev/null | grep '\(SEARCH\|found\)'
SEARCH_DIR("/tools/i686-pc-linux-gnu/lib"); SEARCH_DIR("/usr/lib");
SEARCH_DIR("/lib");
found ld-linux.so.2 at /lib/ld-linux.so.2
If that's wrong, then gcc isn't using the right ld. Try these commands:
$ type ld
/tools/bin/ld
$ gcc -print-prog-name=ld
ld
That would show that gcc is using the ld found in $PATH, which is /tools/bin/ld.
--
Dan
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page