我想從源代碼構建Python,並且需要包含SSL模塊以供我的網頁抓取工具使用。構建OpenSSL以編譯Python的可移植版本
我遇到了SSL未找到的問題,所以我從源代碼下載並構建了OpenSSL。問題是,爲了讓Python在運行make
時正確運行-lssl
參數,我需要安裝開發庫和OpenSSL。我似乎無法找到任何有關如何使用開發庫來構建OpenSSL的文檔,儘管我確信它只是簡單的我只是想念。
我必須從源代碼執行此操作;沒有包管理者。我有我的理由。
編輯: 我已經改變了一些的蟒蛇配置設置,試圖解決這個問題,這是編譯錯誤,現在我得到:
gcc -pthread -Xlinker -export-dynamic -o python \ Modules/python.o \ libpython2.7.a -lpthread -ldl -lutil -L/home/[username]/openssl-src -lssl -lcrypto -lm
libpython2.7.a(posixmodule.o)(.text+0x4016): In function posix_tmpnam':<br /> ./Modules/posixmodule.c:7346: warning: the use of
tmpnam_r」是危險的,更好地利用mkstemp' libpython2.7.a(posixmodule.o)(.text+0x3f76): In function
posix_tempnam「: ./Modules/posixmodule.c:7301:警告:使用tempnam' is dangerous, better use
mkstemp的」
./python:錯誤而載入共享庫:libssl.so.1.0.0:無法打開共享對象文件:沒有文件或目錄
make:* [sharedmods]錯誤127
正在拋出「no such file or directory」尋找存在於/home/[username]/openssl-src
目錄中的文件。
也許我誤解了`make`與`make install`的用法。我認爲所有`make install`都是建立在不同的位置(比如你指定的/ usr/bin)。在任何情況下,我都會在原始消息中發佈我現在得到的編譯錯誤。由於工作場所的網絡限制,我無法點擊您發佈的鏈接。 :( – Andy 2011-02-01 13:24:53
看起來您沒有權限將庫安裝到系統位置,因此在配置Python時必須提供OpenSSL的路徑。我不太清楚,但我認爲在運行Python的`configure`腳本之前,可以將環境變量CFLAGS設置爲「-L/home/user/openssl-src/lib」(或庫的任何目錄)。 – 2011-02-01 14:27:03