centos6 - libm.so.6 : cannot open shared object file: No such file or directory

标签 centos6 glibc shared ldd

我在 Centos 6.8 中安装了一个程序,运行该程序时,我收到错误 “加载共享库时出错:libm.so.6:无法打开共享对象文件:没有这样的文件或目录” 当我使用 ldd 命令检查程序的链接库时,我可以看到 libm.so.6 具有正确的 64 位 “libm.so.6 =>/lib64/libm.so.6(0x0000003a19000000)” 这意味着库已安装并已添加到环境变量 LD_LIBRARY_PATH 中 另一个使用 libm.so.6 的程序运行良好。 任何人都可以帮助解决这个问题吗? 谢谢

最佳答案

在编程中,细节很重要。

Lets say, The program which I am trying to run is ABC and install

这不是细节,这是一个假设。如果您想要有用答案,您应该提供实际您被要求提供的详细信息。特别是,编辑您的问题(而不是评论不同的无用答案),然后执行以下操作:“显示您实际运行的 ldd 命令及其实际输出。”

也就是说,如果ldd/usr/local/ABC/bin/ABC确实显示libm.so.6 =>/lib64/libm.so.6 ,那么 ABC 就无法找到 libm.so.6

因此我们必须得出结论,ABC 调用了某个其他程序,并且程序无法找到libm.so.6。您可以通过运行来确认这个猜测:

LD_DEBUG=files,libs /usr/local/ABC/bin/ABC

这将显示 ABC 确实找到了 libm.so.6,它调用了哪些其他程序,以及其他程序在哪里查找 libm.so。 6 .

其他程序可能是 32 位的,并且正在查找 /lib/libm.so.6,并且您没有安装 32 位运行时库。

您可以使用yum install glibc.i686或类似的命令来安装它们。

关于centos6 - libm.so.6 : cannot open shared object file: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39904192/

相关文章:

java - PhantomJs 2.1.1 无法在带有 Selenium 3.4 的 CentOs 6.5 上运行

PHP GD 库已安装但无法在 CentOS 6.4 上运行

centos - yum 安装管理器在 centos 6.6 中不起作用

c++ - undefined symbol GCC/C++ 可动态加载 *.so 对象

c++ - 在共享库中使用 fastcall 安全吗?

php - 包需要 : libcurl. so.3

pytorch - 未找到版本 `GLIBC_2.28'

c++ - 为什么 malloc_trim() 只适用于主场?

linux - 编译 curl 库时出错

共享环境下的 MYSQL AutoCommit