Mantis - ap2_modperl
Viewing Issue Advanced Details
4749 packaging minor always 2011-04-08 15:08 2012-07-25 09:22
LFMM  
dam  
normal  
closed  
fixed  
none    
none  
0004749: ap2_modperl from "current" requires BDB 4.7 and 4.8, fails to link to 4.7
Hello, world.

I cannot use ap2_modperl directly because it fails to link to libdb-4.7 (but it IS installed!!). See ldd output in "additional information".

A symlink to /opt/csw/bdb47/lib/libdb-4.7.so under /opt/csw/lib solves the issue, but I'm not happy about the linking status afterwards (it uses both BDB 4.7 and 4.8).

For my own education, where does the "misterious" dependency on 4.8 come from? It's not listed in the "dump" output. Also, the RPATH doesn't make much sense to me (refers to BDB 4.4, but NEEDS specifies 4.7). Finally, "current" pkgutil introduces BDB 4.8, can mod_perl be rebuilt against it and get rid of 4.7?

Thanks.
# ldd /opt/csw/apache2/libexec/mod_perl.so
        libperl.so => /opt/csw/lib/sparcv8/libperl.so
        libsocket.so.1 => /lib/libsocket.so.1
        libnsl.so.1 => /lib/libnsl.so.1
        libdb-4.7.so => (file not found)
        libdl.so.1 => /lib/libdl.so.1
        libm.so.1 => /lib/libm.so.1
        libpthread.so.1 => /lib/libpthread.so.1
        libc.so.1 => /lib/libc.so.1
        libdb-4.8.so => /opt/csw/bdb48/lib/libdb-4.8.so
        libmp.so.2 => /lib/libmp.so.2
        libmd.so.1 => /lib/libmd.so.1
        libscf.so.1 => /lib/libscf.so.1
        libresolv.so.2 => /lib/libresolv.so.2
        librt.so.1 => /lib/librt.so.1
        libdoor.so.1 => /lib/libdoor.so.1
        libuutil.so.1 => /lib/libuutil.so.1
        libgen.so.1 => /lib/libgen.so.1
        libaio.so.1 => /lib/libaio.so.1
        libm.so.2 => /lib/libm.so.2
        /platform/SUNW,Sun-Fire-V490/lib/libc_psr.so.1
        /platform/SUNW,Sun-Fire-V490/lib/libmd_psr.so.1

# gfind /opt/csw/ -name libdb-4.7.so
/opt/csw/bdb47/lib/sparcv9/libdb-4.7.so
/opt/csw/bdb47/lib/libdb-4.7.so


# dump -Lv /opt/csw/apache2/libexec/mod_perl.so |grep PATH
[11] RUNPATH /opt/csw/lib/$ISALIST:/opt/csw/lib:/opt/csw/bdb44/lib:/opt/csw/lib
[12] RPATH /opt/csw/lib/$ISALIST:/opt/csw/lib:/opt/csw/bdb44/lib:/opt/csw/lib

# dump -Lv /opt/csw/apache2/libexec/mod_perl.so |grep NEEDED
[1] NEEDED libperl.so
[2] NEEDED libsocket.so.1
[3] NEEDED libnsl.so.1
[4] NEEDED libdb-4.7.so
[5] NEEDED libdl.so.1
[6] NEEDED libm.so.1
[7] NEEDED libpthread.so.1
[8] NEEDED libc.so.1
Issue History
2011-04-08 15:08 LFMM New Issue
2011-04-13 10:47 LFMM Note Added: 0008958
2012-07-17 19:06 gadavis Note Added: 0010035
2012-07-17 21:42 dam Status new => assigned
2012-07-17 21:42 dam Assigned To => dam
2012-07-17 22:48 dam Note Added: 0010036
2012-07-17 22:48 dam Status assigned => feedback
2012-07-18 01:52 gadavis Note Added: 0010048
2012-07-18 01:53 gadavis Status feedback => assigned
2012-07-25 09:22 dam Note Added: 0010056
2012-07-25 09:22 dam Status assigned => closed
2012-07-25 09:22 dam Resolution open => fixed

Notes
(0008958)
LFMM   
2011-04-13 10:47   
Rebuilding the package from the GAR HEAD but in a cleaner environment solves all problems.
(0010035)
gadavis   
2012-07-17 19:06   
If you install CSWbdb, this problem goes away. I think the current package has the wrong dependency.
(0010036)
dam   
2012-07-17 22:48   
I updated the modules and the 2.0.7 module does not link to bdb directly any more. The module is available at
  http://buildfarm.opencsw.org/experimental.html#ap2modperl [^]
The previous maintainer is gone, so the bug was left for some time, but it would be great if you could give it a go!

Best regards -- Dago
(0010048)
gadavis   
2012-07-18 01:52   
Thanks Dago, seems to work as advertised. I removed the CSWbdb stub package which provided the symlinks, and installed the experimental version of ap2_modperl. My web server fired up and the perl CGIs all seem to work fine.
(0010056)
dam   
2012-07-25 09:22   
Version 2.0.7,REV=2012.07.17 has been pushed to unstable/.