我在Ubuntu 16.04上遇到pip install -r requirements.txt
问题。我收到此错误:
build/temp.linux-x86_64-2.7/_openssl.c:697:6: error: conflicting types for ‘BIO_new_mem_buf’
我正在查看一些论坛,一些Gentoo家伙发布了this link解决方案,但我不知道如何在我的计算机上运行它:
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
+@@ -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系统?
感谢。