Linux下源码编译安装软件记-动态链接库更新问题
作者:CleverDeng
版权声明:本博客发表的文章均为作者原创。转载时必须以链接形式注明作者和原始出处
原文地址:http://blog.mrdtime.com/928-Linux下源码编译安装软件记-动态链接库更新问题.aspx
最近使用了Redhat操作系统,由于没有Ubuntu系统的apt-get快捷安装神器,因此在安装一些软件方面破费功夫,尝试过在这系统上面安装apt-get,但涉及到依赖包的问题,于是打消了这念头,后来索性全部替换源码编译安装需要使用的工具(因此没有考虑使用yum),主要为了统一安装路径,方便整个开发环境移植,以后在新的环境里,可以将集成的开发环境直接Copy至新的环境。对2位数量的软件包进行源码编译安装果然不是轻松活,安装过程遇到一些典型的问题,留点解决线索。
问题:动态链接库更新后的问题
在Linux系统下,系统启动运行将会执行ldconfig建立动态装入程序(ld.so)所需的连接和缓存文件列表,由于安装软件包,时常需要添加新的动态链接库至系统,从而导致这个列表没有及时更新,因此时常发生安装成功,诡异的运行时错误。然,由于ldconfig默认只搜索"/lib"和"/usr/lib"目录,这时候,如果软件包的安装目录不在上述这2个目录,需要修改"/etc/ld.so.conf",将您的安装目录添加在至此。然后运行ldconfig -p查看。我在安装Python扩展包(gevent-->livevent*.so和MySQLdb-->libmysql.*.so)时遇到安装成功,使用时"import gevent" 出现"ImportError:****.so cannot open shared object file no such file or directory"。
问题:动态链接库更新后的问题
在Linux系统下,系统启动运行将会执行ldconfig建立动态装入程序(ld.so)所需的连接和缓存文件列表,由于安装软件包,时常需要添加新的动态链接库至系统,从而导致这个列表没有及时更新,因此时常发生安装成功,诡异的运行时错误。然,由于ldconfig默认只搜索"/lib"和"/usr/lib"目录,这时候,如果软件包的安装目录不在上述这2个目录,需要修改"/etc/ld.so.conf",将您的安装目录添加在至此。然后运行ldconfig -p查看。我在安装Python扩展包(gevent-->livevent*.so和MySQLdb-->libmysql.*.so)时遇到安装成功,使用时"import gevent" 出现"ImportError:****.so cannot open shared object file no such file or directory"。
推荐(
反对(