Ubuntu ARM ldd 找不到库

Ubuntu ARM ldd 找不到库

我有一个程序在 Ubuntu ARM (12.04) 上编译得很好,但由于链接错误而无法运行。例如,找不到 libX11.so.6,但它显然在

/usr/lib/arm-linux-gnueabihf

ldconfig -v shows it as well

奇怪的是,当我将 LD_LIBRARY_PATH=/usr/lib/arm-gnueabihf/ 传递给 ldd(在共享库之后)时,我收到消息

ldd: LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf/: No such file or directory

虽然目录显然存在。可能出了什么问题?我运行了 sudo ldconfig。

答案1

你可能混合了生物素酶。由于 ARM CPU 种类繁多,目前有几种常用的 ARM 处理器 ABI。请检查您是否拥有格努埃阿比赫夫二进制文件,而不是 gnueabi 二进制文件。您可以在同一系统上安装这两种二进制文件,但不能在单个可执行文件中链接这两种库。这就像 x86 系统上的 32 位和 64 位可执行文件一样。

使用LD_LIBRARY_PATH,在命令持续时间内将变量添加到环境中的正确命令ldd

LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf/ ldd /path/to/binary

您写了ldd LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf/ /path/to/binary什么告诉ldd对名为 的文件执行操作LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf/

相关内容