New answers tagged shared-library
Thanks to this answer of Julien, I added to the linker the options -L. -Wl,-rpath='$ORIGIN'. The -L tells the linker to look for the shared libraries in the directory where you compile. The second option is more important in that now at runtime, the shared libraries in the original directory where the executable is, will be taken. So if I do now ldd ...
On Linux, there's a big effort for binary compatibility at kernel level, not so much at library level. What I did several times and worked perfectly is to make on a development machine a chroot with the target machine environment, including compiler. (One can replace chroot with virtual machine or any type of container.) The binaries you'll make from that ...
On Linux the dynamic linker does not by default look in current directory. If you indeed include all needed libraries in current directory, it should work: LD_LIBRARY_PATH=. ./myprogram If you do not provide all necessary libraries, it might complain or just crash (due to binary incompatibilities that the linker cannot detect only comparing library ...
linux-gate.so.1 is a "a virtual DSO, a shared object exposed by the kernel at a fixed address in every process' memory" Have a look at https://stackoverflow.com/questions/19981862/what-are-ld-linux-so-2-and-linux-gate-so-1 Missing libraries are more commonly reported as not found in ldd output if I remember correctly
Top 50 recent answers are included