All, ( last send was truncated by list server!?)
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