ldd是否显示所有递归依赖
Does ldd show all recursive dependencies
假设我有一个 A.so 文件,其依赖项是从 ldd
中找到的
#ldd A
[...]
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007faaf9722000)
libxyz.so.49 => /usr/lib64/libxyz.so.49 (0x00007faaf5689000)
这是否意味着 libxml2.so.2 和 libxyz.so.49 的存在让我可以使用 A.so。如果 libxyz.so.49 内部依赖于某些 libabc.so.2 会怎么样。
我想澄清的是,当从 ldd 中发现 A.so 的依赖项时,libabc.so.2 是否会被列出,还是不会反映出来?如果没有,那么我如何找到所有相互依赖关系?是否可以在链中缺少相互依赖性并调用它并且没有相同的结果进入 core/crash?
根据 this answer ldd 向 运行 应用程序显示给定二进制文件所需的所有动态库。这包括您要求的传递依赖项。
假设我有一个 A.so 文件,其依赖项是从 ldd
中找到的#ldd A
[...]
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007faaf9722000)
libxyz.so.49 => /usr/lib64/libxyz.so.49 (0x00007faaf5689000)
这是否意味着 libxml2.so.2 和 libxyz.so.49 的存在让我可以使用 A.so。如果 libxyz.so.49 内部依赖于某些 libabc.so.2 会怎么样。
我想澄清的是,当从 ldd 中发现 A.so 的依赖项时,libabc.so.2 是否会被列出,还是不会反映出来?如果没有,那么我如何找到所有相互依赖关系?是否可以在链中缺少相互依赖性并调用它并且没有相同的结果进入 core/crash?
根据 this answer ldd 向 运行 应用程序显示给定二进制文件所需的所有动态库。这包括您要求的传递依赖项。