2011-10-24 10 views
1

私は、m2cryptoを64ビットのcentos 5.6やrhel 5.6で実行しようとしています。私はPython 2.6をコンパイルし、別のディレクトリに配置しました(centos/rhelに必要)。私は組み込みのopenssl 0.9.8eと0.9.8eを手作業でコンパイルしてm2cryptoをコンパイルしようとしましたが、動作は同じです。私もepelのpython26とpython26-m2cryptoを試しました。それもクラッシュします。load_keyの間に64bitのm2cryptoクラッシュが発生する

 
[[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などに追加しました。

誰かは何かヒントはありますか?誰かが64ビットでpython26 + m2cryptoを正常に実行しましたか?

+0

適切な回答として更新を追加する必要があります。質問への回答の編集が間違っています。 –

+1

@ JvilHuber:解決策を回答として投稿し、受け入れてください。これはStackOverflow上で動作する方法です。 – Tadeck

+0

とにかくこれほどSuperUserのアイテムではないですか? –

答えて

2

これは、私がm2cryptoをコンパイルするために使用していたswigのバージョンの問題です。私はswig-1.3.29-2.el5の順番で何かを使っていました。最新のswigにアップグレードしてm2cryptoを再コンパイルすると、問題が修正されます。私は次のようでしたCentos5のための参照https://bugzilla.redhat.com/show_bug.cgi?id=707676

0

を参照してください:

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のソースをダウンロードし、untar-edして、ディレクトリに入り、./fedora_setup.pyを実行しました。それでおしまい。完了しました。

最新のCentos5アップデートでは、依存関係の問題は発生しませんでした。

関連する問題