CentOS下編譯64位的libpython2.6.so.1.0庫

來源:互聯網
上載者:User

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”的輸出。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.