libm.so.6:无法打开共享库文件:没有这样的文件或目录 [英] libm.so.6: cannot open shared object file: No such file or directory

查看:1647
本文介绍了libm.so.6:无法打开共享库文件:没有这样的文件或目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've install a program in Centos 6.8, While running the program, I receive error "error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory" when I checked the linked library to the program using ldd command, I can see libm.so.6 with correct 64bit "libm.so.6 => /lib64/libm.so.6 (0x0000003a19000000)" That means, library is installed and already added in environment variable, LD_LIBRARY_PATH Another program, which uses libm.so.6, works fine. Can anyone help to solve this problem ? Thanks

推荐答案

在编程中,细节很重要.

让我们说,我要运行的程序是ABC并安装

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

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

This is not details, this is a hypothetical. If you want useful answers, you should supply actual details that you are asked for. In particular, edit your question (instead of commenting on a different useless answer), and do this: "show the ldd command you actually ran, and its actual output."

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

That said, if ldd /usr/local/ABC/bin/ABC really does show libm.so.6 => /lib64/libm.so.6, then there is no way for ABC to not find libm.so.6.

因此,我们必须得出结论,ABC会调用某些 other 程序,而那个程序无法找到libm.so.6.您可以通过运行以下命令来确认这一猜测:

Therefore we must conclude that ABC invokes some other program, and that program fails to find libm.so.6. You can confirm this guess by running:

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

这将表明ABC确实找到了libm.so.6,它调用了什么其他程序以及该其他程序在哪里查找libm.so.6.

This will show that ABC does find libm.so.6, what other program it invokes, and where that other program looks for libm.so.6.

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

It is likely that the other program is 32-bit, and looks for /lib/libm.so.6, and that you don't have 32-bit runtime libraries installed.

您可以使用yum install glibc.i686或类似的软件来安装它们.

You can install them with yum install glibc.i686 or some such.

这篇关于libm.so.6:无法打开共享库文件:没有这样的文件或目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