Контакт с местоположениями библиотек

Что можно сделать, когда система 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

2
задан 12.11.2014, 20:18

1 ответ

Страница руководства для ld.so поможет Вам с этим. В особенности важными вещами посмотреть на является, вероятно, содержание Вашей переменной оболочки LD_LIBRARY_PATH и файл /etc/ld.so.conf.

1
ответ дан 12.12.2019, 00:29

Теги

Похожие вопросы