现在的位置: 首页 > 综合 > 正文

vi无法使用:libperl.so或者libperl.so.1: cannot open shared object file

2012年11月30日 ⁄ 综合 ⁄ 共 885字 ⁄ 字号 评论关闭

更新了perl,使用vi,出错:vi: error while loading shared libraries: libperl.so.1: cannot open shared object file: No such file or directory

网上找了下,都是解决:vi: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory ,对,就是libperl.so和libperl.so.1区别。

解决的思路跟网上相似,不过有些不同,如下:

首先要执行的文件在那里,用which命令
#which vi

#/usr/bin/vi

然后使用ldd命令 确认这个程序执行需要哪些动态链接库

# ldd /usr/bin/vi

这个时候,你可以找到你的vi工具到底哪个地方出错,一般都是链接问题:比如我的
libperl.so.1 => not found

好吧,这个时候,你该解决问题了:

可以确定为缺少这个文件而不能运行.

# equery files perl|grep libper/usr/lib/libperl.so
/usr/lib/libperl.so.5.12
/usr/lib/libperl.so.5.12.2
/usr/lib/perl5/5.12.2/i686-linux/CORE/libperl.so
/usr/lib/perl5/5.12.2/i686-linux/CORE/libperl.so.5.12
/usr/lib/perl5/5.12.2/i686-linux/CORE/libperl.so.5.12.2

想想或许是我的perl更新才造成这样的,那么我只需要把libperl.so.1连接到以前版本的libperl.so即可

#ln -s /usr/lib/perl5/5.12.1/i686-linux/CORE/libperl.so /usr/lib/libperl.so.1
但是下面语句更好:
ln -s /usr/lib/libperl.so /usr/lib/libperl.so.1
 
 

抱歉!评论已关闭.