(Note: My environment- Solaris8, Perl-5.8.3 64bit, DBI-1.48 and Oracle 9.2.0
64bit)
I had a similar problem when building DBD-Oracle-1.16 . Finally solved the
problem with
the following flag on the Makefile configure step, "perl Makefile.PL
-r=build64" It
seemed to have become confused on how to figure out if it should make as 32 or
64.
Same make on DBD-Oracle-1.15 didn't require the 'build64' flag. I'm *not* a
'make'
guru, just found this by banging my head. :)
Don't know if this is the same problem or not. Hope this helps someone.
-- Mark B.
-- [EMAIL PROTECTED]
My Original errors were:
...
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
LD_RUN_PATH="/apps/sysora/9.2.0/lib:/apps/sysora/9.2.0/rdbms/lib"
/opt/SUNWspro/bin/cc -G -xarch=v9 -L/usr/lib/sparcv9 -L/usr/ccs/lib/sparcv9
-L/opt/SUNWspro/WS6U1/lib/v9 -L/usr/local/lib Oracle.o dbdimp.o oci8.o cc
-Xa -xstrconst -xF -xarch=v8 -xchip=ultra -W2,-AKNR_S -W2,-Rglobal_hoist
-Wc,-Qdelay-speculate -Wc,-Qdepgraph-safe_spec_load=3 -W2,-Rloop -errtags=yes
-v -K PIC -L/opt/SUNWcluster/lib -R/opt/SUNWcluster/lib
-L/apps/sysora/9.2.0/rdbms/lib32/ -L/apps/sysora/9.2.0/lib32/
-lclntsh `cat /apps/sysora/9.2.0/lib32/ldflags`
`cat /apps/sysora/9.2.0/lib32/sysliblist` -R/apps/sysora/9.2.0/lib32 -laio
-lposix4 -lkstat -lm -lthread -o blib/arch/auto/DBD/Oracle/Oracle.so
ld: fatal: file Oracle.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to
blib/arch/auto/DBD/Oracle/Oracle.so
gmake: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
{myunixsystemname} #
Matthew Ramadanovic wrote:
My guess is that you probably need to set some environmental variables. I
was running into this problem with a stored proc and got around it by having
my perl script call another after setting the variables :
$ENV{ORACLE_HOME} = '/export/home/oracle/9.x'; #or whatever
$ENV{ORACLE_SID} = 'yoursid'; #or whatever
$ENV{LD_LIBRARY_PATH} = 'your LD Lib path'; #or whatever
$ENV{ORACLE_BASE} = '/export/home/oracle'; #or whatever your base is
$ENV{TNS_ADMIN} = '/export/home/'; #or whatever your real value is
$result = `somenewscriptwithdbi.pl`;
-Matt
-----Original Message-----
From: Daniel Teklu [mailto:[EMAIL PROTECTED]
Sent: Thursday, May 12, 2005 11:03 AM
To: [email protected]
Subject: Can't load Oarcle.so
We installed DBI , DBD::Oarcle and 9.2 Oracle client. And this is run , we
get this error.
./oracletest.pl
install_driver(Oracle) failed: Can't load
'/usr/local/lib/perl5/site_perl/5.8.6/sun4-
solaris/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ld.so.1:
/usr/local/bin/perl: fatal:
/export/home/oracle/product/9.2.0/lib/libclntsh.so.9.0: wrong ELF class:
ELFCLASS64 at /usr/local/lib/perl5/5.8.6/sun4-solaris/DynaLoader.pm line
230.
at (eval 1) line 3
Compilation failed in require at (eval 1) line 3.
Any ideas?
Thanks in advance