Hi,

Thought ( or hoped ) this might be useful to any folk building on the HPUX 11 platform 
:

Attempting to do this build causes Apache configure to fail with undefined symbols at 
sanity compile. This may be specific to the version of Oracle ( 8.1.6 ) that I used, 
as it seems to have several apparently vital object files not installed into 
libraries, just "lying around" there...

In addition the mod_perl configure process writes -Aa -D_HPUX_SOURCE into various 
cflags . This causes the Apache make process to fail complaining about  -Aa 
-D_HPUX_SOURCE +e or -Ae being required  ( something about long integers )

By being a bit brutal with the Apache src/Configure script and then running a ( small 
) sed script on all Makefiles I managed
to get it to build just fine - but it took a while to work out what was going on... ( 
not being a "configure" or perl build  expert )

  
Details are as follows :


All builds were done using HP's ANSI C compiler

Perl 5005_03 Build
--------------
I installed perl + DBI-1.13 + DBD-Oracle-1.06.
this required a STATIC build for DBD-Oracle 
the version of Oracle is 8.1.6
the os is HPUX 11 ( 32-bit )

mod_perl 1.24 build
---------------------
1       perl Makefile.PL APACHE_SRC=<apache src>  DO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 
EVERYTHING=1
2       make
3       make install

Apache 1.3.12 build
-------------------

1       ./configure --prefix=<prefix> --activate-module=src/modules/perl/libperl.a
        this fails with many undefined symbols , this was due to "perl 
-MExtUtils::Embed -e ldotps" ( run by Configure ) removing
        the following object files from the library string :
        <oracle_home>/lib/nautab.o
        <oracle_home>/lib/naeet.o
        <oracle_home>/lib/naect.o
        <oracle_home>/lib/naedhs.o
        <oracle_home>/rdbms/lib/kpudfo.o

2       cp src/Makefile.config to src/Makefile.config.new
3       edit the .new adding in the libraries to LIBS1
        that "perl -MExtUtils::Embed -e ldotps" ( in mod_perl.config.sh ) removes - 
see 1
4       edit src/Configure getting it to cp Makefile.config.new over Makefile.config 
just before the sanity compile
5       run configure again
6       run a sed script on each Makefile in the apache tree to change -Aa to -Ae ( 
sed 's/-Aa/-Ae/g' file1 > file2 )
7       run make
8       run make install
9       edit prefix/conf/httpd.conf to enable the mod perl bits 
10      edit prefix/conf/httpd.conf to know about ORACLE_HOME ( SenEnv ORACLE_HOME 
<oracle home> )

Cheers 
Mark

P.s : I know people are going to say " Use GCC and it will be ok".... I did try this 
on a ( different ) HPUX 11 box and still
Oracle-DBD would not run if built dynamically - it built ok but the loader refused to 
load Oracle.sl, something about threaded library... ! no such issue arises on HPUX 
10.20 and Oracle 8.0.5...)

Reply via email to