加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

error while loading shared libraries: libperl.so: cannot ope

发布时间:2020-12-16 00:21:23 所属栏目:大数据 来源:网络整理
导读:vim: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory 当运行vi或者vim时,报告如下错误:// 本人在运行 as? 出错 ?? 从别处复制了一个 “缺少的库文件” 到/usr/lib 下就ok解决问题 vim: er

vim: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory
当运行vi或者vim时,报告如下错误://本人在运行 as? 出错?? 从别处复制了一个 “缺少的库文件” 到/usr/lib 下就ok解决问题
vim: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory
解决方案
出现类似错误是由于缺少相关的(*.so文件)造成的
可能的原因是版本不匹配或者没有安装相应的rpm文件
首先要执行的文件在那里,用which命令
[root@test /root]# which vi
alias vi='vim'
/usr/bin/vim
[root@test /root]#
即可看到vi命令在/usr/bin/vim路径
然后使用ldd命令确认这个程序执行需要哪些动态链接库
[root@test /root]# ldd /usr/bin/vim? // 本人的为 ldd /usr/bin/as
libncurses.so.5 => /usr/lib/libncurses.so.5 (0x40017000)
libacl.so.1 => /lib/libacl.so.1 (0x40058000)
libgpm.so.1 => /usr/lib/libgpm.so.1 (0x4005e000)
libperl.so => not found
libutil.so.1 => /lib/libutil.so.1 (0x40063000)
libm.so.6 => /lib/libm.so.6 (0x40066000)
libc.so.6 => /lib/libc.so.6 (0x40088000)
libdl.so.2 => /lib/libdl.so.2 (0x401ad000)
libpthread.so.0 => /lib/libpthread.so.0 (0x401b0000)
libattr.so.1 => /lib/libattr.so.1 (0x40201000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
上边输出的结果中,有一行是:
libperl.so => not found
可以确定为缺少这个文件而不能运行
通过文件名,大致可以判断这个文件属于perl的rpm包
使用rpm -ql perl | grep libperl.so
通常可以找到这个文件的位置
[root@test /root]# rpm -ql perl | grep libperl.so
/usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
[root@test /root]#
将这个文件做个link到系统的lib目录中即可
ln -s /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so /lib/libperl.so
然后在运行ldd /usr/bin/vi确认是否找到了so文件
如果找到的话就ok了
?

在CentOS下有时候用rpm安装软件是会出现下面则中错误

1、安装时提示:warning: *.rpm: Header V3 RSA/SHA256 Signature,keykey ID c105b9de: NOKEY

解决的方法就是在rpm 语句后面加上 --force --nodeps

即原本为 rpm -ivh *.rpm 现在改成 rpm -ivh *.rpm --force --nodeps就可以了。nodeps的意思是忽视依赖关系。因为各个软件之间会有多多少少的联系。有了这两个设置选项就忽略了这些依赖关系,强制安装或者卸载

2、尝试卸载: 造成这个问题的主要原因是套件被重複 (强制) 安装了两次以上. 尝试了--nodeps,--force,--justdb都不行。结果碰巧解决! 通过man rpm,发现--allmatches应该可以解决这个问题. [root@testserver openssl-0.9.8l]# rpm -e --allmatches --nodeps openssl*

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读