2016-05-14 95 views
-1

我在運行Ubuntu 16.04上的pip install -r requirements.txt時遇到問題。我得到這個錯誤:如何將OpenSSL補丁應用到Ubuntu系統?

build/temp.linux-x86_64-2.7/_openssl.c:697:6: error: conflicting types for ‘BIO_new_mem_buf’ 

我檢查了一些論壇和貼this link與解決方案的一些Gentoo的球員,但我不知道如何在我的計算機上運行它:

diff --git a/dev-python/cryptography/cryptography-1.2.2.ebuild b/dev-python/cryptography/cryptography-1.2.2.ebuild 
index ae9dbd1..af7e5a1 100644 
--- a/dev-python/cryptography/cryptography-1.2.2.ebuild 
+++ b/dev-python/cryptography/cryptography-1.2.2.ebuild 
@@ -43,6 +43,8 @@ DEPEND="${RDEPEND} 

DOCS=(AUTHORS.rst CONTRIBUTING.rst README.rst) 

+PATCHES=("${FILESDIR}/${PN}-1.2.2-openssl-1.0.2g-mem_buf.patch") 
+ 
python_test() { 
    py.test -v -v -x || die "Tests fail with ${EPYTHON}" 
} 
diff --git a/dev-python/cryptography/files/cryptography-1.2.2-openssl-1.0.2g-mem_buf.patch b/dev-python/cryptography/files/cryptography-1.2.2-openssl-1.0.2g-mem_buf.patch 
new file mode 100644 
index 0000000..64d270b 
--- /dev/null 
+++ b/dev-python/cryptography/files/cryptography-1.2.2-openssl-1.0.2g-mem_buf.patch 
@@ -0,0 +1,12 @@ 
+diff -ru cryptography-1.2.2/src/_cffi_src/openssl/bio.py cryptography-1.2.2-fixed/src/_cffi_src/openssl/bio.py 
+--- cryptography-1.2.2/src/_cffi_src/openssl/bio.py 2016-01-29 20:26:11.000000000 +0100 
++++ cryptography-1.2.2-fixed/src/_cffi_src/openssl/bio.py 2016-03-01 20:32:25.172776288 +0100 
[email protected]@ -99,7 +99,7 @@ 
+ BIO *BIO_next(BIO *); 
+ BIO *BIO_find_type(BIO *, int); 
+ BIO_METHOD *BIO_s_mem(void); 
+-BIO *BIO_new_mem_buf(void *, int); 
++BIO *BIO_new_mem_buf(const void *, int); 
+ BIO_METHOD *BIO_s_file(void); 
+ BIO *BIO_new_file(const char *, const char *); 
+ BIO *BIO_new_fp(FILE *, int); 

如何手動將OpenSSL補丁應用於Ubuntu系統?

謝謝。

+0

這個腳本有字面上僅在該補丁一行。你知道如何使用文本編輯器嗎? –

+0

是的,但我不知道我想用這條線做什麼 –

回答

0

要運行在評論我創建了一個補丁文件patch foo.c < patch.diff

你可以得到更多的細節here