$sudo pip3 install m2crypto
Collecting m2crypto
Using cached M2Crypto-0.26.0.tar.gz
Requirement already satisfied: typing in /usr/local/lib/python3.5/dist-packages (from m2crypto)
Installing collected packages: m2crypto
Running setup.py install for m2crypto ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/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-ecxgdei0-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
copying M2Crypto/BIO.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/DH.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/Rand.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/ftpslib.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2xmlrpclib.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/callback.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/EC.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2urllib.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/X509.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/RSA.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/ASN1.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2crypto.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/Err.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/SMIME.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/threading.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/m2urllib2.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/BN.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/RC4.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/util.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/Engine.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/six.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/EVP.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/httpslib.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/AuthCookie.py -> build/lib.linux-x86_64-3.5/M2Crypto
copying M2Crypto/DSA.py -> build/lib.linux-x86_64-3.5/M2Crypto
creating build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/RSA.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/PublicKey.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/PublicKeyRing.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/constants.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/packet.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
copying M2Crypto/PGP/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto/PGP
creating build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/SSLServer.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/TwistedProtocolWrapper.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/ssl_dispatcher.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Checker.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/timeout.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Cipher.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Connection.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Context.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/cb.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/__init__.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
copying M2Crypto/SSL/Session.py -> build/lib.linux-x86_64-3.5/M2Crypto/SSL
running build_ext
building 'M2Crypto._m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -D__x86_64__ -I/usr/include/python3.5m -I/usr/include -I/usr/include/x86_64-linux-gnu -includeall -modern -builtin -outdir /tmp/pip-build-ejd_4lk_/m2crypto/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
/usr/include/x86_64-linux-gnu/sys/cdefs.h:159: 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:274: 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:23: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_evp.i:184: 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:237: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_ssl.i:238: Warning 454: Setting a pointer/reference variable may leak memory.
SWIG/_x509.i:335: 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-3.5
creating build/temp.linux-x86_64-3.5/SWIG
....
At top level:
SWIG/_m2crypto_wrap.c:3993:13: warning: ‘lock_count’ defined but not used [-Wunused-variable]
static long lock_count[CRYPTO_NUM_LOCKS];
^~~~~~~~~~
SWIG/_m2crypto_wrap.c:3992: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
----------------------------------------
**`Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/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-ecxgdei0-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ejd_4lk_/m2crypto/`**
failed to install, when i tierd to install it got:
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
---------------------------------------- **`Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ejd_4lk_/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-ecxgdei0-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ejd_4lk_/m2crypto/`**
> could someone help me please to fix this problem ?, thanks!
M2Crypto is the most complete Python wrapper for OpenSSL featuring RSA, DSA, DH, EC, HMACs, message digests, symmetric ciphers (including AES); SSL functionality to implement clients and servers; HTTPS extensions to Python's httplib, urllib, and xmlrpclib; unforgeable HMAC'ing AuthCookies for web session management; ...
We are able to use m2crypto on Python 3 with following global packages libssl-dev swig python3-dev gcc
so
sudo apt-get install libssl-dev swig python3-dev gcc
should allow install m2crypto via PIP for Python 3 (tested on version 0.32)
M2Crypto (as of version 0.26) does not officially support Python 3. Officially supported Python versions are:
Programming Language :: Python :: 2.6
Programming Language :: Python :: 2.7
The issue you're having is same as described in https://gitlab.com/m2crypto/m2crypto/issues/114#note_13223251
You can find out which popular libraries are compatible with Python 3 at http://py3readiness.org/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With