ARGGGHHH.

I'm trying to get the above combination working.

DBD::Oracle was a very tough build.  I am afflicted with the 'You must
install a Solaris patch to run this version of the Java runtime' bug.
Using the solution described at
http://x55.deja.com/[ST_rn=ps]/getdoc.xp?AN=611626288&CONTEXT=965926732.856227848&hitnum=37,
 I was able to get 'make test' for DBD::Oracle to work.

All seemed well until I started trying to get mod_perl working.  I
found I could successfully run a perl script as a CGI application, but
the same script would fail when I tried to run it using mod_perl.
(I've done this before and am aware of the need to use a 'package'
declaration in the CGI application for use with Apache::Registry.  The
application I'm testing with previously worked on another mod_perl
server).

The error from the Apache server log looks like:

[Tue Aug 15 11:22:20 2000] [error] Can't load 
'/usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris/auto/DBD/Oracle/Oracle.so' for 
module DBD::Oracle: ld.so.1: /usr/local/apache/bin/httpd: fatal: relocation error: 
file /usr/local/oracle/u01/app/oracle/product/8.1.6/lib/libjox8.so: symbol kzspga_: 
referenced symbol not found at /usr/local/lib/perl5/5.6.0/sun4-solaris/DynaLoader.pm 
line 200.
 at /usr/local/apache/cgi-bin-secure/ipeng-only/ipengdev-query line 13
Compilation failed in require at 
/usr/local/apache/cgi-bin-secure/ipeng-only/ipengdev-query line 13.
BEGIN failed--compilation aborted at 
/usr/local/apache/cgi-bin-secure/ipeng-only/ipengdev-query line 13.

I spent some time building an awful looking command to link Oracle.so
with all the undefined externals resolved.  But when I finally got
that, the 'You must install a Solaris patch to run this version of the
Java runtime' message came back.

I've tried going back to DBD::Oracle 1.03 and using the '-nob' option
of DBD::Oracle's Makefile.PL.  This didn't help.

Counting the time I spent just getting DBD::Oracle built, I'm into
this for 3 or 4 days.  I've done the same thing in Linux numerous
times, but not in Solaris, and not with Oracle 8.1.6 (highest release
I used previously was 8.0.5).  

At one point I succeeded in building DBD::Oracle using an older Oracle
version (8.1.5, before using the method described in the deja.com URL
above), but when I deleted the older Oracle version, it broke
DBD::Oracle... attempts to use DBD::Oracle were referring to
nonexistent files in the 8.1.5 directory tree.  I never got around to
trying mod_perl with DBD::Oracle built this way.

I've looked through the README.java that comes with DBD::Oracle 1.06.
Setting LD_PRELOAD only seems to get me segfaults:

# LD_PRELOAD=/lib/libthread.so.1; export LD_PRELOAD
# make test
make: *** [test] Segmentation Fault (core dumped)

Anyone have a suggestion?  I guess my next step will be to attempt
'perform surgery on the Oracle installation'.

For background, there's some discussion of this problem (I think it's
the same problem) at:

http://www.egroups.com/message/modperl/26552
http://www.egroups.com/message/modperl/26701
http://marc.theaimsgroup.com/?l=perl-dbi&m=95935887014413&w=2

-- 
            Larry Mulcahy               [EMAIL PROTECTED]
                          PGP public key at:
   http://pgpkeys.mit.edu:11371/pks/lookup?op=get&search=0x2C4C5A03

Reply via email to