python-ldap OS X 10.6 和 Python 2.6

7 投票
4 回答
5174 浏览
提问于 2025-04-16 20:15

我正在为我的Django项目安装python-ldap,已经尝试了easy_install、pip,还有自己编译,但还是遇到同样的错误:

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

这是怎么回事呢?

4 个回答

2

我在10.7(狮子系统)上使用easy_installpip时也遇到了同样的错误。手动安装2.3.13版本解决了这个问题。

7

我在Mac OS X 10.6上用命令pip install python-ldap==2.3.13成功解决了问题。

7

这个问题和解决方案的详细信息可以在这里找到。

总结一下:在10.7.{0,1}的系统中,工具和头文件都是来自OpenLDAP 2.4.x版本,而库文件则是来自OpenLDAP 2.2.0版本。解决办法是重新编译OpenLDAP库,使其与系统的头文件匹配,然后把python-ldap链接到这些库上。

所有的功劳都归于Rob McBroom

撰写回答