error while loading shared libraries: xxx.so.x 错误原因和解决办法

ldconfig命令的用途:默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件,缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。

如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它非/lib或/usr/lib目录下, 先把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 然后执行ldconfig命令:

# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig

如果不想更改共享库配置文件/etc/ld.so.conf,也可以export一个全局变量LD_LIBRARY_PATH,运行程序的时候就会去这个目录中找共享库。比如安装mysql到/usr/local/mysql目录下,则可以在.bashrc或.bash_profile或shell里加入:
export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH。

猜你喜欢

转载自blog.csdn.net/LuyaoYing001/article/details/80010498
今日推荐