Chinaunix首页 | 论坛 | 博客
  • 博客访问: 289633
  • 博文数量: 66
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 455
  • 用 户 组: 普通用户
  • 注册时间: 2015-11-25 09:52
个人简介

no pains no gains

文章分类

全部博文(66)

文章存档

2017年(10)

2016年(39)

2015年(17)

我的朋友

分类: 系统运维

2017-01-12 09:48:48

安装了python2.7,第一次执行时报错:
error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

解决方法如下:
1.编辑      vi /etc/ld.so.conf 
如果是非root权限帐号登录,使用 sudo vi /etc/ld.so.conf 
添加上python2.7的lib库地址,如我的/usr/local/Python2.7/lib,保存文件

2.执行 /sbin/ldconfig -v命令,如果是非root权限帐号登录,使用 sudo  /sbin/ldconfig -v。这样 ldd 才能找到这个库,执行python2.7就不会报错了

/etc/ld.so.conf:
这个文件记录了编译时使用的动态链接库的路径。
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件
如果你安装了某些库,没有指定 --prefix=/usr 这样lib
库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib,就会报错了

ldconfig是个什么东东吧 :
它是一个程序,通常它位于/sbin下,是root用户使用的东东。具体作用及用法可以man ldconfig查到
简单的说,它的作用就是将/etc/ld.so.conf列出的路径下的库文件 缓存到/etc/ld.so.cache 以供使用
因此当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下/sbin/ldconfig
使所有的库文件都被缓存到ld.so.cache中,如果没做,即使库文件明明就在/usr/lib下的,也是不会被使用的,结果
编译过程中抱错,缺少xxx库。
阅读(2854) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~