python-ldap
pythonでLDAPを使う場合、python-ldapをインストールします。ここhttp://python-ldap.sourceforge.net/からダウンロード可能。これを使うにはOpenLDAPが必要です。OpenLDAPをインストールした後にこんな風にpython-ldapをインストール。最新は2.3.1です。
$ tar -zxvf python-ldap-2.3.1.tar.gz $ cd python-ldap-2.3.1 $ /usr/local/bin/python setup.py build # /usr/local/bin/python setup.py install
これで使えるようになったかというとそんなに簡単ではなく、こんなエラーが出たりします。
$ /usr/local/bin/python Python 2.4.4 (#1, May 2 2007, 09:13:58) [GCC 4.1.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import ldap Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/local/lib/python2.4/site-packages/ldap/__init__.py", line 23, in ? from _ldap import * ImportError: /usr/local/lib/python2.4/site-packages/_ldap.so: undefined symbol: ldap_cancel
なんだこりゃ? _ldap.soがldapのライブラリが全然見えてないみたいです。python-ldapのソースでsetup.cfgを編集する必要があるようです。setup.cfg中の以下の2行を変更。こうなっているのを、
library_dirs = /usr/local/openldap-2.3/lib include_dirs = /usr/local/openldap-2.3/include /usr/include/sasl
適当に変更。今回の環境ではldapは/usr/localにインストールされているので以下のように変更しました。
library_dirs = /usr/local/lib include_dirs = /usr/local/include /usr/include/sasl
これで再度setup.py buildを実行してインストール。これで解決しました。