Red Hat Bugzilla – Bug 215928
Curl requires openldap-devel for ldap queries
Last modified: 2014-02-25 07:49:09 EST
Description of problem:
If openldap-devel isn't installed curl won't be able to fetch LDAP objects.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
curl -D - ldap://crl....
curl: (40) The liblber.so LDAP library/libraries couldn't be opened
[...] certificateRevocationList;binary: [...]
I'm not sure we want to add openldap-devel to Requires as the ldap:// requests
aren't very frequently used. Adding openldap-devel to Requires would cause
dependency bloat, what we don't wish, considering that 99% of cURL users don't
use ldap requests. Maybe we should enable the ldap support optionally in spec
I agree, I don't think openldap-devel should be a dependency, but maybe curl
could store the soname of the ldap library that was available when it was built,
and try dlopen()ing that.
Yes, you are right, something seems to be bad with CURL_DLLIB_NAME() function in
acinclude.m4, what tries to autodetect libraries and is used solely for
autodetection for libldap and liblber, which is broken.
The whole dynamic lib usage of ldap in (lib)curl is kind of broken but as said,
hardly anyone uses it and I would guess even less care about it enough to
actually change curl in this regard.
I added options to configure file so that curl should dlopen the libldap/liblber
libraries correctly to make the ldap:// requests work.
Why not just directly link against libldap in the first place?
There is an ABI dependency which doesn't get reflected in package depedencies by
using dlopen like this, which is pretty broken.
# rpm -q --requires curl | grep ldap
Yes, that's probably the only sane way to do it. Still, nobody cares enough to
do even that. Including myself.
Reopening a bug against Fedora 6 makes no sense. Fedora 6 is EOL since 2007 and the bug no longer exists in any currently supported Feodra release.