У меня есть библиотека, собранная с использованием libtool, которая устанавливается в каталог библиотеки пакета, /usr/local/lib/myprog/libmylib.so
.Я динамически загружаю библиотеку в своем коде с помощью libltdl.Когда я пытаюсь загрузить эту библиотеку на одну машину, она работает просто отлично.С другой, с той же сборкой и библиотекой, установленной в том же месте, я получаю ошибку «файл не найден».
Если я вызываю lt_dlforeachfile
непосредственно перед lt_dlopenext
(который я использую для загрузкибиблиотека), затем, распечатав имена файлов, я вижу, что нужная библиотека найдена в пути поиска.Но затем сразу после загрузки происходит сбой с ошибкой «файл не найден».Есть предложения?
ОБНОВЛЕНИЕ
Я попытался перейти на использование dlopen
и явно указать абсолютный путь к библиотеке.Это по-прежнему работает в некоторых системах, а не в других.