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

Reply via email to