Что можно сделать, когда система Linux "не может найти" динамически подключаемые библиотеки, которые действительно установлены в их корректных местоположениях?
Рассматриваемый вопрос, я пытаюсь запустить программу, названную '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)
Как я могу сказать этому искать libgd.so.2 в/usr/lib64? И что еще более важно, почему это не смотрящий там, и где это смотрит?
Спасибо,
Mala
Страница руководства для ld.so
поможет Вам с этим. В особенности важными вещами посмотреть на является, вероятно, содержание Вашей переменной оболочки LD_LIBRARY_PATH
и файл /etc/ld.so.conf
.