A página de manual para ld.so
irá ajudá-lo com isso. Em particular, as coisas importantes para olhar são provavelmente o conteúdo de sua variável de shell LD_LIBRARY_PATH
e o arquivo /etc/ld.so.conf
.
O que você pode fazer quando o seu sistema Linux "não consegue encontrar" bibliotecas vinculadas dinamicamente que estão de fato instaladas em seus locais corretos?
Neste caso, estou tentando executar um programa chamado 'ucanvcam':
oliver@human ~/installed/ucanvcam-0.1.6/bin $ ./ucanvcam
./ucanvcam: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory
oliver@human ~/installed/ucanvcam-0.1.6/bin $ locate libgd.so.2
/usr/lib64/libgd.so.2.0.0
/usr/lib64/libgd.so.2
oliver@human ~/installed/ucanvcam-0.1.6/bin $ ldd ./ucanvcam
linux-gate.so.1 => (0xf7706000)
[...]
libgd.so.2 => not found
[...]
librt.so.1 => /lib32/librt.so.1 (0xf6b1e000)
Como posso dizer para procurar por libgd.so.2 em / usr / lib64? E mais importante, por que não está olhando lá e onde está olhando?
Obrigado,
Mala