Subject: Re: crtend.o : how to find the Holy Graal ?
To: None <current-users@NetBSD.ORG>
From: David Laight <david@l8s.co.uk>
List: current-users
Date: 10/24/2002 19:31:25
> > Shared object "crtend.o" not found
> > 
> > $ ldd /usr/local/libexec/rox/ROX-Filer
> > ldd in free(): warning: chunk is already free.   <-- (1) See that?
> > /usr/local/libexec/rox/ROX-Filer:
> >          -liconv.3 => /usr/local/lib/libiconv.so.3
> > [...]
> >          -lc.12 => /usr/lib/libc.so.12
> >          crtend.o => not found              <-- (2) See that?
> > 
> 
> I got exactly the same on my i386 1.6I with a few programs, did a ktrace of it
> to see if it actually tried to look for it. And lo' and behold, if even
> finds it. But then does something to it that I'll have to look into.

That happens because crtend.o isna't a shared library.

Do an 'objdump -p' (I think that's the option) on all the
shared libraries that are loaded and look for a 'NEEDED'
entry for crtend.o - there shoudn't be one.

It might be worth noting  that ldd uses code from ld.elf_so
so the recent changes to the loader might not be completely
compatible with th eldd source.


	David

-- 
David Laight: david@l8s.co.uk