OS : centos 7
pbzip2: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory
刚开始,以为此软件没有安装,于是yum install bzip2-libs
。安装之后,依然报错。后来使用find / -name libbz2.so
查找文件位置,发现都在/usr/lib64/目录下,然后在此目录中,
做一个软链接libbz2.so.1.0,指向已经有的libbz2.so.1.0.6
[root@username run]# cd /usr/lib64/
[root@username lib64]# ls -alhtr | grep libbz2.so.1
-rwxr-xr-x. 1 root root 67K Nov 20 2015 libbz2.so.1.0.6
lrwxrwxrwx. 1 root root 15 Aug 21 11:59 libbz2.so.1 -> libbz2.so.1.0.6
lrwxrwxrwx. 1 root root 11 Sep 8 12:17 libbz2.so -> libbz2.so.1
[root@username lib64]# ln -s libbz2.so.1.0.6 libbz2.so.1.0
[root@username lib64]# ls -alhtr | grep libbz2.so.1
-rwxr-xr-x. 1 root root 67K Nov 20 2015 libbz2.so.1.0.6
lrwxrwxrwx. 1 root root 15 Aug 21 11:59 libbz2.so.1 -> libbz2.so.1.0.6
lrwxrwxrwx. 1 root root 11 Sep 8 12:17 libbz2.so -> libbz2.so.1
lrwxrwxrwx. 1 root root 15 Nov 8 01:34 libbz2.so.1.0 -> libbz2.so.1.0.6
至此,解决!
另外,在使用上述办法解决之前,使用了另外一种办法,在我这里,没有解决此问题,这种办法,可能适用于其他情况.
出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。
一般而言,有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,果然发现自己所需要的.so文件。
所以,在/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置即可。
我将/ussr/lib64添加到/etc/ld.so.conf,没有产生效果。
参考
1 https://zhidao.baidu.com/question/1110369238916863579.html