Se estiver em um sistema GNU, tente executar seu aplicativo com:
LD_DEBUG=libs your-application
Veja LD_DEBUG=help
para mais opções ou man ld.so
.
Eu tenho um programa que depende da biblioteca que está vinculada ao libboost 1.67, que está instalado no sistema. Quando eu inicio, tenho um erro que libboost_system.so.1.58
não existe. LD_PRELOAD
e LD_LIBRARY_PATH
não estão definidos.
lddtree
execução não mostra esta biblioteca como dependência, mas ldd
faz.
Como posso rastrear de onde a biblioteca é necessária?
Se o programa estiver carregando o libboost_system manualmente usando dlopen (), você poderá descobrir onde ele está fazendo isso usando ltrace para veja se ele está chamando dlopen () e talvez gdb para definir um ponto de interrupção em chamadas para dlopen () e, em seguida, gerar um backtrace de pilha. (Veja também latrace .)
Tags libraries