У меня есть программа, которая зависит от библиотеки, которая связана с libboost 1.67, который установлен в системе. Когда я запускаю его, у меня возникает ошибка, libboost_system.so.1.58
которой не существует. LD_PRELOAD
и LD_LIBRARY_PATH
не установлены.
lddtree
выполнение не показывает эту библиотеку как зависимость, но ldd
делает.
Как я могу проследить, откуда требуется библиотека?
env
в tcshЕсли программа загружает libboost_system вручную с помощью dlopen (), вы можете найти, где она это делает, с помощью ltrace, чтобы увидеть, вызывает ли она dlopen (), и, возможно, gdb, чтобы установить точку останова на вызовах dlopen (), а затем генерирование стека трассировки. (Смотрите также латрас .)
источник