错误:error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file
解决方法1:
编辑/etc/ld.so.conf文件,在新的一行中加入库文件所在目录;
运行ldconfig,以更新/etc/ld.so.cache文件;
例如:我的ld.so.cache配置文件如下:
include /etc/ld.so.conf.d/*.conf
我想要把/usr/local/lib目录下的库文件,则编辑如下:
ld.so.cache的更新是递增式的,就像PATH系统环境变量一样,不是从头重新建立,而是向上累加。
include /etc/ld.so.conf.d/*.confinclude /usr/local/lib
再执行sudo ldconfig.
解决方法2:
在/etc/ld.so.conf.d/目录下新建任何以.conf为后缀的文件,在该文件中加入库文件所在的目录;
运行ldconfig,以更新/etc/ld.so.cache文件;
本人觉得第二种办法更为方便,对于原系统的改动最小。因为/etc/ld.so.conf文件的内容是include /etc/ld.so.conf.d/*.conf
所以,在/etc/ld.so.conf.d/目录下加入的任何以.conf为后缀的文件都能被识别到。
除非重新开机,才是从零开始建立ld.so.cache文件。