2

У меня есть программа foobar которая использует общие библиотеки. Я правильно настроил LD_LIBRARY_PATH и затем, когда я запускаю

>ldd foobar

Я вижу, что он знает полные пути ко всем нужным библиотекам.

Однако в некоторых системах ("больших") мне не нужен LD_LIBRARY_PATH чтобы ldd знал, где находятся библиотеки, а в некоторых ("меньших") мне это нужно.

В обеих системах исполняемый foobar одинаков, путь к нему одинаков, а все библиотеки и пути к ним одинаковы.

Это означает, что rpath встроенный в исполняемый файл, одинаков в обоих случаях.

Таким образом, должен быть какой-то другой способ определить, где находятся библиотеки? Что это?

2 ответа2

0

/ Lib и / usr / lib добавляются автоматически. Другие библиотеки добавляются из файла /etc/ld.so.conf.

0

ldconfig - это утилита, которая поддерживает кеш общих библиотек. При правильной настройке правильные пути к библиотекам будут кэшироваться и доступны для руководителей. Вы можете использовать ldconfig -p для распечатки доступных в данный момент кандидатов в библиотеки.

Смотрите страницу руководства для ldconfig(8) .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .