Tenho programa que depende de biblioteca que está vinculada a libboost 1.67, que instalou no sistema. Ao iniciar, tenho um erro que libboost_system.so.1.58
não existe. LD_PRELOAD
e LD_LIBRARY_PATH
não estão definidos.
lddtree
a execução não mostra esta biblioteca como dependência, mas ldd
sim.
Como posso rastrear de onde a biblioteca é necessária?
Se estiver em um sistema GNU, tente executar seu aplicativo com:
Veja
LD_DEBUG=help
mais opções ouman ld.so
.Se o programa estiver carregando libboost_system manualmente usando dlopen(), você poderá encontrar onde está fazendo isso usando ltrace para ver se está chamando dlopen() e talvez gdb para definir um ponto de interrupção em chamadas para dlopen() e, em seguida, gerando um backtrace de pilha. (Veja também latrace .)