On Sep 20, 2013, at 8:57 AM, "Lieng, Gia" <gia.li...@au.fujitsu.com> wrote:

>  
> $ perl perl_test.script
> Can't load 
> '/usr/local/lib/perl5/site_perl/5.18.1/sun4-solaris/auto/DBD/Oracle/Oracle.so'
>  for module DBD::Oracle: ld.so.1: perl: fatal:
> /opt/oracle/10.2.0.3/lib/libclntsh.so.10.1: wrong ELF class: ELFCLASS64 at 
> /usr/local/lib/perl5/5.18.1/sun4-solaris/DynaLoader.pm line 190.
> at perl_test.script line 4.
> Compilation failed in require at perl_test.script line 4.
> BEGIN failed--compilation aborted at perl_test.script line 4.
>  
>  

I think that 'Wrong ELF class' error means you have a mismatch in bit-ness 
between either Perl and Oracle or DBD and Oracle; I think this one means you 
have the 64-bit Oracle libraries installed on a system expecting 32-bits?

Perhaps you don't have the correct ORACLE_HOME and LD_LIBRARY_PATH environment 
variables set? This can happen if you have 32-bit oracle db installed on the 
system, but use the 64-bit Oracle Instant Client to compile DBD::Oracle. You 
can run a 32-bit Oracle DB and use a 64-Bit oracle client on the same system, 
you just need to know which set of libraries and ORACLE_HOME to look at.


-- 
Bruce Johnson
University of Arizona
College of Pharmacy
Information Technology Group

Institutions do not have opinions, merely customs


Reply via email to