**https://pastebin.com/FDcfSU2z More readable here** (doesn't have to be)
```
sudo pip install m2crypto==0.24.0
Collecting m2crypto==0.24.0
Downloading https://files.pythonhosted.org/packages/58/75/362faac80a1bc2742b4b696dc350518312043d568bfd2687a9270f18da88/M2Crypto-0.24.0.tar.gz (184kB)
100% |████████████████████████████████| 194kB 234kB/s
Building wheels for collected packages: m2crypto
Running setup.py bdist_wheel for m2crypto ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-cIFksT/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmpfQntJipip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_py
copying M2Crypto/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/threading.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/EC.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Rand.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/init.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/EVP.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/X509.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/util.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/BN.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/callback.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/BIO.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Engine.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/DH.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Err.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/RC4.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/DSA.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-2.7/M2Crypto
creating build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/init.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
creating build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/init.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
running build_ext
building 'M2Crypto.__m2crypto' extension
swigging SWIG/m2crypto.i to SWIG/m2crypto_wrap.c
swig -python -D__x86_64 -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -includeall -modern -builtin -outdir build/lib.linux-x86_64-2.7/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
/usr/include/x86_64-linux-gnu/sys/cdefs.h:152: Warning 305: Bad constant value (ignored).
/usr/include/x86_64-linux-gnu/bits/wchar.h:38: Warning 490: Fragment 'SWIG_From_wchar_t' not found.
/usr/include/stdint.h:250: Warning 490: Fragment 'SWIG_From_wchar_t' not found.
SWIG/_bio.i:64: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_rand.i:21: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_evp.i:169: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_dh.i:36: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_rsa.i:43: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_dsa.i:31: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ssl.i:241: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ssl.i:242: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_x509.i:323: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_util.i:11: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ec.i:111: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_engine.i:168: Warning 454: Setting a pointer/reference variable may leak memory.
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/SWIG
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-DmWv1o/python2.7-2.7.14=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -I/tmp/pip-build-cIFksT/m2crypto/SWIG -c SWIG/_m2crypto_wrap.c -o build/temp.linux-x86_64-2.7/SWIG/_m2crypto_wrap.o -DTHREADING
SWIG/_m2crypto_wrap.c:4186:35: error: ‘CRYPTO_NUM_LOCKS’ undeclared here (not in a function); did you mean ‘CRYPTO_UNLOCK’?
static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS];
^~~~~~~~~~~~~~~~
CRYPTO_UNLOCK
SWIG/_m2crypto_wrap.c: In function ‘lib_init’:
SWIG/_m2crypto_wrap.c:4567:5: warning: implicit declaration of function ‘SSLeay_add_all_algorithms’; did you mean ‘SSLeay_add_ssl_algorithms’? [-Wimplicit-function-declaration]
SSLeay_add_all_algorithms();
^~~~~~~~~~~~~~~~~~~~~~~~~
SSLeay_add_ssl_algorithms
SWIG/_m2crypto_wrap.c: In function ‘bn_rand’:
SWIG/_m2crypto_wrap.c:4971:12: error: storage size of ‘rnd’ isn’t known
BIGNUM rnd;
^~~
SWIG/_m2crypto_wrap.c:4975:5: warning: implicit declaration of function ‘BN_init’; did you mean ‘bio_init’? [-Wimplicit-function-declaration]
BN_init(&rnd);
^~~~~~~
bio_init
SWIG/_m2crypto_wrap.c:4971:12: warning: unused variable ‘rnd’ [-Wunused-variable]
BIGNUM rnd;
^~~
SWIG/_m2crypto_wrap.c: In function ‘bn_rand_range’:
SWIG/_m2crypto_wrap.c:5000:12: error: storage size of ‘rnd’ isn’t known
BIGNUM rnd;
^~~
SWIG/_m2crypto_wrap.c:5000:12: warning: unused variable ‘rnd’ [-Wunused-variable]
SWIG/_m2crypto_wrap.c: In function ‘rand_pseudo_bytes’:
SWIG/_m2crypto_wrap.c:5131:5: warning: ‘RAND_pseudo_bytes’ is deprecated [-Wdeprecated-declarations]
ret = RAND_pseudo_bytes(blob, n);
^~~
In file included from /usr/include/openssl/crypto.h:32:0,
from /usr/include/openssl/bio.h:20,
from /usr/include/openssl/err.h:21,
from SWIG/_m2crypto_wrap.c:3829:
/usr/include/openssl/rand.h:47:1: note: declared here
DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num))
^
SWIG/_m2crypto_wrap.c: In function ‘digest_final’:
SWIG/_m2crypto_wrap.c:5249:34: error: dereferencing pointer to incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’
if (!(blob = PyMem_Malloc(ctx->digest->md_size))) {
^~
SWIG/_m2crypto_wrap.c: In function ‘hmac_ctx_new’:
SWIG/_m2crypto_wrap.c:5266:49: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’
if (!(ctx = (HMAC_CTX *)PyMem_Malloc(sizeof(HMAC_CTX)))) {
^~~~~~~~
SWIG/_m2crypto_wrap.c:5270:5: warning: implicit declaration of function ‘HMAC_CTX_init’; did you mean ‘HMAC_CTX_new’? [-Wimplicit-function-declaration]
HMAC_CTX_init(ctx);
^~~~~~~~~~~~~
HMAC_CTX_new
SWIG/_m2crypto_wrap.c: In function ‘hmac_ctx_free’:
SWIG/_m2crypto_wrap.c:5275:5: warning: implicit declaration of function ‘HMAC_CTX_cleanup’; did you mean ‘HMAC_CTX_get_md’? [-Wimplicit-function-declaration]
HMAC_CTX_cleanup(ctx);
^~~~~~~~~~~~~~~~
HMAC_CTX_get_md
SWIG/_m2crypto_wrap.c: In function ‘hmac_init’:
SWIG/_m2crypto_wrap.c:5286:5: warning: ‘HMAC_Init’ is deprecated [-Wdeprecated-declarations]
if (!HMAC_Init(ctx, kbuf, klen, md)) {
^~
In file included from /usr/include/openssl/hmac.h:13:0,
from /usr/include/openssl/ssl.h:56,
from SWIG/_m2crypto_wrap.c:4247:
/usr/include/openssl/hmac.h:28:1: note: declared here
DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len,
^
SWIG/_m2crypto_wrap.c: In function ‘hmac_final’:
SWIG/_m2crypto_wrap.c:5314:34: error: dereferencing pointer to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’
if (!(blob = PyMem_Malloc(ctx->md->md_size))) {
^~
SWIG/_m2crypto_wrap.c: In function ‘cipher_ctx_new’:
SWIG/_m2crypto_wrap.c:5353:55: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
if (!(ctx = (EVP_CIPHER_CTX *)PyMem_Malloc(sizeof(EVP_CIPHER_CTX)))) {
^~~~~~~~~~~~~~
SWIG/_m2crypto_wrap.c: In function ‘cipher_final’:
SWIG/_m2crypto_wrap.c:5434:34: error: dereferencing pointer to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
if (!(obuf = PyMem_Malloc(ctx->cipher->block_size))) {
^~
SWIG/_m2crypto_wrap.c: In function ‘pkey_get_modulus’:
SWIG/_m2crypto_wrap.c:5582:17: error: dereferencing pointer to incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’
switch (pkey->type) {
^~
SWIG/_m2crypto_wrap.c:5593:35: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
if (!BN_print(bio, rsa->n)) {
^~
SWIG/_m2crypto_wrap.c:5618:35: error: dereferencing pointer to incomplete type ‘DSA {aka struct dsa_st}’
if (!BN_print(bio, dsa->pub_key)) {
^~
SWIG/_m2crypto_wrap.c: In function ‘dh_generate_parameters’:
SWIG/_m2crypto_wrap.c:5815:5: warning: ‘DH_generate_parameters’ is deprecated [-Wdeprecated-declarations]
dh = DH_generate_parameters(plen, g, gendh_callback, (void *)pyfunc);
^~
In file included from /usr/include/openssl/bn.h:31:0,
from /usr/include/openssl/asn1.h:24,
from /usr/include/openssl/dh.h:18,
from SWIG/_m2crypto_wrap.c:4243:
/usr/include/openssl/dh.h:135:1: note: declared here
DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator,
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_p’:
SWIG/_m2crypto_wrap.c:5861:12: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}’
if (!dh->p) {
^~
SWIG/_m2crypto_wrap.c: In function ‘rsa_generate_key’:
SWIG/_m2crypto_wrap.c:6319:5: warning: ‘RSA_generate_key’ is deprecated [-Wdeprecated-declarations]
rsa = RSA_generate_key(bits, e, genrsa_callback, (void *)pyfunc);
^~~
In file included from /usr/include/openssl/rsa.h:13:0,
from SWIG/_m2crypto_wrap.c:4246:
/usr/include/openssl/rsa.h:193:1: note: declared here
DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_r’:
SWIG/_m2crypto_wrap.c:6348:29: error: dereferencing pointer to incomplete type ‘DSA_SIG {aka struct DSA_SIG_st}’
return bn_to_mpi(dsa_sig->r);
^~
SWIG/_m2crypto_wrap.c: In function ‘dsa_generate_parameters’:
SWIG/_m2crypto_wrap.c:6378:5: warning: ‘DSA_generate_parameters’ is deprecated [-Wdeprecated-declarations]
dsa = DSA_generate_parameters(bits, NULL, 0, NULL, NULL, genparam_callback, (void *)pyfunc);
^~~
In file included from /usr/include/openssl/dsa.h:28:0,
from /usr/include/openssl/x509.h:32,
from /usr/include/openssl/ssl.h:50,
from SWIG/_m2crypto_wrap.c:4247:
/usr/include/openssl/dsa.h:122:1: note: declared here
DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits,
^
SWIG/_m2crypto_wrap.c: In function ‘sk_ssl_cipher_value’:
SWIG/_m2crypto_wrap.c:7284:12: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
return sk_SSL_CIPHER_value(stack, idx);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SWIG/_m2crypto_wrap.c: In function ‘x509_name_get_der’:
SWIG/_m2crypto_wrap.c:7463:43: error: dereferencing pointer to incomplete type ‘X509_NAME {aka struct X509_name_st}’
return PyString_FromStringAndSize(name->bytes->data, name->bytes->length);
^~
SWIG/_m2crypto_wrap.c: At top level:
SWIG/_m2crypto_wrap.c:7523:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
x509v3_lhash() {
^~~~~~~~~~~~
SWIG/_m2crypto_wrap.c: In function ‘x509v3_lhash’:
SWIG/_m2crypto_wrap.c:7524:12: warning: return from incompatible pointer type [-Wincompatible-pointer-types]
return lh_new(NULL, NULL); / Should probably be lh_CONF_VALUE_new but won't compile. */
^~~~~~
SWIG/_m2crypto_wrap.c: In function ‘make_stack_from_der_sequence’:
SWIG/_m2crypto_wrap.c:7640:13: warning: implicit declaration of function ‘ASN1_seq_unpack_X509’; did you mean ‘ASN1_item_unpack’? [-Wimplicit-function-declaration]
certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free );
^~~~~~~~~~~~~~~~~~~~
ASN1_item_unpack
SWIG/_m2crypto_wrap.c:7640:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free );
^
SWIG/_m2crypto_wrap.c: In function ‘get_der_encoding_stack’:
SWIG/_m2crypto_wrap.c:7656:16: warning: implicit declaration of function ‘ASN1_seq_pack_X509’; did you mean ‘ASN1_item_pack’? [-Wimplicit-function-declaration]
encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len);
^~~~~~~~~~~~~~~~~~
ASN1_item_pack
SWIG/_m2crypto_wrap.c:7656:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len);
^
SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_r’:
SWIG/_m2crypto_wrap.c:8186:31: error: dereferencing pointer to incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
return bn_to_mpi(ecdsa_sig->r);
^~
SWIG/_m2crypto_wrap.c: In function ‘_wrap_sslv2_method’:
SWIG/_m2crypto_wrap.c:18315:26: warning: implicit declaration of function ‘SSLv2_method’; did you mean ‘SSLv23_method’? [-Wimplicit-function-declaration]
result = (SSL_METHOD *)SSLv2_method();
^~~~~~~~~~~~
SSLv23_method
SWIG/_m2crypto_wrap.c:18315:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
result = (SSL_METHOD *)SSLv2_method();
^
SWIG/_m2crypto_wrap.c: In function ‘_wrap_tlsv1_method’:
SWIG/_m2crypto_wrap.c:18341:3: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations]
result = (SSL_METHOD *)TLSv1_method();
^~~~~~
In file included from /usr/include/openssl/ct.h:13:0,
from /usr/include/openssl/ssl.h:61,
from SWIG/_m2crypto_wrap.c:4247:
/usr/include/openssl/ssl.h:1627:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_method(void)) / TLSv1.0 */
^
SWIG/_m2crypto_wrap.c: In function ‘_wrap_c2i_asn1_object’:
SWIG/_m2crypto_wrap.c:25775:27: warning: implicit declaration of function ‘c2i_ASN1_OBJECT’; did you mean ‘d2i_ASN1_OBJECT’? [-Wimplicit-function-declaration]
result = (ASN1_OBJECT *)c2i_ASN1_OBJECT(arg1,(unsigned char const **)arg2,arg3);
^~~~~~~~~~~~~~~
d2i_ASN1_OBJECT
SWIG/_m2crypto_wrap.c:25775:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
result = (ASN1_OBJECT *)c2i_ASN1_OBJECT(arg1,(unsigned char const **)arg2,arg3);
^
SWIG/_m2crypto_wrap.c: In function ‘init__m2crypto’:
SWIG/_m2crypto_wrap.c:31639:79: warning: implicit declaration of function ‘SWIG_From_wchar_t’; did you mean ‘SWIG_FromCharPtr’? [-Wimplicit-function-declaration]
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^~~~~~~~~~~~~~~~~
SWIG_FromCharPtr
SWIG/_m2crypto_wrap.c:31639:120: error: stray ‘\’ in program
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31639:121: warning: missing terminating ' character
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31639:121: error: missing terminating ' character
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^~~~~~~~~~~
SWIG/_m2crypto_wrap.c:31639:119: error: ‘L’ undeclared (first use in this function)
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31639:119: note: each undeclared identifier is reported only once for each function it appears in
SWIG/_m2crypto_wrap.c:31640:3: error: expected ‘)’ before ‘SWIG_Python_SetConstant’
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MIN",SWIG_From_int((int)((-(0x7fffffff+L'\0') -1))));
^~~~~~~~~~~~~~~~~~~~~~~
SWIG/_m2crypto_wrap.c:31691:118: error: stray ‘\’ in program
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31691:119: warning: missing terminating ' character
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31691:119: error: missing terminating ' character
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^~~~~~~~~~~
SWIG/_m2crypto_wrap.c:31996:1: error: expected declaration or statement at end of input
}
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_p’:
SWIG/_m2crypto_wrap.c:5866:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_g’:
SWIG/_m2crypto_wrap.c:5874:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_pub’:
SWIG/_m2crypto_wrap.c:5882:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_priv’:
SWIG/_m2crypto_wrap.c:5890:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘rsa_get_e’:
SWIG/_m2crypto_wrap.c:5999:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘rsa_get_n’:
SWIG/_m2crypto_wrap.c:6007:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘rsa_check_pub_key’:
SWIG/_m2crypto_wrap.c:6334:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_r’:
SWIG/_m2crypto_wrap.c:6349:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_s’:
SWIG/_m2crypto_wrap.c:6353:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_p’:
SWIG/_m2crypto_wrap.c:6391:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_q’:
SWIG/_m2crypto_wrap.c:6399:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_g’:
SWIG/_m2crypto_wrap.c:6407:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_pub’:
SWIG/_m2crypto_wrap.c:6415:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_priv’:
SWIG/_m2crypto_wrap.c:6423:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_check_key’:
SWIG/_m2crypto_wrap.c:6670:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_check_pub_key’:
SWIG/_m2crypto_wrap.c:6674:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_keylen’:
SWIG/_m2crypto_wrap.c:6678:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘x509_name_get_der’:
SWIG/_m2crypto_wrap.c:7464:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_r’:
SWIG/_m2crypto_wrap.c:8187:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_s’:
SWIG/_m2crypto_wrap.c:8191:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
At top level:
SWIG/_m2crypto_wrap.c:4187:13: warning: ‘lock_count’ defined but not used [-Wunused-variable]
static long lock_count[CRYPTO_NUM_LOCKS];
^~~~~~~~~~
SWIG/_m2crypto_wrap.c:4186:27: warning: ‘lock_cs’ defined but not used [-Wunused-variable]
static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS];
^~~~~~~
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Failed building wheel for m2crypto
Running setup.py clean for m2crypto
Failed to build m2crypto
Installing collected packages: m2crypto
Found existing installation: M2Crypto 0.26.2
Uninstalling M2Crypto-0.26.2:
Successfully uninstalled M2Crypto-0.26.2
Running setup.py install for m2crypto ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-cIFksT/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-cWZrMo-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/threading.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/EC.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Rand.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/init.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/EVP.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/X509.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/util.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/BN.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/callback.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/BIO.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Engine.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/DH.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/Err.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/RC4.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/DSA.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-2.7/M2Crypto
copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-2.7/M2Crypto
creating build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/init.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-2.7/M2Crypto/SSL
creating build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/init.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-2.7/M2Crypto/PGP
running build_ext
building 'M2Crypto.__m2crypto' extension
swigging SWIG/m2crypto.i to SWIG/m2crypto_wrap.c
swig -python -D__x86_64 -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -includeall -modern -builtin -outdir build/lib.linux-x86_64-2.7/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
/usr/include/x86_64-linux-gnu/sys/cdefs.h:152: Warning 305: Bad constant value (ignored).
/usr/include/x86_64-linux-gnu/bits/wchar.h:38: Warning 490: Fragment 'SWIG_From_wchar_t' not found.
/usr/include/stdint.h:250: Warning 490: Fragment 'SWIG_From_wchar_t' not found.
SWIG/_bio.i:64: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_rand.i:21: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_evp.i:169: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_dh.i:36: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_rsa.i:43: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_dsa.i:31: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ssl.i:241: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ssl.i:242: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_x509.i:323: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:44: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_util.i:11: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ec.i:111: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_engine.i:168: Warning 454: Setting a pointer/reference variable may leak memory.
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/SWIG
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-DmWv1o/python2.7-2.7.14=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -I/usr/include -I/usr/include/x86_64-linux-gnu -I/tmp/pip-build-cIFksT/m2crypto/SWIG -c SWIG/_m2crypto_wrap.c -o build/temp.linux-x86_64-2.7/SWIG/_m2crypto_wrap.o -DTHREADING
SWIG/_m2crypto_wrap.c:4186:35: error: ‘CRYPTO_NUM_LOCKS’ undeclared here (not in a function); did you mean ‘CRYPTO_UNLOCK’?
static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS];
^~~~~~~~~~~~~~~~
CRYPTO_UNLOCK
SWIG/_m2crypto_wrap.c: In function ‘lib_init’:
SWIG/_m2crypto_wrap.c:4567:5: warning: implicit declaration of function ‘SSLeay_add_all_algorithms’; did you mean ‘SSLeay_add_ssl_algorithms’? [-Wimplicit-function-declaration]
SSLeay_add_all_algorithms();
^~~~~~~~~~~~~~~~~~~~~~~~~
SSLeay_add_ssl_algorithms
SWIG/_m2crypto_wrap.c: In function ‘bn_rand’:
SWIG/_m2crypto_wrap.c:4971:12: error: storage size of ‘rnd’ isn’t known
BIGNUM rnd;
^~~
SWIG/_m2crypto_wrap.c:4975:5: warning: implicit declaration of function ‘BN_init’; did you mean ‘bio_init’? [-Wimplicit-function-declaration]
BN_init(&rnd);
^~~~~~~
bio_init
SWIG/_m2crypto_wrap.c:4971:12: warning: unused variable ‘rnd’ [-Wunused-variable]
BIGNUM rnd;
^~~
SWIG/_m2crypto_wrap.c: In function ‘bn_rand_range’:
SWIG/_m2crypto_wrap.c:5000:12: error: storage size of ‘rnd’ isn’t known
BIGNUM rnd;
^~~
SWIG/_m2crypto_wrap.c:5000:12: warning: unused variable ‘rnd’ [-Wunused-variable]
SWIG/_m2crypto_wrap.c: In function ‘rand_pseudo_bytes’:
SWIG/_m2crypto_wrap.c:5131:5: warning: ‘RAND_pseudo_bytes’ is deprecated [-Wdeprecated-declarations]
ret = RAND_pseudo_bytes(blob, n);
^~~
In file included from /usr/include/openssl/crypto.h:32:0,
from /usr/include/openssl/bio.h:20,
from /usr/include/openssl/err.h:21,
from SWIG/_m2crypto_wrap.c:3829:
/usr/include/openssl/rand.h:47:1: note: declared here
DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num))
^
SWIG/_m2crypto_wrap.c: In function ‘digest_final’:
SWIG/_m2crypto_wrap.c:5249:34: error: dereferencing pointer to incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’
if (!(blob = PyMem_Malloc(ctx->digest->md_size))) {
^~
SWIG/_m2crypto_wrap.c: In function ‘hmac_ctx_new’:
SWIG/_m2crypto_wrap.c:5266:49: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’
if (!(ctx = (HMAC_CTX *)PyMem_Malloc(sizeof(HMAC_CTX)))) {
^~~~~~~~
SWIG/_m2crypto_wrap.c:5270:5: warning: implicit declaration of function ‘HMAC_CTX_init’; did you mean ‘HMAC_CTX_new’? [-Wimplicit-function-declaration]
HMAC_CTX_init(ctx);
^~~~~~~~~~~~~
HMAC_CTX_new
SWIG/_m2crypto_wrap.c: In function ‘hmac_ctx_free’:
SWIG/_m2crypto_wrap.c:5275:5: warning: implicit declaration of function ‘HMAC_CTX_cleanup’; did you mean ‘HMAC_CTX_get_md’? [-Wimplicit-function-declaration]
HMAC_CTX_cleanup(ctx);
^~~~~~~~~~~~~~~~
HMAC_CTX_get_md
SWIG/_m2crypto_wrap.c: In function ‘hmac_init’:
SWIG/_m2crypto_wrap.c:5286:5: warning: ‘HMAC_Init’ is deprecated [-Wdeprecated-declarations]
if (!HMAC_Init(ctx, kbuf, klen, md)) {
^~
In file included from /usr/include/openssl/hmac.h:13:0,
from /usr/include/openssl/ssl.h:56,
from SWIG/_m2crypto_wrap.c:4247:
/usr/include/openssl/hmac.h:28:1: note: declared here
DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len,
^
SWIG/_m2crypto_wrap.c: In function ‘hmac_final’:
SWIG/_m2crypto_wrap.c:5314:34: error: dereferencing pointer to incomplete type ‘HMAC_CTX {aka struct hmac_ctx_st}’
if (!(blob = PyMem_Malloc(ctx->md->md_size))) {
^~
SWIG/_m2crypto_wrap.c: In function ‘cipher_ctx_new’:
SWIG/_m2crypto_wrap.c:5353:55: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
if (!(ctx = (EVP_CIPHER_CTX *)PyMem_Malloc(sizeof(EVP_CIPHER_CTX)))) {
^~~~~~~~~~~~~~
SWIG/_m2crypto_wrap.c: In function ‘cipher_final’:
SWIG/_m2crypto_wrap.c:5434:34: error: dereferencing pointer to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
if (!(obuf = PyMem_Malloc(ctx->cipher->block_size))) {
^~
SWIG/_m2crypto_wrap.c: In function ‘pkey_get_modulus’:
SWIG/_m2crypto_wrap.c:5582:17: error: dereferencing pointer to incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’
switch (pkey->type) {
^~
SWIG/_m2crypto_wrap.c:5593:35: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
if (!BN_print(bio, rsa->n)) {
^~
SWIG/_m2crypto_wrap.c:5618:35: error: dereferencing pointer to incomplete type ‘DSA {aka struct dsa_st}’
if (!BN_print(bio, dsa->pub_key)) {
^~
SWIG/_m2crypto_wrap.c: In function ‘dh_generate_parameters’:
SWIG/_m2crypto_wrap.c:5815:5: warning: ‘DH_generate_parameters’ is deprecated [-Wdeprecated-declarations]
dh = DH_generate_parameters(plen, g, gendh_callback, (void *)pyfunc);
^~
In file included from /usr/include/openssl/bn.h:31:0,
from /usr/include/openssl/asn1.h:24,
from /usr/include/openssl/dh.h:18,
from SWIG/_m2crypto_wrap.c:4243:
/usr/include/openssl/dh.h:135:1: note: declared here
DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator,
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_p’:
SWIG/_m2crypto_wrap.c:5861:12: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}’
if (!dh->p) {
^~
SWIG/_m2crypto_wrap.c: In function ‘rsa_generate_key’:
SWIG/_m2crypto_wrap.c:6319:5: warning: ‘RSA_generate_key’ is deprecated [-Wdeprecated-declarations]
rsa = RSA_generate_key(bits, e, genrsa_callback, (void *)pyfunc);
^~~
In file included from /usr/include/openssl/rsa.h:13:0,
from SWIG/_m2crypto_wrap.c:4246:
/usr/include/openssl/rsa.h:193:1: note: declared here
DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_r’:
SWIG/_m2crypto_wrap.c:6348:29: error: dereferencing pointer to incomplete type ‘DSA_SIG {aka struct DSA_SIG_st}’
return bn_to_mpi(dsa_sig->r);
^~
SWIG/_m2crypto_wrap.c: In function ‘dsa_generate_parameters’:
SWIG/_m2crypto_wrap.c:6378:5: warning: ‘DSA_generate_parameters’ is deprecated [-Wdeprecated-declarations]
dsa = DSA_generate_parameters(bits, NULL, 0, NULL, NULL, genparam_callback, (void *)pyfunc);
^~~
In file included from /usr/include/openssl/dsa.h:28:0,
from /usr/include/openssl/x509.h:32,
from /usr/include/openssl/ssl.h:50,
from SWIG/_m2crypto_wrap.c:4247:
/usr/include/openssl/dsa.h:122:1: note: declared here
DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits,
^
SWIG/_m2crypto_wrap.c: In function ‘sk_ssl_cipher_value’:
SWIG/_m2crypto_wrap.c:7284:12: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
return sk_SSL_CIPHER_value(stack, idx);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SWIG/_m2crypto_wrap.c: In function ‘x509_name_get_der’:
SWIG/_m2crypto_wrap.c:7463:43: error: dereferencing pointer to incomplete type ‘X509_NAME {aka struct X509_name_st}’
return PyString_FromStringAndSize(name->bytes->data, name->bytes->length);
^~
SWIG/_m2crypto_wrap.c: At top level:
SWIG/_m2crypto_wrap.c:7523:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
x509v3_lhash() {
^~~~~~~~~~~~
SWIG/_m2crypto_wrap.c: In function ‘x509v3_lhash’:
SWIG/_m2crypto_wrap.c:7524:12: warning: return from incompatible pointer type [-Wincompatible-pointer-types]
return lh_new(NULL, NULL); / Should probably be lh_CONF_VALUE_new but won't compile. */
^~~~~~
SWIG/_m2crypto_wrap.c: In function ‘make_stack_from_der_sequence’:
SWIG/_m2crypto_wrap.c:7640:13: warning: implicit declaration of function ‘ASN1_seq_unpack_X509’; did you mean ‘ASN1_item_unpack’? [-Wimplicit-function-declaration]
certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free );
^~~~~~~~~~~~~~~~~~~~
ASN1_item_unpack
SWIG/_m2crypto_wrap.c:7640:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
certs = ASN1_seq_unpack_X509((unsigned char *)encoded_string, encoded_string_len, d2i_X509, X509_free );
^
SWIG/_m2crypto_wrap.c: In function ‘get_der_encoding_stack’:
SWIG/_m2crypto_wrap.c:7656:16: warning: implicit declaration of function ‘ASN1_seq_pack_X509’; did you mean ‘ASN1_item_pack’? [-Wimplicit-function-declaration]
encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len);
^~~~~~~~~~~~~~~~~~
ASN1_item_pack
SWIG/_m2crypto_wrap.c:7656:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
encoding = ASN1_seq_pack_X509(stack, i2d_X509, NULL, &len);
^
SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_r’:
SWIG/_m2crypto_wrap.c:8186:31: error: dereferencing pointer to incomplete type ‘ECDSA_SIG {aka struct ECDSA_SIG_st}’
return bn_to_mpi(ecdsa_sig->r);
^~
SWIG/_m2crypto_wrap.c: In function ‘_wrap_sslv2_method’:
SWIG/_m2crypto_wrap.c:18315:26: warning: implicit declaration of function ‘SSLv2_method’; did you mean ‘SSLv23_method’? [-Wimplicit-function-declaration]
result = (SSL_METHOD *)SSLv2_method();
^~~~~~~~~~~~
SSLv23_method
SWIG/_m2crypto_wrap.c:18315:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
result = (SSL_METHOD *)SSLv2_method();
^
SWIG/_m2crypto_wrap.c: In function ‘_wrap_tlsv1_method’:
SWIG/_m2crypto_wrap.c:18341:3: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations]
result = (SSL_METHOD *)TLSv1_method();
^~~~~~
In file included from /usr/include/openssl/ct.h:13:0,
from /usr/include/openssl/ssl.h:61,
from SWIG/_m2crypto_wrap.c:4247:
/usr/include/openssl/ssl.h:1627:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_method(void)) / TLSv1.0 */
^
SWIG/_m2crypto_wrap.c: In function ‘_wrap_c2i_asn1_object’:
SWIG/_m2crypto_wrap.c:25775:27: warning: implicit declaration of function ‘c2i_ASN1_OBJECT’; did you mean ‘d2i_ASN1_OBJECT’? [-Wimplicit-function-declaration]
result = (ASN1_OBJECT *)c2i_ASN1_OBJECT(arg1,(unsigned char const **)arg2,arg3);
^~~~~~~~~~~~~~~
d2i_ASN1_OBJECT
SWIG/_m2crypto_wrap.c:25775:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
result = (ASN1_OBJECT *)c2i_ASN1_OBJECT(arg1,(unsigned char const **)arg2,arg3);
^
SWIG/_m2crypto_wrap.c: In function ‘init__m2crypto’:
SWIG/_m2crypto_wrap.c:31639:79: warning: implicit declaration of function ‘SWIG_From_wchar_t’; did you mean ‘SWIG_FromCharPtr’? [-Wimplicit-function-declaration]
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^~~~~~~~~~~~~~~~~
SWIG_FromCharPtr
SWIG/_m2crypto_wrap.c:31639:120: error: stray ‘\’ in program
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31639:121: warning: missing terminating ' character
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31639:121: error: missing terminating ' character
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^~~~~~~~~~~
SWIG/_m2crypto_wrap.c:31639:119: error: ‘L’ undeclared (first use in this function)
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31639:119: note: each undeclared identifier is reported only once for each function it appears in
SWIG/_m2crypto_wrap.c:31640:3: error: expected ‘)’ before ‘SWIG_Python_SetConstant’
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "__WCHAR_MIN",SWIG_From_int((int)((-(0x7fffffff+L'\0') -1))));
^~~~~~~~~~~~~~~~~~~~~~~
SWIG/_m2crypto_wrap.c:31691:118: error: stray ‘\’ in program
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31691:119: warning: missing terminating ' character
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^
SWIG/_m2crypto_wrap.c:31691:119: error: missing terminating ' character
SWIG_Python_SetConstant(d, d == md ? public_interface : NULL, "WCHAR_MAX",SWIG_From_wchar_t((wchar_t)((0x7fffffff+L'\0'))));
^~~~~~~~~~~
SWIG/_m2crypto_wrap.c:31996:1: error: expected declaration or statement at end of input
}
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_p’:
SWIG/_m2crypto_wrap.c:5866:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_g’:
SWIG/_m2crypto_wrap.c:5874:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_pub’:
SWIG/_m2crypto_wrap.c:5882:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dh_get_priv’:
SWIG/_m2crypto_wrap.c:5890:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘rsa_get_e’:
SWIG/_m2crypto_wrap.c:5999:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘rsa_get_n’:
SWIG/_m2crypto_wrap.c:6007:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘rsa_check_pub_key’:
SWIG/_m2crypto_wrap.c:6334:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_r’:
SWIG/_m2crypto_wrap.c:6349:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_sig_get_s’:
SWIG/_m2crypto_wrap.c:6353:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_p’:
SWIG/_m2crypto_wrap.c:6391:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_q’:
SWIG/_m2crypto_wrap.c:6399:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_g’:
SWIG/_m2crypto_wrap.c:6407:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_pub’:
SWIG/_m2crypto_wrap.c:6415:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_get_priv’:
SWIG/_m2crypto_wrap.c:6423:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_check_key’:
SWIG/_m2crypto_wrap.c:6670:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_check_pub_key’:
SWIG/_m2crypto_wrap.c:6674:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘dsa_keylen’:
SWIG/_m2crypto_wrap.c:6678:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘x509_name_get_der’:
SWIG/_m2crypto_wrap.c:7464:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_r’:
SWIG/_m2crypto_wrap.c:8187:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
SWIG/_m2crypto_wrap.c: In function ‘ecdsa_sig_get_s’:
SWIG/_m2crypto_wrap.c:8191:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
At top level:
SWIG/_m2crypto_wrap.c:4187:13: warning: ‘lock_count’ defined but not used [-Wunused-variable]
static long lock_count[CRYPTO_NUM_LOCKS];
^~~~~~~~~~
SWIG/_m2crypto_wrap.c:4186:27: warning: ‘lock_cs’ defined but not used [-Wunused-variable]
static PyThread_type_lock lock_cs[CRYPTO_NUM_LOCKS];
^~~~~~~
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Rolling back uninstall of M2Crypto
Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-cIFksT/m2crypto/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-cWZrMo-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-cIFksT/m2crypto/
```