Quote:
Originally Posted by GrapefruiTgirl
The error is "file not found", so at this stage of course, missing libraries are not the problem, it's the binary itself.
|
Hi,
this is generally true. When a binary a binary is missing a shared library it displays an error like:
Code:
ls: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
However, there is one exception. If a binary cannot find its linker, then it will throw a simple 'No such file or directory' error. Just like the binary itself were not present. It's really funny when you do 'ls' and are looking at the file at the same time.
So this is what I think *might* be going on:
ldd on my Ubuntu returns:
Code:
# ldd /usr/bin/gawk
linux-vdso.so.1 => (0x00007fffe8c6c000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f22571be000)
libm.so.6 => /lib/libm.so.6 (0x00007f2256f3b000)
libc.so.6 => /lib/libc.so.6 (0x00007f2256bb7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f22573e0000)
My guess is, that on the target-system there is no directory /lib64. It is probably NOT a multilib system. It misses the /lib64 directory and the linker might be also named just ld-linux.so.2 (not sure about that).
In this case, creating a symlink /lib64 -> /lib (and also one for the linker) *might* solve the problem. The output of
Code:
ls -l /lib*/ld-*
ldd /path/to/gawk # the temporary one from ubuntu
could come in handy.
If it works with the symlinks, then recompilation of gawk on the target system should be possible.