gpt4 book ai didi

Python 3.4.3 无法构建这些模块 : _hashlib _ssl

转载 作者:搜寻专家 更新时间:2023-10-31 02:13:26 25 4
gpt4 key购买 nike

尝试使用 gcc (Debian 6.2.1-7) 6.2.1 20161215 编译 Python 3.4.3 时出现以下错误:

Failed to build these modules:
_hashlib _ssl

再次运行 make 时,我得到了更多信息输出:

$ make
running build
running build_ext
INFO: Can't locate Tcl/Tk libs and/or headers
building '_ssl' extension
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/jj/src/Python-3.4.3/Include -I/home/jj/src/Python-3.4.3 -c /home/jj/src/Python-3.4.3/Modules/_ssl.c -o build/temp.linux-x86_64-3.4/home/jj/src/Python-3.4.3/Modules/_ssl.o
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘_create_tuple_for_X509_NAME’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:694:35: error: dereferencing pointer to incomplete type ‘X509_NAME_ENTRY {aka struct X509_name_entry_st}’
if (rdn_level != entry->set) {
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘_get_peer_alt_names’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:814:16: error: dereferencing pointer to incomplete type ‘X509_EXTENSION {aka struct X509_extension_st}’
p = ext->value->data;
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:886:17: warning: ‘ASN1_STRING_data’ is deprecated [-Wdeprecated-declarations]
v = PyUnicode_FromStringAndSize((char *)ASN1_STRING_data(as),
^
In file included from /usr/include/openssl/bn.h:31:0,
from /usr/include/openssl/asn1.h:24,
from /usr/include/openssl/rsa.h:16,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:59:
/usr/include/openssl/asn1.h:553:1: note: declared here
DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
^
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘_get_crl_dp’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:1039:22: error: dereferencing pointer to incomplete type ‘X509 {aka struct x509_st}’
dps = certificate->crldp;
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘PySSL_compression’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:1431:43: error: dereferencing pointer to incomplete type ‘COMP_METHOD {aka const struct comp_method_st}’
if (comp_method == NULL || comp_method->type == NID_undef)
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘context_new’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2012:9: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations]
ctx = SSL_CTX_new(TLSv1_method());
^~~
In file included from /usr/include/openssl/ct.h:13:0,
from /usr/include/openssl/ssl.h:61,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:
/usr/include/openssl/ssl.h:1596:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */
^
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2015:9: warning: ‘TLSv1_1_method’ is deprecated [-Wdeprecated-declarations]
ctx = SSL_CTX_new(TLSv1_1_method());
^~~
In file included from /usr/include/openssl/ct.h:13:0,
from /usr/include/openssl/ssl.h:61,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:
/usr/include/openssl/ssl.h:1602:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /* TLSv1.1 */
^
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2017:9: warning: ‘TLSv1_2_method’ is deprecated [-Wdeprecated-declarations]
ctx = SSL_CTX_new(TLSv1_2_method());
^~~
In file included from /usr/include/openssl/ct.h:13:0,
from /usr/include/openssl/ssl.h:61,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:
/usr/include/openssl/ssl.h:1608:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */
^
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2025:27: warning: implicit declaration of function ‘SSLv2_method’ [-Wimplicit-function-declaration]
ctx = SSL_CTX_new(SSLv2_method());
^~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2025:27: warning: passing argument 1 of ‘SSL_CTX_new’ makes pointer from integer without a cast [-Wint-conversion]
In file included from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:0:
/usr/include/openssl/ssl.h:1302:17: note: expected ‘const SSL_METHOD * {aka const struct ssl_method_st *}’ but argument is of type ‘int’
__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
^~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘get_verify_flags’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2275:46: error: dereferencing pointer to incomplete type ‘X509_STORE {aka struct x509_store_st}’
flags = X509_VERIFY_PARAM_get_flags(store->param);
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘load_cert_chain’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2468:48: error: dereferencing pointer to incomplete type ‘SSL_CTX {aka struct ssl_ctx_st}’
pem_password_cb *orig_passwd_cb = self->ctx->default_passwd_callback;
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘cert_store_stats’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3055:20: error: dereferencing pointer to incomplete type ‘X509_OBJECT {aka struct x509_object_st}’
switch (obj->type) {
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3065:18: error: ‘X509_LU_PKEY’ undeclared (first use in this function)
case X509_LU_PKEY:
^~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3065:18: note: each undeclared identifier is reported only once for each function it appears in
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘PySSL_RAND’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3275:9: warning: ‘RAND_pseudo_bytes’ is deprecated [-Wdeprecated-declarations]
ok = RAND_pseudo_bytes((unsigned char*)PyBytes_AS_STRING(bytes), len);
^~
In file included from /usr/include/openssl/ct.h:13:0,
from /usr/include/openssl/ssl.h:61,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:
/usr/include/openssl/rand.h:47:1: note: declared here
DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num))
^
At top level:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3808:13: warning: ‘_ssl_thread_locking_function’ defined but not used [-Wunused-function]
static void _ssl_thread_locking_function
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3795:1: warning: ‘_ssl_threadid_callback’ defined but not used [-Wunused-function]
_ssl_threadid_callback(CRYPTO_THREADID *id)
^~~~~~~~~~~~~~~~~~~~~~
building '_hashlib' extension
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/jj/src/Python-3.4.3/Include -I/home/jj/src/Python-3.4.3 -c /home/jj/src/Python-3.4.3/Modules/_hashopenssl.c -o build/temp.linux-x86_64-3.4/home/jj/src/Python-3.4.3/Modules/_hashopenssl.o
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:42:26: error: field ‘ctx’ has incomplete type
EVP_MD_CTX ctx; /* OpenSSL message digest context */
^~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: In function ‘EVP_dealloc’:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:109:5: warning: implicit declaration of function ‘EVP_MD_CTX_cleanup’ [-Wimplicit-function-declaration]
EVP_MD_CTX_cleanup(&self->ctx);
^~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: In function ‘EVP_digest’:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:145:16: error: storage size of ‘temp_ctx’ isn’t known
EVP_MD_CTX temp_ctx;
^~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:145:16: warning: unused variable ‘temp_ctx’ [-Wunused-variable]
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: In function ‘EVP_hexdigest’:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:165:16: error: storage size of ‘temp_ctx’ isn’t known
EVP_MD_CTX temp_ctx;
^~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:165:16: warning: unused variable ‘temp_ctx’ [-Wunused-variable]
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: In function ‘PKCS5_PBKDF2_HMAC_fast’:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:497:14: error: storage size of ‘hctx_tpl’ isn’t known
HMAC_CTX hctx_tpl, hctx;
^~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:497:24: error: storage size of ‘hctx’ isn’t known
HMAC_CTX hctx_tpl, hctx;
^~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:503:5: warning: implicit declaration of function ‘HMAC_CTX_init’ [-Wimplicit-function-declaration]
HMAC_CTX_init(&hctx_tpl);
^~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:508:9: warning: implicit declaration of function ‘HMAC_CTX_cleanup’ [-Wimplicit-function-declaration]
HMAC_CTX_cleanup(&hctx_tpl);
^~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:497:24: warning: unused variable ‘hctx’ [-Wunused-variable]
HMAC_CTX hctx_tpl, hctx;
^~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:497:14: warning: unused variable ‘hctx_tpl’ [-Wunused-variable]
HMAC_CTX hctx_tpl, hctx;
^~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: At top level:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_md5_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:57:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(md5)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha1_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:58:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha1)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha224_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:60:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha224)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha256_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:61:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha256)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha384_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:62:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha384)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha512_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:63:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha512)
^~~~~~~~~~~~~~~~~~~~~

