问题标签 [ldd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 分层 ldd(1)
由于使用 Gentoo,经常会发生更新程序与旧版本库链接后的情况。通常, revdep-rebuild 有助于解决这个问题,但这次它依赖于 python 库,并且python-updater
不会选择它。
是否有一个“分层”变体ldd
向我展示了哪个共享库依赖于另一个共享库?大多数情况下,库和可执行文件仅与少数几个其他共享库链接,而这些共享库又与少数几个共享库链接,从而将库依赖关系变成一个大列表。我想知道我必须用我升级的另一个库的新版本重建哪个依赖项。
linux - linux/gcc:来自 C/C++ 程序内部的 ldd 功能
是否有一种简单有效的方法可以知道给定的动态链接ELF
缺少运行所需的 .so 文件,所有这些都来自C/C++ 程序的内部?
我需要一个功能与 类似的程序ldd
,而无需尝试执行ELF
以找出系统中的(满足/未满足)依赖关系。也许通过某个库询问 ld-linux.so 实用程序?(我是这部分linux的新手=)
注意:阅读源代码
ldd
对我的意图没有多大帮助:似乎ldd
实际上是在分叉另一个进程并执行程序。
如果在不执行程序的情况下无法知道程序具有未满足的依赖关系,是否有某种方法可以至少ELF
从我的程序中快速列出所有这些所需的 .so 文件?
提前感谢=)
windows - Windows 上 Linux 的 ldd 等价物是什么?
Windows 上的 Linux 相当于什么ldd
?
linux - ldd 在 x86 Linux 上显示不同的地址
我ldd
用来展示 Fedora/x86 上的动态库,每次使用它都会显示不同的结果。
这是预期的吗?或者有解释吗?
我记得它在 PPC/Linux 上显示了一个固定的结果。
linux - ldd 输出显示未调用其函数的共享对象文件
我在 Open MPI 创建的可执行文件上运行了 ldd 命令。它显示了对 libpthread.so 的引用 使用 LD_PRELOAD 变量我创建了自己的 pthread_create 实现,但从它的输出看来,MPI 实现没有像我预期的那样调用 pthread_create。如果 ldd 没有被使用,为什么会在输出中显示 pthread so 文件?Open MPI 不会为每个节点使用单独的 MPI 线程来实现功能吗?
linux - 了解 ldd 的输出
我很难理解 ldd 的输出——尤其是处理器标识符。有问题的字符串是这个:
我有几个问题:
- “精灵”是什么意思?我知道这就是 Linux 二进制文件的名称(Windows 二进制文件称为 PE 二进制文件、“可移植的可执行文件”二进制文件),但 ELF 不是某种东西的缩写吗?
- LSB 是什么意思?我也猜不出来...
- 我在那里看到字符串“Intel”,现在我非常想知道 Linux 二进制文件的可移植性,因为 ldd 似乎希望每个二进制文件都在英特尔处理器上编译......但是如果它不是在英特尔处理器上编译的呢?或者当我尝试在没有在英特尔处理器上运行的计算机上运行二进制文件时?
- 为何 ']'?我的猜测是它应该是某种链接器标识,但 ']' 看起来不太像标识符......
提前致谢
linux - 跟踪链接库
我遇到了一些错误,这让我认为我的 Linux 程序没有链接到它应该链接的库。如何获得所有链接库的完整路径?我知道ldd
会给我名字,但我怎样才能用它来获得完整的路径?
谢谢。
linux - 确定哪些可执行文件链接到 Linux 上的特定共享库
如何列出我的 Red Hat Linux 系统上链接到 libssl 的所有可执行文件?我可以接近:
ldd 向我显示可执行文件链接到哪些库,但包含库名称的行不显示文件名,所以虽然我得到了很多与 grep 匹配的内容,但我不知道如何退出发生匹配的可执行文件。任何帮助将不胜感激。
c++ - 为什么共享库是通过绝对路径链接的?
我通过链接 libociei.so 和 libcustome.so 创建了一个应用程序
CC -o main main.cpp ../lib/libociei.so ../lib/libcustome.so
并将 libociei.so libcustome.so 复制到 /usr/lib
然后我使用 ldd 检查库,它显示:
为什么 libociei.so 没有重新定位到 /usr/lib/libociei.so ?
ps : ld 库路径是 /lib:/usr/lib 我没有将 ../lib 添加到 ld 库路径
linux - 了解有关可执行文件的共享库的更多信息
有没有办法知道从可执行文件中使用了哪些共享库?
以 DivFix++ 为例: