跟踪共享库中符号的来源
tracking origin of symbols in shared libraries
我有一个共享库(更具体地说是一个本地 python 模块),它引用了其他库中的一些符号。 ldd -r
显示哪些库符号无法在系统上动态解析。示例:
# ldd -r /usr/lib/python3.4/site-packages/_selinux.cpython-34m.so
…
undefined symbol: selabel_digest (/usr/lib/python3.4/site-packages/_selinux.cpython-34m.so)
现在我有一个类似的系统,其中的链接似乎可以正常工作,ldd 不会报告任何未解析的符号。
我如何跟踪某些符号在该系统上的解析方式和来源(共享库的文件名)?我希望这可以帮助我在第一个系统上获得正确的链接。
How can I track how and from which sources (filename of the shared library) certain symbols are resolved on that system?
在"working"系统上,运行
LD_DEBUG=symbols,bindings ldd -r _selinux.cpython-34m.so |&
grep selabel_digest
我有一个共享库(更具体地说是一个本地 python 模块),它引用了其他库中的一些符号。 ldd -r
显示哪些库符号无法在系统上动态解析。示例:
# ldd -r /usr/lib/python3.4/site-packages/_selinux.cpython-34m.so
…
undefined symbol: selabel_digest (/usr/lib/python3.4/site-packages/_selinux.cpython-34m.so)
现在我有一个类似的系统,其中的链接似乎可以正常工作,ldd 不会报告任何未解析的符号。
我如何跟踪某些符号在该系统上的解析方式和来源(共享库的文件名)?我希望这可以帮助我在第一个系统上获得正确的链接。
How can I track how and from which sources (filename of the shared library) certain symbols are resolved on that system?
在"working"系统上,运行
LD_DEBUG=symbols,bindings ldd -r _selinux.cpython-34m.so |&
grep selabel_digest