いくつかの助け、提案、エラーの説明がありますが、おそらく完全な答えではありません:
OpenSSL @ https://github.com/mxcl/homebrew/blob/master/Library/Formula/openssl.rbの Brew レシピを見ると、ビルドした OpenSSL が 64 ビットのみである可能性が高いようです。Python 用の拡張機能をビルドする場合、OS の既定の Python に対してビルドすると、通常、ユニバーサル バイナリ (i386+x86_64) をビルドした場合にのみ正しく機能します。
OSX は、安全にビルドできる 10.9 SDK でデフォルトで OpenSSL を提供しますが、いくつかの問題を引き起こす可能性のある新しい OpenSSL が必要な場合。
これをデバッグするためのいくつかのトリック:
「file /Users/user/.python-eggs/M2Crypto-0.21.1-py2.7-macosx-10.9-intel.egg-tmp/M2Crypto/__m2crypto.so」を実行して、ライブラリがどのように構築されたかを確認します。x86_64共有ライブラリのみであり、太い共有ライブラリ(i386 + x86_64)ではないと言うでしょう。
export DYLD_INSERT_LIBRARIES=/usr/local/lib/$WHATEVER_LIBOPENSSLS_FILENAME_IS によって、OpenSSL ライブラリを共有 lib プリロード リストに追加します。
他のいくつかの考え-「フラットな名前空間で期待される」問題は、通常、コンパイル時に ld -flat_namespace を渡すことで解決されます。そうでない場合、これはデフォルトで発生するはずです-それはちょっと奇妙です。これは、10.5 または 10.6 以降、OSX 上の Python の「標準的な」問題ではありませんでした。
M2Crypto は多くのアクティビティを見ていません。最後のコミットは 2011 年でした。必要に応じて、個人的に別の暗号ライブラリに切り替えたいと思います。
- - 編集 - -
これを試して、make distclean (または make clean のいずれか) を実行します。
次にこれを試してください:
このブロブを 'make' の最後までカット アンド ペーストするだけです。これは 1 つのコマンドです。
SDK_DIR="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/" \
LDFLAGS="-isysroot ${SDK_DIR}" \
CPPFLAGS="-I${SDK_DIR}/usr/include -isysroot ${SDK_DIR}" \
CFLAGS="-I${SDK_DIR}/usr/include -isysroot ${SDK_DIR}" \
./configure && make
それでもうまくいかない場合は、次のフラグを CFLAGS と LDFLAGS に追加してください。
-flat_namespace -undefined suppress
もう一度試してみますか?これらのフラグのいずれかをもう使用することは想定されていませんが、M2Crypto と同じくらい古いものでは、それが必要になる場合があります。