-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系統?
謝謝。
這個腳本有字面上僅在該補丁一行。你知道如何使用文本編輯器嗎? –
是的,但我不知道我想用這條線做什麼 –