如您所见,configure 正确选择了我的 OpenSSL 安装位置 (/usr/include/openssl),因此这个问题不是 How do I compile Python 3.4 with custom OpenSSL? 的重复.

为了解决这个错误,我尝试从源代码安装 OpenSSL 到 /usr/local,然后重新运行 Python 的 configuremake:

$ make
running build
running build_ext
INFO: Can't locate Tcl/Tk libs and/or headers
building '_ssl' extension
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/jj/src/Python-3.4.3/Include -I/home/jj/src/Python-3.4.3 -c /home/jj/src/Python-3.4.3/Modules/_ssl.c -o build/temp.linux-x86_64-3.4/home/jj/src/Python-3.4.3/Modules/_ssl.o
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘_create_tuple_for_X509_NAME’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:694:35: error: dereferencing pointer to incomplete type ‘X509_NAME_ENTRY {aka struct X509_name_entry_st}’
if (rdn_level != entry->set) {
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘_get_peer_alt_names’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:814:16: error: dereferencing pointer to incomplete type ‘X509_EXTENSION {aka struct X509_extension_st}’
p = ext->value->data;
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:886:17: warning: ‘ASN1_STRING_data’ is deprecated [-Wdeprecated-declarations]
v = PyUnicode_FromStringAndSize((char *)ASN1_STRING_data(as),
^
In file included from /usr/local/include/openssl/bn.h:31:0,
from /usr/local/include/openssl/asn1.h:24,
from /usr/local/include/openssl/rsa.h:16,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:59:
/usr/local/include/openssl/asn1.h:553:1: note: declared here
DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
^
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘_get_crl_dp’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:1039:22: error: dereferencing pointer to incomplete type ‘X509 {aka struct x509_st}’
dps = certificate->crldp;
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘PySSL_compression’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:1431:43: error: dereferencing pointer to incomplete type ‘COMP_METHOD {aka const struct comp_method_st}’
if (comp_method == NULL || comp_method->type == NID_undef)
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘context_new’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2012:9: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations]
ctx = SSL_CTX_new(TLSv1_method());
^~~
In file included from /usr/local/include/openssl/ct.h:13:0,
from /usr/local/include/openssl/ssl.h:61,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:
/usr/local/include/openssl/ssl.h:1617:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */
^
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2015:9: warning: ‘TLSv1_1_method’ is deprecated [-Wdeprecated-declarations]
ctx = SSL_CTX_new(TLSv1_1_method());
^~~
In file included from /usr/local/include/openssl/ct.h:13:0,
from /usr/local/include/openssl/ssl.h:61,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:
/usr/local/include/openssl/ssl.h:1623:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /* TLSv1.1 */
^
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2017:9: warning: ‘TLSv1_2_method’ is deprecated [-Wdeprecated-declarations]
ctx = SSL_CTX_new(TLSv1_2_method());
^~~
In file included from /usr/local/include/openssl/ct.h:13:0,
from /usr/local/include/openssl/ssl.h:61,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:
/usr/local/include/openssl/ssl.h:1629:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */
^
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2025:27: warning: implicit declaration of function ‘SSLv2_method’ [-Wimplicit-function-declaration]
ctx = SSL_CTX_new(SSLv2_method());
^~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2025:27: warning: passing argument 1 of ‘SSL_CTX_new’ makes pointer from integer without a cast [-Wint-conversion]
In file included from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:0:
/usr/local/include/openssl/ssl.h:1319:17: note: expected ‘const SSL_METHOD * {aka const struct ssl_method_st *}’ but argument is of type ‘int’
__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
^~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘get_verify_flags’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2275:46: error: dereferencing pointer to incomplete type ‘X509_STORE {aka struct x509_store_st}’
flags = X509_VERIFY_PARAM_get_flags(store->param);
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘load_cert_chain’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:2468:48: error: dereferencing pointer to incomplete type ‘SSL_CTX {aka struct ssl_ctx_st}’
pem_password_cb *orig_passwd_cb = self->ctx->default_passwd_callback;
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘cert_store_stats’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3055:20: error: dereferencing pointer to incomplete type ‘X509_OBJECT {aka struct x509_object_st}’
switch (obj->type) {
^~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3065:18: error: ‘X509_LU_PKEY’ undeclared (first use in this function)
case X509_LU_PKEY:
^~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3065:18: note: each undeclared identifier is reported only once for each function it appears in
/home/jj/src/Python-3.4.3/Modules/_ssl.c: In function ‘PySSL_RAND’:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3275:9: warning: ‘RAND_pseudo_bytes’ is deprecated [-Wdeprecated-declarations]
ok = RAND_pseudo_bytes((unsigned char*)PyBytes_AS_STRING(bytes), len);
^~
In file included from /usr/local/include/openssl/ct.h:13:0,
from /usr/local/include/openssl/ssl.h:61,
from /home/jj/src/Python-3.4.3/Modules/_ssl.c:64:
/usr/local/include/openssl/rand.h:47:1: note: declared here
DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num))
^
At top level:
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3808:13: warning: ‘_ssl_thread_locking_function’ defined but not used [-Wunused-function]
static void _ssl_thread_locking_function
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_ssl.c:3795:1: warning: ‘_ssl_threadid_callback’ defined but not used [-Wunused-function]
_ssl_threadid_callback(CRYPTO_THREADID *id)
^~~~~~~~~~~~~~~~~~~~~~
building '_hashlib' extension
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/jj/src/Python-3.4.3/Include -I/home/jj/src/Python-3.4.3 -c /home/jj/src/Python-3.4.3/Modules/_hashopenssl.c -o build/temp.linux-x86_64-3.4/home/jj/src/Python-3.4.3/Modules/_hashopenssl.o
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:42:26: error: field ‘ctx’ has incomplete type
EVP_MD_CTX ctx; /* OpenSSL message digest context */
^~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: In function ‘EVP_dealloc’:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:109:5: warning: implicit declaration of function ‘EVP_MD_CTX_cleanup’ [-Wimplicit-function-declaration]
EVP_MD_CTX_cleanup(&self->ctx);
^~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: In function ‘EVP_digest’:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:145:16: error: storage size of ‘temp_ctx’ isn’t known
EVP_MD_CTX temp_ctx;
^~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:145:16: warning: unused variable ‘temp_ctx’ [-Wunused-variable]
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: In function ‘EVP_hexdigest’:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:165:16: error: storage size of ‘temp_ctx’ isn’t known
EVP_MD_CTX temp_ctx;
^~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:165:16: warning: unused variable ‘temp_ctx’ [-Wunused-variable]
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: In function ‘PKCS5_PBKDF2_HMAC_fast’:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:497:14: error: storage size of ‘hctx_tpl’ isn’t known
HMAC_CTX hctx_tpl, hctx;
^~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:497:24: error: storage size of ‘hctx’ isn’t known
HMAC_CTX hctx_tpl, hctx;
^~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:503:5: warning: implicit declaration of function ‘HMAC_CTX_init’ [-Wimplicit-function-declaration]
HMAC_CTX_init(&hctx_tpl);
^~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:508:9: warning: implicit declaration of function ‘HMAC_CTX_cleanup’ [-Wimplicit-function-declaration]
HMAC_CTX_cleanup(&hctx_tpl);
^~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:497:24: warning: unused variable ‘hctx’ [-Wunused-variable]
HMAC_CTX hctx_tpl, hctx;
^~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:497:14: warning: unused variable ‘hctx_tpl’ [-Wunused-variable]
HMAC_CTX hctx_tpl, hctx;
^~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c: At top level:
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_md5_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:57:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(md5)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha1_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:58:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha1)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha224_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:60:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha224)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha256_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:61:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha256)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha384_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:62:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha384)
^~~~~~~~~~~~~~~~~~~~~
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:54:23: error: storage size of ‘CONST_new_sha512_ctx’ isn’t known
static EVP_MD_CTX CONST_new_ ## Name ## _ctx; \
^
/home/jj/src/Python-3.4.3/Modules/_hashopenssl.c:63:1: note: in expansion of macro ‘DEFINE_CONSTS_FOR_NEW’
DEFINE_CONSTS_FOR_NEW(sha512)
^~~~~~~~~~~~~~~~~~~~~

虽然您可以看到 configure 现在使用了来自 /usr/local 的 OpenSSL 安装,但还是会出现同样的错误。为什么会出现这些错误,我该如何解决?

最佳答案

我必须在 fedora 26 中安装 compat-openssl10-devel 才能让它工作。完整的命令是 sudo dnf install compat-openssl10-devel --allowerasing。似乎在 openssl 库 API 中有一个向后不兼容的更新导致了这一点。看到这个:https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes#Compatibility_Layer

关于Python 3.4.3 无法构建这些模块 : _hashlib _ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41443988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com