浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CentOS下编译64位的libpython2.6.so.1.0库 - Cody的专栏 - 博客频道 - CSDN.NET


CentOS下编译64位的libpython2.6.so.1.0库


204人阅读
评论(1)
收藏
举报

 

python下默认的python版本是2.4。如果你不幸用yum installpython26来安装了python2.6,虽然安装的时候不会有问题,但这时是不会有libpython2.6.so.1.0这个库的,即使安装了python-libs也没有用,这对于很多需要动态加载libpython的程序都是不行的。所以需要通过源码来安装。

 

1. 下载python源码。比如2.6.5或2.6.6。

2. 解压后configure:

./configure--prefix=/usr/local/python2.6 --with-threads --enable-shared--enable-universalsdk

 

--prefix选项表示把目标编译到/usr/local/python2.6这个目录中。

注意:

a. 如果只用./configure命令,那默认会编译出静态的.a以及32位的动态库。

b. 最后一个选项非常重要。如果这个选项不加,那只会编译出32位的库。

 

3. make &&make install

 

这时执行python,很有可能会报一个错:

libpython2.6.so.1.0:

cannotopen shared object file: No such file or directory

 

这是因为编译的libpython2.6.so.1.0是在/usr/local/python2.6/lib里面,可以做一个到/usr/lib64的软链接,或者直接把它复制过去就行了。

 

或者也可以这样:

echo‘/usr/local/python2.6/lib’ > /etc/ld.so.conf.d/opt-python2.6.conf

接着执行

ldconfig

 

最后可以通过以下命令验证是否存在64位的libpython:

ldconfig–p | grep python

 

看有没有类似“libpython2.6.so.1.0(libc6,x86-64) => /usr/local/python2.6/lib/libpython2.6.so.1.0”的输出。

posted on 2012-02-26 15:18  lexus  阅读(2880)  评论(0编辑  收藏  举报