Para esta pergunta, usarei um exemplo específico, mas na verdade isso generaliza para praticamente qualquer binário no linux que não consiga encontrar suas 'bibliotecas dependentes. Então, eu tenho um programa que não será executado por falta de bibliotecas:
./cart5: error while loading shared libraries: libcorona-1.0.2.so: cannot open shared object file: No such file or directory
O ldd lança alguma luz sobre o assunto:
linux-vdso.so.1 => (0x00007fff18b01000)
libcorona-1.0.2.so => not found
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/libstdc++.so.6 (0x00007f0975830000)
libm.so.6 => /lib/libm.so.6 (0x00007f09755af000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f0975399000)
libc.so.6 => /lib/libc.so.6 (0x00007f0975040000)
libz.so.1 => /lib/libz.so.1 (0x00007f0974e2b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0975b36000)
No entanto, a corona está instalada:
oliver@human$ find / -name libcorona-1.0.2.so 2> /dev/null
/usr/local/lib64/libcorona-1.0.2.so
/home/oliver/installed/corona-1.0.2/src/.libs/libcorona-1.0.2.so
Como digo ao binário onde procurar a biblioteca "ausente"?