Sage doesn't install python-ldap nicely via easy_install (tested with 4.7 on CentOS 5.6 and OS X 10.6 -- same failure). Looks like it is a problem with the egg setup.cfg (2.3.5 to 2.3.9 from here). This forced me to do an install from a CVS checkout of python-ldap. I then had OpenLDAP and BerkeleyDB problems, so these were installed from the latest source versions (2.4.5 and 5.2.28 respectively).

For OpenLDAP, configure was run with:

   1 ./configure --with-cyrus-sasl --with-tls --prefix=/usr

For BerkeleyDB, configure was run with:

   1 cd build
   2 ../dist/configure --prefix=/usr

The main thing for installing python-ldap was getting the following lines set properly in setup.cfg:

   1 library_dirs = /usr/lib /usr/lib64
   2 include_dirs = /usr/include /usr/include/sasl
   3 libs = ldap_r lber sasl2 ssl crypto
   4 requires = python libldap_r.so.2

And then doing LDAP authentication is stupidly simple:

   1 import ldap
   2 con = ldap.initialize('ldap://nebio-directory.in.hwlab')
   3 con.simple_bind_s("uid=ijstokes,cn=users,cn=portal,dc=nebiogrid,dc=org", "cleartext_password")