pbzip2: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file

时间:2021-08-13 13:28:36

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