【问题标题】:libm.so.6: cannot open shared object file: No such file or directorylibm.so.6:无法打开共享对象文件:没有这样的文件或目录
【发布时间】:2016-10-06 19:29:10
【问题描述】:

我在 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 的程序运行良好。 任何人都可以帮助解决这个问题吗? 谢谢

【问题讨论】:

  • 请显示您实际运行的ldd 命令及其输出。

标签: centos6 glibc shared ldd


【解决方案1】:

在编程中,细节很重要。

可以说,我要运行的程序是 ABC 并安装

这不是细节,这是一个假设。如果你想要有用的答案,你应该提供你被要求的实际详细信息。特别是,编辑您的问题(而不是评论不同的无用答案),然后执行以下操作:“显示您实际运行的 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 或类似的方式安装它们。

【讨论】:

    猜你喜欢
    • 2020-10-19
    • 2018-04-17
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 2012-07-13
    • 1970-01-01
    相关资源
    最近更新 更多