M2Crypto の以前のバージョンからの回帰バグがあるようです。
M2Crypto のソースを virtualenvに配置した後、以下のdiffコードでパッチ を当てることができます。
これを行うには、ソース コードをダウンロードし、次の方法で解凍します。
tar -xzf M2Crypto-0.21.1.tar.gz
これにより、ディレクトリM2Crypto-0.21.1
を含むSWIG
ディレクトリが作成されます
に、パッチを適用するファイルがありますSWIG
。_ssl.i
同じディレクトリ_ssl.i.patch
に、たとえばnanoエディターを使用してという名前のファイルを作成し、以下にリストされている完全な diff コードをそのファイルに貼り付けます。
次にpatch _ssl.i _ssl.i.patch
、パッチをコードにマージするコマンドを発行します。(その後、必要に応じてパッチ ファイルを削除できます。)
最後に次のコマンドを発行します。
python setup.py build
に続く:
python setup.py install
手動でインストールします。
差分コード:
--- SWIG/_ssl.i 2011-01-15 20:10:06.000000000 +0100
+++ SWIG/_ssl.i 2012-06-17 17:39:05.292769292 +0200
@@ -48,8 +48,10 @@
%rename(ssl_get_alert_desc_v) SSL_alert_desc_string_long;
extern const char *SSL_alert_desc_string_long(int);
+#ifndef OPENSSL_NO_SSL2
%rename(sslv2_method) SSLv2_method;
extern SSL_METHOD *SSLv2_method(void);
+#endif
%rename(sslv3_method) SSLv3_method;
extern SSL_METHOD *SSLv3_method(void);
%rename(sslv23_method) SSLv23_method;