如何在Ubuntu上安装M2Crypto?
我正在尝试在Ubuntu 10.04 LTS上构建和安装M2Crypto。我下载并解压了M2Crypto-0.20.2.tar,然后在M2Crypto-0.20.2这个文件夹里运行了 python setup.py build
。结果出现了错误,因为我没有安装swig。于是我执行了 sudo apt-get install swig
来安装它。之后我又试了一次 python setup.py build
,结果又出现了错误:
/usr/lib/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'test_suite'
warnings.warn(msg)
running build
running build_py
running build_ext
building 'M2Crypto.__m2crypto' extension
swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
swig -python -I/usr/include/python2.6 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
SWIG/_bio.i:64: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_rand.i:19: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_evp.i:156: 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:207: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_x509.i:313: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:42: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_pkcs7.i:42: Warning(454): Setting a pointer/reference variable may leak memory.
SWIG/_util.i:9: 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:162: Warning(454): Setting a pointer/reference variable may leak memory.
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -I/usr/include -I/home/dspitzer/M2Crypto-0.20.2/SWIG -c SWIG/_m2crypto_wrap.c -o build/temp.linux-i686-2.6/SWIG/_m2crypto_wrap.o -DTHREADING
SWIG/_m2crypto_wrap.c:126:20: error: Python.h: No such file or directory
SWIG/_m2crypto_wrap.c:757: error: expected ‘)’ before ‘*’ token
SWIG/_m2crypto_wrap.c:781: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
...等等。
有没有人成功做到这一点?
更新:我改了标题,因为我之前没想到M2Crypto会是一个预先构建好的Ubuntu软件包。
3 个回答
2
可能有人会遇到与openssl相关的错误,可以试试这个:
sudo apt-get install openssl
sudo apt-get install libssl-dev
3
你有没有安装python2.6-dev这个软件包?这个软件包里包含了你缺少的Python.h文件。
30
你可能需要安装Python开发包:
sudo apt-get install python-dev
更好的办法是,别自己去编译m2crypto。它已经作为一个完全支持的包在Ubuntu的仓库里了。这样,你就可以通过和其他Ubuntu系统一样的方式,自动更新它:
sudo apt-get install python-m2crypto