Hi. I am unsuccessfully trying to use DBI under mod_perl on HP-UX
(Apache 2.0.55). I have tried compiling different ways and reading
everything I can find from searching the web, but I can't seem to
solve this one.

Here are details of my config:

Apache/2.0.55 HP-UX_Apache-based_Web_Server (Unix) mod_perl/1.99_16
Perl/v5.8.3 DAV/2 PHP/5.0.4 mod_jk2/2.0.3-dev configured

Summary of my perl5 (revision 5.0 version 8 subversion 3)
configuration:
Platform:
osname=hpux, osvers=11.11, archname=PA-RISC2.0
uname='hp-ux server b.11.11 u 9000800 746477156 unlimited-user
license '
config_args='-A prepend:libswanted=cl pthread -Duselargefiles'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='/opt/ansic/bin/cc', ccflags =' -Ae -D_HPUX_SOURCE -Wl,
+vnocompatwarnings -I/usr/local/include -D_LARGEFILE_SOURCE ',
optimize='-O2',
cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -Aa -Ae -D_HPUX_SOURCE
-Wl,+vnocompatwarnings -I/usr/local/include'
ccversion='B.11.11.24830.GP', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
alignbytes=8, prototype=define
Linker and Libraries:
ld='/usr/bin/ld', ldflags ='-L/usr/local/lib -L/opt/ansic/lib'
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib /opt/ansic/lib
libs=-lcl -lpthread -lnsl -lnm -lndbm -lmalloc -ldld -lm
perllibs=-lcl -lpthread -lnsl -lnm -lmalloc -ldld -lm
libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -
Wl,-B,deferred '
cccdlflags='+Z', lddlflags='-b +vnocompatwarnings -L/usr/local/lib
-L/opt/ansic/lib'


The Apache installation is the standard "HPWS" (HP Web Server)
package.

When a module is loaded by the server and said module includes DBI.pm,
I get the following error in Apache's error_log:

failed to resolve handler `bem::bem1': Can't find 'boot_DBI' symbol
in /opt/perl/lib/site_perl/5.8.3/PA-RISC2.0/auto/DBI/DBI.sl\n at /opt/
perl/lib/5.8.3/PA-RISC2.0/
DBI.pm


Thus, it is able to find the module and shared library, but it cannot
find the symbol it's looking for in that file. A simple 'nm' shows
the symbol is indeed there.

# nm -x /opt/perl/lib/site_perl/5.8.3/PA-RISC2.0/auto/DBI/DBI.sl |
grep boot
boot_DBI |0x0001afd0|extern|code |$CODE$
boot_DBI |0x0001afd0|extern|entry |
dbi_bootinit |0x00007918|static|entry |$CODE$

#

So I assume I have some sort of a compilation/linking issue here, but
I can't say for sure what it may be. Maybe something to do with
static/dynamic linking? I tried building the DBI module with static
linking, but it failed during 'make test' with errors about Pari.a and
addresses there. Presumably this could mean that THAT needs to be
relinked as well, but I don't want to get into a huge mess if someone
has another suggestion.

Any thoughts would be much appreciated.

Thanks,

Eddie