Ich habe ein Programm, das von der Bibliothek abhängt, die mit libboost 1.67 verknüpft ist und auf dem System installiert ist. Wenn ich es starte, habe ich einen Fehler, libboost_system.so.1.58
der nicht existiert. LD_PRELOAD
und LD_LIBRARY_PATH
sind unset.
lddtree
Die Ausführung zeigt diese Bibliothek nicht als Abhängigkeit an, ldd
tut dies aber .
Wie kann ich nachverfolgen, wo die Bibliothek benötigt wird?
env
in tcshWenn das Programm libboost_system manuell mit dlopen () lädt, können Sie möglicherweise mithilfe von ltrace herausfinden, wo es dies tut, um festzustellen , ob es dlopen () aufruft, und mit gdb einen Haltepunkt für Aufrufe von dlopen () festlegen und dann Generieren eines Stack-Backtraces. (Siehe auch Latrace .)
quelle