All, I have just spent far too long building perl 5.8.0, DBI-1.38 and DBD-Oracle-1.14 on HPUX 11.0 ( an L2000 machine ) with Oracle 9.0.1. Having finally succeeded I thought I'd share my knowledge !! Yes, I know it's in all those README files but it takes much careful reading.
Unpack the perl source and configure with: ./Configure -Ubincompat5005 -Duselargefiles -Dprefix=/opt/perl-5.8.0 When asked: 1/ Build it "Not threaded" 2/ "What libraries to use?" then prepend with -lcl -lpthread 3/ "Any additional cc flags?" then prepend with +z +DAportable +DSPA7300 ( latter 2 allow it to run on a PA1.1 architecture machine too . They are only required if this portability is required. ) Then answer & -d to a prompt to take defaults from then on. Rest of perl just "make", "make test" and "make install". I had to build BDI and DBD-Oracle statically linked. For DBI: perl Makefile.PL LINKTYPE=static make make perl (makes a perl binary in current directory) make test FULLPERL=./perl (run tests using the new perl binary) Make -f Makefile.aperl inst_perl MAP_TARGET=perl ( installs the new perl ) make install ( installs DBI ) For DBD-Oracle: DBD-Oracle requires Oracle environment setting first i.e. export ORACLE_USERID=spsystem/reganam export ORACLE_HOME=/oracle/product/9.0.1 export SHLIB_PATH=$ORACLE_HOME/lib32 #for 32bit HP export LD_LIBRARY_PATH=$ORACLE_HOME/lib32 #for 64bit HP ( I defined them both! And also to the 32 bit libs so, hopefully, my build would be OK on the PA1.1 machine, as mentioned earlier. ) export TNS_ADMIN=/oracle/network/clients export TWO_TASK=stoc1_901 export LDOPTS=+s # Also set LD options. This option was critical !!! *** The Makefile needed editing! *** Edit Makefile.PL and add main:: to the front of each call to hpux_libdir. i.e. so it looks like my $libdir = main::hpux_libdir(); perl Makefile.PL -l LINKTYPE=static # note -l is OK with version 1.14 make make perl (makes a perl binary in current directory) make test FULLPERL=./perl (run tests using the new perl binary) make -f Makefile.aperl inst_perl MAP_TARGET=perl ( installs the new perl ) make install ( installs DBD-Oracle ) I hope someone finds this useful. Garry Ferguson