> -----Original Message----- > From: Rhugga Harper [mailto:[EMAIL PROTECTED] > Sent: Monday, April 03, 2006 10:39 AM > To: Jonathan Leffler > Cc: dbi-users@perl.org > Subject: Re: Problem on Solaris 8 64-bit. > > On 3/30/06, Jonathan Leffler <[EMAIL PROTECTED]> wrote: > > > > On 3/30/06, Rhugga Harper <[EMAIL PROTECTED]> wrote: > > > > > > I'm running Oracle 10.2.0.1 on Solaris 8 64-bit. I running DBI > > > 1.50, DBD::Oracle 1.16, and Perl 5.8.7. > > > > > > When I run a script that uses DBD::Oracle, it complains about > > > wrong ELF class: > > > > > > Can't load > > > > > > '/usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/DBD/Oracle/Oracl e.so' > > > for module DBD::Oracle: ld.so.1: snapshot_tracker: fatal: > > > /u01/app/oracle/product/10.2/lib/libclntsh.so.10.1: wrong ELF class: > > > ELFCLASS64 at /usr/local/lib/perl5/5.8.7/sun4-solaris/DynaLoader.pm > > > line 230. > > > at ./snapshot_tracker line 10 > > > Compilation failed in require at ./snapshot_tracker line 10. > > > BEGIN failed--compilation aborted at ./snapshot_tracker line 10 > > > > > > Even if I set LD_LIBRARY_PATH=/u01/app/oracle/product/10.2/lib32 > > > in my shell environment and also explicitly set this using $ENV > > > inside my script it still complains. If I copy the 32-bit client > > > library into the /u01/app/oracle/product/10.2/lib directory my > > > perl scripts work but then sqlplus is broken. (and subsequently > > > all my shell scripts) [snip] > > This is a 32-bit version of perl. Building a 64-bit version isn't an > option as it would take months to get it certified for deployment onto > production gear. (assuming of course that it will pass certification) > Is there any way to force perl itself or anything I can do with each > script to have it use $ORACLE_HOME/lib32. LD_LIBRARY_PATH is being > ignored.
If you run: LD_DEBUG=libs perl -MDBD::Oracle -e1 You'll see what paths the dynamic linker is searching for the Oracle libs. Maybe that will help. Philip