Hi, using the ldd implementation based on ld.so tracing by the environment variable LD_TRACE_LOADED_OBJECTS, LD_LIBRARY_PATH is not taken into account. So it could not found some libraries installed into a non standard path.
This is why the environment passed to the program is hard-coded static const char *const environment[] = { "PATH=/usr/bin:/bin:/usr/sbin:/sbin", "SHELL=/bin/sh", "LD_TRACE_LOADED_OBJECTS=1", NULL }; if ((pid = vfork()) == 0) { /* Cool, it looks like we should be able to actually * run this puppy. Do so now... */ execle(filename, filename, NULL, environment); _exit(0xdead); } I'll send a patch shortly for review. Further I'm wondering why do we need to implement ldd in C code. I've seen that in glibc it's just a shell script to invoke the ld.so in stand-alone mode with tracing (it inherits the environment so indeed LD_LIBRARY_PATH is honored) The simplest implementation of ldd could be LD_TRACE_LOADED_OBJECTS=1 $1 Cheers, Carmelo _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc