2011-10-24 64 views
1

我试图在64位centos 5.6和/或rhel 5.6上运行m2crypto。我已经编译了python 2.6并放置在一个单独的目录中(在centos/rhel上是必需的)。我试着编译m2crypto与内置的openssl 0.9.8e以及手动编译0.9.8e,并且行为是相同的。我甚至尝试过epel的python26和python26-m2crypto。它也崩溃。64位centos m2crypto在load_key期间崩溃

 
[[email protected] ~]# /usr/local/bin/python m2test.py 
Segmentation fault 

的代码是:

 
-----BEGIN RSA PRIVATE KEY----- 
MIIBOgIBAAJBAK/y+9J2tnTq0ZhesUV2BjtbY2ND+ZBsIPMACUCFGTbMS59JJ05e 
0s2WVqb7ljvm/KsWtJ9qoqnljeaX64E9llECAwEAAQJABZOA0Zm7jJcIj3ioy5fC 
+MybqMC1vxL+NFVS9b2CIA9p/f/F/FAZtSOL/+FvvccxnhNogB+J4VMXTbbEURn0 
5QIhANceLguDtazhDyjj+tVyIvGrkOfPEUs3lNWpiVABYea7AiEA0WMvE+SImzug 
Tj+PSDf2puHQqvoBFz9qJ+5pcT1EVGMCIHOMx4jx162kOqNpSnxK0dBkqvKJfK2d 
jnnylkp+Y5svAiBbH4f4Z0eQDvXnt796VWiRHcr67YwV+vIO6LGYp2oaMwIhAKBc 
ig+JAHsT9R5Gq9TZ67YcdfI4LHFdswXw/e7eBCs4 
-----END RSA PRIVATE KEY----- 

同样的测试工作在32位(当然,我们的应用程序:

from M2Crypto import EVP 

file = './foo' 
cert_priv_key = EVP.load_key(file) 

的关键FOO(使用OpenSSL genrsa该测试生成)使用这很多)。也许我已经用64位的错误选项编译了python或openssl。两者都启用并安装了共享库,添加到ldconfig等。

任何人都有提示吗?有没有人在64bit上成功运行python26 + m2crypto?

+0

你应该添加你的更新作为一个正确的答案;编辑你的问题的答案是不正确的。 –

+1

@JvilHuber:请将解决方案发布为答案并接受它。这是它在StackOverflow上的工作原理。 – Tadeck

+0

这不是更多的超级用户项目吗? –

回答

0

对于Centos5我做了以下内容:

cd /tmp/ 
mkdir rpmbuild 
cd rpmbuild/ 
wget http://downloads.sourceforge.net/project/swig/swig/swig-1.3.40/swig-1.3.40.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fswig%2Ffiles%2Fswig%2Fswig-1.3.40%2F&ts=1356897393&use_mirror=ignum 
tar xzvf swig-1.3.40.tar.gz 
cd swig-1.3.40 
./configure 
make 
make install 
yum info swig 
/usr/local/bin/swig -version 
mv /usr/bin/swig /usr/bin/swig-1.3.29 
cd /usr/bin/ 
ln -s /usr/local/bin/swig 

然后在接下来的步骤中输入我的virtualenv目录,激活它,从网站,包装中取出所有M2crypto鸡蛋。然后通过yum下载m2crypto来源,解压缩它,输入目录,然后执行./fedora_setup.py。而已。完成。

最新的Centos5更新没有依赖问题。