安装了一个 linux 程序,在程序 ./configure 的时候,出现很多依赖的库需要先安装,于是我在网上搜索,手动安装开始。Ps: 新力得里面可以搜到好多关于相应函数库的库,但是我不知道该安装哪一个,于是,手动从网上下载,安装。
安装好后,我安装自己要用到的软件,一路安装来,费了好大力气,总算安装好了。
但是当我运行我所需要的程序时,发现运行错误: error while loading shared libraries: xxx.so.x:cannot open shared object file: No such file or directory。这是提示有不可以链接到的动态库。因为我是手动安装的,所以我知道,这些库我一定安装好了。于是我 find 了一下,果然, xxx.so.x 存在于我到电脑上。那这 error 是为什么呢。
上网搜索:答案如下,
出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。一般而言,有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,果然发现自己所需要的.so文件。
所以,在/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置即可。注意,/sbin/ldconfig -v 要在root的权限下运行。
我的问题是,没有更新动态库链接路径:-)
参考地址:http://blog.youkuaiyun.com/dumeifang/article/details/2963223