If i use python-ldap2.0.0pre13 from portage, the package can't be imported to my application. i get the following error: matrix::bin> ./ldap-commander Traceback (most recent call last): File "./ldap-commander", line 18, in ? run_it() File "./ldap-commander", line 10, in run_it gui = MainWin(None) File "./../lib/ldap-commander/base/gui/MainWin.py", line 19, in __init__ self.load_plugins() File "./../lib/ldap-commander/base/gui/MainWin.py", line 43, in load_plugins pluginObject = PluginLoader(self.check_to_load()) File "./../lib/ldap-commander/base/backend/PluginLoader.py", line 29, in __init__ self.load_plugin_code() File "./../lib/ldap-commander/base/backend/PluginLoader.py", line 63, in load_plugin_code exec fileObject in locals() File "/daten/src/praktikum/ldap-commander/lib/ldap-commander/plugins/search_plugin/search_plugin.py", line 12, in ? from plugins.search_plugin.SearchView import SearchView File "./../lib/ldap-commander/plugins/search_plugin/SearchView.py", line 11, in ? from base.utils.gui.SearchForm import SearchForm File "./../lib/ldap-commander/base/utils/gui/SearchForm.py", line 10, in ? import ldap File "/usr/lib/python2.2/site-packages/ldap/__init__.py", line 21, in ? from _ldap import * ImportError: /usr/lib/python2.2/site-packages/_ldap.so: undefined symbol: ldap_first_reference If I compile the package on my own, the import of python-ldap works. I had a look in the ebuild and noticed, that the settings for the variable ${mylibs} are different than in my setup.cfg. here is my line: libs = ldap lber ssl crypto As you may notice, I don't use SASL and I use ldap instead of ldap_r (which is always used in the ebuild). After I changed the ebuild to use ldap instead of ldap_r, the ebuild and the import of the package into my application worked, too. Maybe you know, what the difference between ldap and ldap_r is? As a sidenote, the package works without any problems in my application. I use a lot of the built-in functionality and never experienced an error from this release of the python-ldap package. Maybe it can be moved to stable soon??? Reproducible: Always Steps to Reproduce: 1. run 'python' to enter the python-interpreter 2. 'import ldap' Actual Results: Import Error: >>> import ldap Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.2/site-packages/ldap/__init__.py", line 21, in ? from _ldap import * ImportError: /usr/lib/python2.2/site-packages/_ldap.so: undefined symbol: ldap_first_reference Expected Results: The module should have been imported.
i'm not too sure what the difference is between ldap and ldap_r. according to your information, it is probably something to do with an optimised build or something with sasl. i've changed it to use ldap instead of ldap_r when without sasl. i want to test it for a bit longer before putting it into stable, especially since so little people use this. but it will be put into stable soon.