Linux中error while loading shared libraries错误解决办法
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通常通过源码包进行安装时,如果不指定--prefix,会将库安装在/usr/local/lib目录下;当运行程序需要链接动态库时,提示找不到相关的.so库,会报错。也就是说,/usr/local/lib目录不在系统默认的库搜索目录中,需要将目录加进去。
1、首先打开/etc/ld.so.conf文件
2、加入动态库文件所在的目录:执行vi /etc/ld.so.conf,在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"。
3、保存后,在命令行终端执行:/sbin/ldconfig -v;其作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使用,因此当安装完一些库文件,或者修改/etc/ld.so.conf增加了库的新搜索路径,需要运行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld.so.cache中,如果没做,可能会找不到刚安装的库。
经过以上三个步骤,"error while loading shared libraries"的问题通常情况下就可以解决了。
如果运行应用程序时,还是提示以上错误,那就得确认一下是不是当前用户在库目录下是不是没有可读的权限。像我遇到的问题就是,从别的机子拷贝了一些.so动态库,然后用root权限放到了/usr/local/lib中(普通用户没有对该目录的写权限),然后切换用户运行程序时,始终提示找不到.so库,一直以为是我配置有问题,结果是因为权限原因,那些我用root权限增加到/usr/local/lib中的.so文件对于普通用户而言,是没有访问权限的,所以以普通用户运行程序,当需要链接.so库时,在/usr/local/lib中是查找不到的。
其实,对于由普通用户自己编译生成的.so库文件,比较好的做法是将这些.so库文件的路径用export指令加入到~/.bash_profile中的LD_LIBRARY_PATH变量中,LD_LIBRARY_PATH是程序运行需要链接.so库时会去查找的一个目录,~/.bash_profile是登陆或打开shell时会读取的文件,这样,每次用户登录时,都会把这些.so库文件的路径写入LD_LIBRARY_PATH,这样就可以正常地使用这些.so库文件了。export LD_LIBRARY_PATH=/usr/local/lib 这样可以在当前shell中加入这个路径
Linux中error while loading shared libraries错误解决办法相关推荐
- rac安装过程中 error while loading shared libraries libpthread.so.0 问题的解决
rac安装过程中 error while loading shared libraries libpthread.so.0 问题的解决 2010-08-28 23:10 在CentOS 5上安装Ora ...
- [linux数据库]error while loading shared libraries: libnsl.so.1: wrong ELF class: ELFCLASS32
解决error while loading shared libraries: libnsl.so.1: wrong ELF class: ELFCLASS32 数据库位数不匹配问题 问题 解决方案 ...
- Linux:error while loading shared libraries: /usr/lib/xx.so.xx: file too short
今天将linux上交叉编译的jrtplib和jthread库拷贝到ARM开发板的/usr/lib目录,结果运行测试程序的时候报错,如博文标题所示. 交叉编译明明没有问题,为什么会这样呢,百思不得其解. ...
- 【linux排错】error while loading shared libraries: xxx.so.x 错误的原因和解决办法
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: lcw: error while loading shared libraries: libjson.so.0: c ...
- linux下设定动态库路径的命令-error while loading shared libraries: xxx.so.x错误的原因和解决办法
网站:http://blog.chinaunix.net/uid-26212859-id-3256667.html 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: ...
- error while loading shared libraries: xxx.so.x错误的原因和解决办法
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.s ...
- error while loading shared libraries: xxx.so.x 错误的原因和解决办法
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.s ...
- 【转】error while loading shared libraries: xxx.so.x 错误的原因和解决办法
原博客地址:http://www.cnblogs.com/Anker/p/3209876.html#undefined error while loading shared libraries: xx ...
- error while loading shared libraries: xxx.so.x错误
2019独角兽企业重金招聘Python工程师标准>>> 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loa ...
最新文章
- MySQL行(记录)的详细操作
- Atitit.数据操作dsl 的设计 ---linq 方案
- 《剑指offer》数值的整数次方
- 力扣53. 最大子序和
- PHP composer作用,php-composer作用分析
- ios、android、h5、小程序等安卓苹果平台终端兼容问题
- JavaList集合根据ParentId递归【无限套娃】
- 计算机专业面试银行的自我介绍,银行面试自我介绍1分钟
- 【SCIR笔记】ACL2020表格预训练工作速览
- Coursera-MachineLearning-Week2编程题目整理
- 大神级DIY作品:运动跟随大眼睛,软件硬件结构一个都不能少
- 2021铜鼓中学高考成绩查询,江西省宜春市铜鼓中学2020-2021学年高一下学期第一次月考数学(文实验班)试题含答案.doc...
- 蓝桥杯单片机CT107D_14_温度传感器DS18B20的基本应用
- 《蹭课神器》项目总结
- 【pyqt5学习】——对话框QDialog学习(QMessageBox、QColorDialog、QFIleDialog、QFontDialog、QInputDialog)
- 《上海市工业互联网创新发展专项支持实施细则》政策解读
- 如何实现企业全链路协同,实现企业业绩增长
- 171019 逆向-Reversing.kr(MetroApp)
- 智慧物业综合解决方案
- [翻译] 在 Overleaf 中找不到 PDF 浏览器