Trying to install python-ldap for my Django project -- so far tried easy_install, pip, as well as building myself, but still getting the same errors:
dlopen(/Library/Python/2.6/site-packages/_ldap.so, 2): Symbol not found: _ldap_create_assertion_control_value
Referenced from: /Library/Python/2.6/site-packages/_ldap.so
Expected in: flat namespace
in /Library/Python/2.6/site-packages/_ldap.so
What's going on?
The problem and solution are documented here.
Summary: The 10.7.{0,1} system tools and headers are all from OpenLDAP 2.4.x while the libraries are from OpenLDAP 2.2.0. The solution is to build the OpenLDAP libs to match the system headers and link python-ldap with those.
All credit goes to Rob McBroom.
pip install python-ldap==2.3.13 did the trick for me (Mac OS X 10.6)
I encountered the same error under 10.7 (Lion) using
easy_install
andpip
. Manually installing 2.3.13 was the answer there as well.I had to modify setup.cfg to get this to work on OS X. Here's what I did:
Modify the following lines in setup.cfg:
Then continue with "normal" installation: