Lighttpd has a bunch of loadable modules, one of which provides all
authentication services. If we build Lighttpd with ldap support, the
authentication module mod_auth.so is linked with not only libldap, but
with many/all of the libraries that libldap links with.
When we enable mod_auth in the Lighttpd config file, Lighttpd fails to
load the module with the following error (it then bails out):
2008-03-07 18:00:27: (plugin.c.205) ld.so.1: lighttpd: fatal:
nspr_use_zone_allocator: can't find symbol
2008-03-07 18:00:27: (server.c.621) loading plugins finally failed
This is a result of lighttpd dlopen()'ing mod_auth.so and then calling
dlsym() to lookup an as yet unknown symbol. We are aware of some issues
with Solaris LDAP with Apache and PHP, and we maybe running into
something similar with this issue, although we've looked on Sunsolve
(and googled) and while there is a similar issue with Firefox there is
no resolution and seemingly nothing we can apply.
We've used LD_DEBUG but it's tough to use it to drill down into an
issue. If that will help then we may need guidance on how best to use it.
We don't know how best to move this forward. Anyone have any suggestions
on where to look?
We is the "royal we" meaning me, and I admit that I'm on a pretty steep
learning curve.
ldd on mod_auth.so gives the following:
root at grond# ldd /usr/lighttpd/1.4/lib/mod_auth.so
libsendfile.so.1 => /lib/libsendfile.so.1
libldap.so.5 => /usr/lib/libldap.so.5
libresolv.so.2 => /lib/libresolv.so.2
libnsl.so.1 => /lib/libnsl.so.1
libsocket.so.1 => /lib/libsocket.so.1
libc.so.1 => /lib/libc.so.1
libsasl.so.1 => /usr/lib/libsasl.so.1
libmd.so.1 => /lib/libmd.so.1
libnspr4.so => /usr/lib/mps/libnspr4.so
libplc4.so => /usr/lib/mps/libplc4.so
libnss3.so => /usr/lib/mps/libnss3.so
libssl3.so => /usr/lib/mps/libssl3.so
libmp.so.2 => /lib/libmp.so.2
libscf.so.1 => /lib/libscf.so.1
libpthread.so.1 => /lib/libpthread.so.1
libthread.so.1 => /lib/libthread.so.1
librt.so.1 => /lib/librt.so.1
libdl.so.1 => /lib/libdl.so.1
libsoftokn3.so => /usr/lib/mps/libsoftokn3.so
libplds4.so => /usr/lib/mps/libplds4.so
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
libbsm.so.1 => /lib/libbsm.so.1
libsecdb.so.1 => /lib/libsecdb.so.1
libtsol.so.2 => /lib/libtsol.so.2
libm.so.2 => /lib/libm.so.2
Thanks
Amanda