ここで、Python 2.6コードに基づいたWebサーバーを実行しようとしています。サーバーを実行するには、python LDAP ライブラリが必要です。私は Mac OS X Lion で作業しているため、Python に LDAP を認識させるには、python-ldap 2.4.7 を手動でインストールする必要がありました。Python-ldap は正しくインストールされているように見えますが、Web サーバーを実行しようとすると、次のエラーが表示されます (わかりやすくするためにいくつかの改行を追加しました)。
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/python_ldap-2.4.7-py2.6-macosx-10.7-fat.egg/_ldap.so, 2 ): シンボルが見つかりません: _ber_pvt_opt_on
参照元: /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/python_ldap-2.4.7-py2.6-macosx-10.7-fat.egg/_ldap.so
想定される場所: /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/python_ldap-2.4.7-py2.6-macosx-10.7-fat.egg/_ldap.so のフラットな名前空間
私は OpenLDAP 2.4.21 を使用しており、python-ldap インストールを実行する前に次のシステム変数を設定しています。
export ARCHFLAGS="-arch i386"
export CFLAGS="-isysroot /Developer/SDKs/MacOSX10.7.sdk -arch i386"
export MACOSX_DEPLOYMENT_TARGET="10.7"
また、Oracle の 64 ビット サポートに関するいくつかの問題を回避するために、インストールしたすべてのものを 64 ビットではなく 32 ビット アーキテクチャを使用するように強制する必要があったことにも言及する必要があります。同様の状況に遭遇した人はいますか、または LDAP が探していた「_ber_pvt_opt_on」シンボルの重要性を知っていますか? 私が思いついた Google の検索結果の数は少なく、役に立ちませんでした。状況に光を当てていただければ幸いです。