Ralph, I had exactly the same problem but I solved it last night: I sent
this to another user on the list but I feel I should repeat it to the list
to help anyone in a similar situation. Here is my solution, I hope it helps:

My problem was that I needed to compile/make/install DBD::Oracle on a
machine that does not have oracle on it, so that DBD can talk to Oracle on
another machine. After working with it I've discovered that there are four
issues here:

1) Oracle files are needed for DBD::Oracle to compile
2) Oracle files are needed for the compiled DBD to connect
3) ORACLE_HOME environment variable must be set
4) LD_LIBRARY_PATH environment variable must be set

1) Either open an NFS share from the oracle installation directory on the
machine that has Oracle and point both of the above-mentioned env vars to
that share, or alternatively copy the following four directories from your
Oracle installation over to the machine on which you are compiling the DBD:

drwxr-xr-x   3 oracle   dba         3072 Jul  3 09:36 lib
drwxr-xr-x  13 oracle   dba          512 Jul  3 09:38 network
drwxr-xr-x   7 oracle   dba          512 Jul  2 19:25 plsql
drwxr-xr-x  12 oracle   dba          512 Jul  3 09:38 rdbms

then point the above-mentioned env vars to the containing directory (good
place to put them, if copying locally, is /usr/lib/oracle)

In any case, the compiler needs to be able to find files in the above four
directories from Oracle in order to get all the source code needed to
compile properly.

Then the DBD should compile fine.

2) For running the compiled DBD in perl and connecting, you need only the
files in the 'lib' folder mentioned above, either connecting to them through
an NFS share on the Oracle machine, or having copied them directly onto the
local machine, say, in /usr/lib/oracle . Make sure the env variable for
ORACLE_HOME = /usr/lib/oracle and LD_LIBRARY_PATH includes /usr/lib/oracle .
You can set the env var in your perl script by typing

$ENV{'ORACLE_HOME'} = '/usr/lib/oracle';

Hope this helps


----------------------------------------
Hugh J. Hitchcock
Sr. Software Engineer / Project Manager
Tiaxa, Inc.
http://www.tiaxa.com



> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, July 26, 2001 8:14 AM
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Yet another DBD::Oracle build surrender on HP-UX 11.00 64Bit
>
>
> Hello DBI::Users,
>
> I have been trying in vain for the last couple of days to
> successfully run the make tests of DBD-Oracle-1.07 prior to the
> driver's installation :-((
>
> These are my system particulars:
>
> # uname -srvm
> HP-UX B.11.00 U 9000/800
> # getconf KERNEL_BITS
> 64
> # perl -v|head -2
>
> This is perl, v5.6.1 built for PA-RISC2.0
> # perl -e 'print "@INC\n"'
> /opt/perl5.6/lib/5.6.1/PA-RISC2.0 /opt/perl5.6/lib/5.6.1
> /opt/perl5.6/lib/site_p
> erl/5.6.1/PA-RISC2.0 /opt/perl5.6/lib/site_perl/5.6.1
> /opt/perl5.6/lib/site_perl
>  .
> # perl -MDBI -e 'print "$DBI::VERSION\n"'
> 1.19
> # for v in HOME SID;do printenv ORACLE_$v;done
> /oracle/EU1/816_64
> EU1
>
> Oracle Version is 8.1.6 64Bit
>
> I also defined the environment variable ORACLE_USERID, which I
> omit here for obvious reasons.
>
> I carefully read the README, README.hpux, and README.help and
> after my first failures exactly followed the outline from
> README.hpux
> i.e.
> I reinstalled Perl from the sources without thread support, and
> inclusin of lib flags -lcl -lpthreads.
> This time I even used the official HP-UX C compiler (whereas my
> prior Perl 5.6.0 was built whith gcc).
> After succesfull installation of Perl 5.6.1 and replacement of
> softlinks to /usr/bin I installed DBI.
> So far no problems.
> But the installation attempt of DBD::Oracle is driving me insane.
> I did as suggested by Lincoln Baxter, and removed the -Wl and
> +[ns] flags from the Makefile with sed.
> (n.b. there is a small bug in the substition of the sed command
> in the README.hpux, it should be a global one)
> I also inserted the -lqsmashrc in the OTHERLDFLAGS with the 2nd
> sed command.
>
> Finally when running make test I still get the following dump.
> I also used the find_symbol code to nm for unresolved symbols,
> but these are too many and too many libraries are listed.
> I don't know how to proceed.
> Does it mean I will have to insert all those listed libs
> containing the unresolved symbols in the lflag line of the
> Makefile?
> (sounds it is easier writing ones own driver)
>
> Can anyone give me further hints as I desperately need
> DBD::Oracle installed on my box
>
> Regards
> Ralph
>
> Dump from make test:
>
>       PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib
> -I/opt/perl5.6/lib/5.6.1/PA-RISC2.0 -I/opt/perl5.6/lib/5.6.1 -e
> 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests
> @ARGV;' t/*.t
> t/base............../usr/lib/dld.sl: Unresolved symbol:
> X509ParseCertificateData (code)  from
> blib/arch/auto/DBD/Oracle/Oracle.sl
> /usr/lib/dld.sl: Unresolved symbol: X509CompareDN (code)  from
> blib/arch/auto/DBD/Oracle/Oracle.sl
> /usr/lib/dld.sl: Unresolved symbol: X509FreeCertificate (code)
> from blib/arch/auto/DBD/Oracle/Oracle.sl
> FAILED tests 4-5
>       Failed 2/5 tests, 60.00% okay
> t/general.........../usr/lib/dld.sl: Unresolved symbol:
> X509ParseCertificateData (code)  from
> blib/arch/auto/DBD/Oracle/Oracle.sl
> /usr/lib/dld.sl: Unresolved symbol: X509CompareDN (code)  from
> blib/arch/auto/DBD/Oracle/Oracle.sl
> /usr/lib/dld.sl: Unresolved symbol: X509FreeCertificate (code)
> from blib/arch/auto/DBD/Oracle/Oracle.sl
> install_driver(Oracle) failed: Can't load
> 'blib/arch/auto/DBD/Oracle/Oracle.sl' for module DBD::Oracle:
> Unresolved external at
> /opt/perl5.6/lib/5.6.1/PA-RISC2.0/DynaLoader.pm line 206.
>  at (eval 1) line 3
> Compilation failed in require at (eval 1) line 3.
> Perhaps a required shared library or dll isn't installed where
> expected
>  at t/general.t line 20
> dubious
>       Test returned status 255 (wstat 65280, 0xff00)
> t/long............../usr/lib/dld.sl: Unresolved symbol:
> X509ParseCertificateData (code)  from
> blib/arch/auto/DBD/Oracle/Oracle.sl
> /usr/lib/dld.sl: Unresolved symbol: X509CompareDN (code)  from
> blib/arch/auto/DBD/Oracle/Oracle.sl
> /usr/lib/dld.sl: Unresolved symbol: X509FreeCertificate (code)
> from blib/arch/auto/DBD/Oracle/Oracle.sl
> Can't load 'blib/arch/auto/DBD/Oracle/Oracle.sl' for module
> DBD::Oracle: Unresolved external at
> /opt/perl5.6/lib/5.6.1/PA-RISC2.0/DynaLoader.pm line 206.
>  at t/long.t line 4
> Compilation failed in require at t/long.t line 4.
> BEGIN failed--compilation aborted at t/long.t line 4.
> dubious
>       Test returned status 255 (wstat 65280, 0xff00)
> t/plsql............./usr/lib/dld.sl: Unresolved symbol:
> X509ParseCertificateData (code)  from
> blib/arch/auto/DBD/Oracle/Oracle.sl
> /usr/lib/dld.sl: Unresolved symbol: X509CompareDN (code)  from
> blib/arch/auto/DBD/Oracle/Oracle.sl
> /usr/lib/dld.sl: Unresolved symbol: X509FreeCertificate (code)
> from blib/arch/auto/DBD/Oracle/Oracle.sl
> Can't load 'blib/arch/auto/DBD/Oracle/Oracle.sl' for module
> DBD::Oracle: Unresolved external at
> /opt/perl5.6/lib/5.6.1/PA-RISC2.0/DynaLoader.pm line 206.
>  at t/plsql.t line 17
> Compilation failed in require at t/plsql.t line 17.
> BEGIN failed--compilation aborted at t/plsql.t line 17.
> dubious
>       Test returned status 255 (wstat 65280, 0xff00)
> t/reauth............skipped test on this platform
> Failed Test Status Wstat Total Fail  Failed  List of Failed
> -----------------------------------------------------------------
> ---------------
> t/base.t                     5    2  40.00%  4-5
> t/general.t    255 65280    ??   ??       %  ??
> t/long.t       255 65280    ??   ??       %  ??
> t/plsql.t      255 65280    ??   ??       %  ??
> 1 test skipped.
> Failed 4/5 test scripts, 20.00% okay. 2/5 subtests failed, 60.00%
> okay.
> *** Error exit code 25
>
> Stop.
>
> --
> Landesbetrieb fuer Informationstechnik (LIT) Berlin
> GB II2 Zi. 117b
> Berliner Strasse 112-115
> D10713 Berlin
> Tel.:  [[+49|0]30]-9012-6481
> EMail: [EMAIL PROTECTED]
>

Reply via email to