>sometimes you can change into the directory containing your binary and >run some informative commands like:
>$ cd /usr/bin >$ file zip >zip: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for >GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
>$ ldd zip > libc.so.6 => /lib/tls/libc.so.6 (0x00c39000) > /lib/ld-linux.so.2 (0x004d9000) > >$ strace zip >execve("/usr/bin/zip", ["zip"], [/* 33 vars */]) = 0 >uname({sys="Linux", node="jabba", ...}) = 0 >brk(0) = 0x9459000 >access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or >directory) >open("/etc/ld.so.cache", O_RDONLY) = 3 >...etc...
>maybe you are using local lib*.so's and the lib path is not set in >LD_LIBRARY_PATH or ld.so.conf?
>--- >john
My program is running using a shell script. In shell script I set LD_LIBRARY_PATH for accessing old libraries. This shell run ok on RH9
ldd for real program give:
libm.so.5 => not found
libdl.so.1 => /lib/libdl.so.1 (0x4001f000)
libX11.so.6 => not found
libc.so.5 => not found
./ustation32: can't resolve symbol '__ctype_b'
/usr/bin/ldd: line 1: 1108 Segmentation fault LD_TRACE_LOADED_OBJECTS=1 LD_WARN= LD_BIND_NOW= LD_LIBRARY_VERSION=$verify_out LD_VERBOSE= "$file"
and libm.so.5 , libX11.so.6 and libc.so.5 are in directory accessed by LD_LIBRARY_PATH
This is output of "file" command on real program
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
For runnning this program in RH9 I have to copy ld-linux.so.1.9.5 and libdl.so.1.9.5 in my /lib. I have also made this copy in /lib of FC3.
Also, if I chroot in a directory, I can see only this directory, so when I chroot in my old RH9 disk (mounted as /mnt/rh9) I can access only files from this wirtual root directory. So I can't access any other (i.e. FC3) library. Or not!
Regards Franco Spinelli