首页
社区
课程
招聘
[旧帖] [求助]Linux下执行程序无法加载库文件有方法解决吗? 0.00雪花
发表于: 2011-6-27 12:33 6712

[旧帖] [求助]Linux下执行程序无法加载库文件有方法解决吗? 0.00雪花

2011-6-27 12:33
6712
系统是CentOS的,是公司内部的一台测试服务器,运行一直正常,可那天下午突然就出问题了。运行一些指令时,就说找不到so文件。可用locate却又能找到so文件,且文件是正常的,用VIM都可以打开,看得到内容的。
ls都无法执行,网上也没能搜索到解决方法。后台执行yum update后,更新了很多文件就正常了。但今天才发现,有些指令还是有这个问题。比如执行 ps 时,就出错以下问题:

ps: error while loading shared libraries: libproc-3.2.7.so: cannot open shared object file: No such file or directory

我用ldd查询so文件,是这样的信息:
$ ldd /bin/ps
linux-gate.so.1 => (0xffffe000)
libproc-3.2.7.so => not found
libdl.so.2 => /lib/libdl.so.2 (0x00449000)
libc.so.6 => /lib/libc.so.6 (0x002ee000)
/lib/ld-linux.so.2 (0x002cf000)

说是“libproc-3.2.7.so”没找到。可我用locate又能找到:
$ locate libproc-3.2.7.so
/lib64/libproc-3.2.7.so

ldconfig查询也是能找到这个SO文件,用cat也能打印出这个文件的内容。
$ ldconfig -p|grep libproc-3.2.7.so
libproc-3.2.7.so (libc6,x86-64) => /lib64/libproc-3.2.7.so

这个如何是好哟。。。。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 959
活跃值: (66)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我的系统(CentOS 5.6 x86)测试数据:
ldd /bin/ps
显示 libproc-3.2.7.so => /lib/libproc-3.2.7.so (0x0031d000)
locate libproc-3.2.7.so
显示 /lib/libproc-3.2.7.so
ldconfig -p | grep libproc-3.2.7.so
显示 libproc-3.2.7.so(libc6) => /lib/libproc-3.2.7.so

不知道是否对lz有所帮助  updatedb一下  lz应该是x86系统吧 为什么会有/lib64/libproc-3.2.7.so
2011-6-27 20:01
0
雪    币: 142
活跃值: (278)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
谢谢,自己解决了。这台服务器安装的就是64位的系统。

解决方法是这样的:

查询是哪个包:
$ rpm -qa procps
procps-3.2.7-16.el5

强制重新安装:
yum reinstall procps

就这么简单就OK了。
2011-6-28 09:05
0
游客
登录 | 注册 方可回帖
返回
//