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