My linkers are in
/lib{32,64}/ld-2.20.so
, with symbolic links at
/lib32/ld-linux.so.2
and
/lib64/ld-linux-x86-64.so.2
(to the appropriate ld-2.20.so
s)
When I attempt to execute a 32 bit binary, all is well. They compile fine (I am using a slightly modified gcc specs
file) and seemingly link fine, and run fine.
When I try ldd /path/to/example/32bit/binary
, I am told not a dynamic executable
. My understanding is that this is due to being unable to find a linker to open the executable.
readelf -l example_binary | grep interpreter
gives [Requesting program interpreter: /lib32/ld-linux.so.2]
, as expected.
Any ideas why this is happening / how I can fix it?
P.s. - "Install 32-bit compatibility libraries using sudo apt get ... " not helpful, since don't have apt/pacman/etcetera. If I need to reinstall a specific (32-bit) library, then knowing that would be helpful!
P.p.s - The script files installed by gcc
at /usr/lib{32,64}/libc.so
group the appropriate (real) libc.so.6
and libc_nonshared.a
files, with the AS_NEEDED ( /lib32/ld-linux.so.2 ) )
at the tail end for lib32