[uClibc]Problems with ldd

Karim Yaghmour karim at opersys.com
Sun Apr 28 06:26:16 UTC 2002


First, please CC' me as I'm not subscribed to this list, thanks.

OK, with that said, here's the issue:

My host is a PPC machine with Linux and my target is an i386.
I am able to compile all of uClibc and link my apps in static and
in dynamic with it and run them without any problems.

The only issue I have is with i386-uclibc-ldd. When I run it
on my host while providing it with a dynamically linked app for
my target, I always get this:
appname: not a dynamic executable

I tracked this down to uClibc/ldso/util/ldd.c:find_dependancies().
This is the interesting excerpt:
	/* Check if this is the right kind of ELF file */
	if (ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN) {
		fprintf(stderr, "%s: not a dynamic executable\n", filename);
		exit(EXIT_FAILURE);
	}

Hence, my app fails this test. Yet, when I use i386-linux-readelf
on the app on my host, I can clearly see that
"Type:  EXEC (Executable file)"
and the files it depends on are seen by i386-linux-readelf.

I can only think of endian issues.

Thoughts? Suggestions?

Thanks,

Karim

===================================================
                 Karim Yaghmour
               karim at opersys.com
      Embedded and Real-Time Linux Expert
===================================================



More information about the uClibc mailing list