- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于使用 Gentoo,更新程序后经常会链接到旧版本的库。通常,revdep-rebuild 有助于解决这个问题,但这次它是对 python 库的依赖,而 python-updater
不会选择它。
是否有 ldd
的“分层”变体,它向我显示哪个共享库依赖于另一个共享库?大多数时候,库和可执行文件仅与少数其他共享库链接,而这些共享库又与少数几个共享库链接,从而将库依赖关系变成了一个大列表。我想知道我必须使用我升级的另一个库的新版本来重建哪个依赖项。
最佳答案
我看到许多有趣的细节,但没有直接回答所提出的问题。
ldd
的“分层”版本是 lddtree
(来自 app-misc/pax-utils
):
$ lddtree /usr/bin/xmllint
xmllint => /usr/bin/xmllint (interpreter => /lib64/ld-linux-x86-64.so.2)
libreadline.so.6 => /lib64/libreadline.so.6
libncurses.so.5 => /lib64/libncurses.so.5
libdl.so.2 => /lib64/libdl.so.2
libxml2.so.2 => /usr/lib64/libxml2.so.2
libicui18n.so.49 => /usr/lib64/libicui18n.so.49
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/32/libstdc++.so.6
ld-linux.so.2 => /lib64/ld-linux.so.2
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/32/libgcc_s.so.1
libicuuc.so.49 => /usr/lib64/libicuuc.so.49
libicudata.so.49 => /usr/lib64/libicudata.so.49
libz.so.1 => /lib64/libz.so.1
liblzma.so.5 => /usr/lib64/liblzma.so.5
libm.so.6 => /lib64/libm.so.6
libpthread.so.0 => /lib64/libpthread.so.0
libc.so.6 => /lib64/libc.so.6
关于linux - 分层 ldd(1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1488527/
当路径不存在时运行 ldd 命令时,我得到的是“找不到文件”而不是路径。bash-3.2$ ldd curl libcurl.so.4 =>/usr/local/lib/libcurl.so.4 li
假设我有一个 A.so 文件,它的依赖项是从 ldd 中找到的 #ldd A [...] libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007faaf972
我在可执行文件上运行 truss 命令并得到以下输出: stat64("/net/xyzmachine/vol/tools/solx64/studio11/SUNWspro/lib/rw7/librt
我在使用库时遇到问题,尽管它的版本正确,但找不到它。 ldd /lib/libQt5Core.so linux-gate.so.1 (0xb77ac000) libpt
我正在尝试创建一个共享库 libddv3djava.so 我像这样编译 libddv3djava.so 的源代码: ~/Programming/intellijprojects/ddv3dbindin
我知道 ldd 只能将二进制作为其参数我在这里问的是如何使用二进制运行 ldd,比如 mybin,带有二进制参数。例如,mybin --myparam ./configfile.conf。 如果我为我
我不清楚为什么 ldd 在找不到依赖项时多次向我显示同一个共享库。在一个使用 boost 的小可执行文件中,输出是: libboost_chrono.so.1.49.0 => not found li
我在 Open MPI 创建的可执行文件上运行了 ldd 命令。它显示了对 libpthread.so 的引用使用 LD_PRELOAD 变量,我创建了自己的 pthread_create 实现,但从
假设我们有一个名为 utils.so 的共享库。它可能包含 undefined symbol 。还假设 ldd 报告该库依赖于其他一些库: $ ldd utils.so library1.so
我正在 Linux (Ubuntu 11) 下编译 2 个共享库(“A”、“B”) 库“B”正在使用库“A”的导出函数(与 -lA 静态链接) 但是当我在“B”上运行 ldd 时,我只有* linux
我正在尝试编译项目。它编译成功。我的make命令退出,状态代码为 0并且没有显示错误。 但是,该项目无法运行,当我运行 ldd -d 时它显示我有两个库未找到。 >ldd -d output_fil
为什么给ldd可执行文件名时没有出现动态加载的库?这是真的吗?因为我给的时候找不到。这可能是因为动态加载和动态链接。 请帮我解决这个问题,如果您需要任何进一步的详细信息,请告诉我。 输出如下。 ldd
如果问题很基础,请直截了当。 ldd 命令显示可执行文件上的依赖库是我所知道的。在可执行文件中,这些信息保存在哪里? 最佳答案 这存储在 ELF 的 .dynamic 部分中可执行。参见 ELF-64
我有一个二进制文件,其中 ldd 显示出意外的依赖关系和 libicuuc(来自“icu”)。 #ldd A [...] libxml2.so.2 => /usr/lib64/libxml2.so.2
我有一个使用一堆 .so 文件的二进制文件。 bash-3.00$ file foo foo: ELF 32-bit LSB executable, Intel 80386, version 1 (S
ldd如何知道这取决于 libc.so.6 ,不是 libc.so.5或 libc.so.7 ? libc.so.6 => /lib64/libc.so.6 (0x00000034f4000000)
Version information: ./VideoEncoderFilter.so: libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/l
我试图为 Linux 部署 Qt/QML 应用程序。发生了一些奇怪的事情,目标系统提示 libQt5Widget.so.5 中 undefined symbol ,而我已经复制了 ldd -r 结果中
如何从可执行文件的 ldd 输出中复制所有共享对象? 我正在寻找这样的东西,但这是用于 find 的,我需要 ldd: find -name "*python3.7*" -exec cp "{}" /
由于使用 Gentoo,更新程序后经常会链接到旧版本的库。通常,revdep-rebuild 有助于解决这个问题,但这次它是对 python 库的依赖,而 python-updater 不会选择它。
我是一名优秀的程序员,十分优秀!