在 Ubuntu 16.04 上为 python 2.7 安装加密 1.1 的问题

在 Ubuntu 16.04 上为 python 2.7 安装加密 1.1 的问题

有人在 Ubuntu 16.04 上为 Python 2.7 安装加密 1.1 时遇到了同样的问题吗?

reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files matching '*' found under directory 'vectors'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
running build_ext
generating cffi module 'build/temp.linux-x86_64-2.7/_padding.c'
creating build/temp.linux-x86_64-2.7
generating cffi module 'build/temp.linux-x86_64-2.7/_constant_time.c'
generating cffi module 'build/temp.linux-x86_64-2.7/_openssl.c'
building '_openssl' extension
creating build/temp.linux-x86_64-2.7/build
creating build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_openssl.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_openssl.o
build/temp.linux-x86_64-2.7/_openssl.c:695:6: error: conflicting types for ‘BIO_new_mem_buf’
 BIO *BIO_new_mem_buf(void *, int);
      ^
In file included from /usr/include/openssl/asn1.h:65:0,
                 from build/temp.linux-x86_64-2.7/_openssl.c:411:
/usr/include/openssl/bio.h:692:6: note: previous declaration of ‘BIO_new_mem_buf’ was here
 BIO *BIO_new_mem_buf(const void *buf, int len);
      ^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

我安装了所有必需的密码学文档

sudo apt-get install build-essential libssl-dev libffi-dev python-dev

但我仍然遇到同样的问题。对于最新的加密版本 (1.4) 和 Ubuntu 14.04,问题没有出现。但我需要使用版本 1.1 和 Ubuntu 16.04。

那么有人知道原因是什么吗?有什么建议吗?

@gertvdijk 我检查了你的建议,使用 cryptography==1.1.2 而不是 1.1,但结果相同。

我的问题是:有人遇到和我一样的问题吗?我可以在 Ubuntu 16.04 和 Python 2.7 中使用旧版本的 cryptography==1.1 吗?

相关内容