Mantis - apache2
Viewing Issue Advanced Details
4930 regular use major always 2012-03-30 09:41 2012-07-30 03:40
max_meyer  
bwalton  
normal  
closed  
fixed  
none    
none  
0004930: mod_ldap needs another package installed (missing package dependency?)
I stumbled over an issue using mod_ldap.

You get a HTTP error 500 with

[Fri Mar 30 09:22:28 2012] [info] [client <ip>] [389] auth_ldap authenticate: user <user> authentication failed; URI /cgi-bin/gitweb.cgi [LDAP: ldap initialization failed][Unknown (private extension) error]

in the error log file and ENOENT with truss

389: stat64("/opt/csw/apache2/lib/apr_ldap-1.so", 0xFFBFC330) Err#2 ENOENT
389: stat64("/opt/csw/apache2/lib/apr-util-1/apr_ldap-1.so", 0xFFBFC330) Err#2 ENOENT
389: stat64("/opt/csw/lib/apr-util-1/apr_ldap-1.so", 0xFFBFC330) Err#2 ENOENT

The cause for the problem was a missing package. CSWapache2 doesn't depends on it. You need to install libaprutil1_ldap (CSWlibaprutil1-ldap, http://www.opencsw.org/packages/CSWlibaprutil1-ldap/) [^] by hand to get it running.

It might be worth to add that dependency to the apache2 package.

Cheers,
MaxMeyer

Issue History
2012-03-30 09:41 max_meyer New Issue
2012-03-31 21:12 bwalton Note Added: 0009787
2012-03-31 21:12 bwalton Assigned To => bwalton
2012-03-31 21:12 bwalton Status new => feedback
2012-04-02 11:46 max_meyer Note Added: 0009788
2012-04-03 18:12 bwalton Project apache2 => libaprutil1_0
2012-04-03 18:16 bwalton Note Added: 0009790
2012-04-13 16:19 dam Note Added: 0009801
2012-04-13 18:03 dam Project libaprutil1_0 => apache2
2012-04-13 18:05 dam Note Added: 0009803
2012-06-02 02:30 bwalton Note Added: 0009892
2012-06-02 02:30 bwalton Status feedback => assigned
2012-07-30 03:40 bwalton Note Added: 0010065
2012-07-30 03:40 bwalton Status assigned => closed
2012-07-30 03:40 bwalton Resolution open => fixed

Notes
(0009787)
bwalton   
2012-03-31 21:12   
Hi Max,

Can you tell me which binary has this dependency? I'll make the required fixes when I know that.

Thanks
-Ben
(0009788)
max_meyer   
2012-04-02 11:46   
Hi Ben,

ldd seems not the tool which helps a lot with this kind of problem. truss could not help either.

I used "strings" (hint from a colleague) and it turns out that "libaprutil-1.so.0" contains a string "apr_ldap-1.so".

strings /opt/csw/lib/sparcv8/libaprutil-1.so.0 | grep ldap
[...]
apr_ldap-1.so

truss:
------
1572: 3.1254 stat64("/opt/csw/lib/apr-util-1/apr_ldap-1.so", 0xFFBFEB48) = 0
1572: 3.1256 resolvepath("/opt/csw/lib/apr-util-1/apr_ldap-1.so", "/opt/csw/lib/apr-util-1/apr_ldap-1.so", 1023) = 37
1572: 3.1260 open("/opt/csw/lib/apr-util-1/apr_ldap-1.so", O_RDONLY) = 32

Cheers,
Max
(0009790)
bwalton   
2012-04-03 18:16   
Hi Dago,

This bug seems to indicate that the privately libraries from libaprutil should be included in the main package (or depended on). They're being dlopen()'d at runtime leading to issues like the one Max reported if not available.

I could do this with dependencies in apache too, but because we're dealing with dlopen(), I'm not sure that's the right place to fix it. If I were to do it there, I'd split mod_ldap to ap2_mod_ldap and then make it depend on the ldap package and apr_util_ldap.

Thoughts?

Thanks
-Ben
(0009801)
dam   
2012-04-13 16:19   
As CSWlibaprutil1-0 having CSWlibaprutil1-ldap as reverse dependency the static solution would be to reintegrate all APR libs into one package again - which we deliberately splitted to minimize dependency footprint. So I concur in adding CSWlibaprutil1-ldap as dependency to mod_ldap.

However, mod_ldap seems to be for Apache 1.x *only*. Are you really using the package CSWmodldap ?
(0009803)
dam   
2012-04-13 18:05   
I just had a conversation on IRC with a user having the same problem. It occurred when activating
  /opt/csw/apache2/libexec/mod_ldap.so
  /opt/csw/apache2/libexec/mod_authnz_ldap.so
As these are part of CSWapache2 I recommend to add the dependency to CSWlibaprutil1-ldap to CSWapache2.
(0009892)
bwalton   
2012-06-02 02:30   
The test package set here has the new dependecy: http://buildfarm.opencsw.org/experimental.html#apache2 [^]

Please confirm that installing this set resolves the issue for you.

Thanks
-Ben
(0010065)
bwalton   
2012-07-30 03:40   
Added dependency should resolve this.