This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: how to get target ldd ?


ng@piments.com wrote:
Yann E. MORIN wrote:
Peter,
All,

On Wednesday 10 June 2009 00:16:58 ng@piments.com wrote:
# ldd
-sh: ldd: not found
# ls -ail `which ldd`
3273877 -r-xr-xr-x 1 root root 5583 Jun 8 2009 /usr/bin/ldd
So it's there, it's found by which, but "not found". Clearly this is just busybox's challenged error handling spewing garbage. The question is how to debug what is really happending.
This error is helpful in itself since it's not even a binary, it's a script.

Running a shell script (or any other script type) first imply running a shell, and that shell will interpret the script.

Binaries give : -sh: gnuplot: Permission denied
even though they have x permissions and are being invoked by root.

Hmmm. Sounds like a ld problem. Please run this on the target: # ls -l /lib/ld*

It should be marked with the 'x' bit.

I'm off to work, will look in more details tonight...

Regards,
Yann E. MORIN.


Damn! it was that simple.


chmod a+x /lib/ld* fix it. My hello.dyn and gnuplot now work.

I posted quite some time back in another thread that all my libs were without x perms and it got no comment. So I assumed that it was normal and the it was regarded as a dumb question.

So the question is: why is it installed with the wrong permissions?

I have just rebuild the toolchain and the perms look correct in sys-root.

3317406 -r-xr-xr-x 1 prof users 160750 2009-06-10 01:49 ld-2.9.so
3317408 lrwxrwxrwx 1 prof users 9 2009-06-10 01:49 ld-linux.so.3 -> ld-2.9.so



However ldd still does not work: # ldd gnuplot -sh: ldd: not found # which ldd /usr/bin/ldd


I think what may have happened it that , having noted that nothing had x in /lib I added it to all libs without noting that ld was (possibly) already executable. When I did not get any comment on that I likely reverted everything including ld to -x .



I'll do more thorough testing tonight but initial evidence suggests that it is fixed.


It would be good to have ldd as a tool but I think that is a differenct problem.

It tool a long time to find something so simple but at least I can rebuild everything dynamic now.

Many thanks, Peter.




[UPDATE:]

I have just rerun ct-ng build and all libs in sys-tools come out with 555 permissons.

after populate, all copied libs in /lib are 644 ie NO x bit set at all, notably:

3384784 -r-xr-xr-x 1 prof users 160750 Jun 10 22:15 ld-2.9.so
3384786 lrwxrwxrwx 1 prof users 9 Jun 10 22:15 ld-linux.so.3 -> ld-2.9.so


So it's not finger trouble at my end, it really was like this start with.

/Peter



--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]