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.