2014-05-15 64 views
2

我試圖在Windows 7 Cygwin上安裝pycurl。我已經使用easy_install在該環境中運行,但命令無法在cygwin上安裝pycurl:缺少openssl符號CRYPTO_num_locks等

easy_install pycurl

給出一堆未定義的符號錯誤:

/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:688: undefined reference to `CRYPTO_set_id_callback' 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:688:(.text+0x70f): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `CRYPTO_set_id_callback' 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:689: undefined reference to `CRYPTO_set_locking_callback' 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:689:(.text+0x716): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `CRYPTO_set_locking_callback' 
build/temp.cygwin-1.7.29-x86_64-2.7/src/pycurl.o: In function `pycurl_ssl_init': 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:671: undefined reference to `CRYPTO_num_locks' 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:671:(.text+0xaf7c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `CRYPTO_num_locks' 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:679: undefined reference to `CRYPTO_set_id_callback' 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:679:(.text+0xafd3): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `CRYPTO_set_id_callback' 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:680: undefined reference to `CRYPTO_set_locking_callback' 
/tmp/easy_install-A69Atd/pycurl-7.19.3.1/src/pycurl.c:680:(.text+0xafdf): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `CRYPTO_set_locking_callback' 

任何想法解決類似的問題?

回答

1

setup.py中缺少庫-lcrypto

class ExtensionConfiguration(object): 
    def __init__(self): 
     self.include_dirs = [] 
     self.define_macros = [("PYCURL_VERSION", '"%s"' % VERSION)] 
     self.library_dirs = [] 
     self.libraries = [] 

改變self.libraries包括crypto

self.libraries = ["crypto"]