DBD::Oracle's shared object library is linking to the only library it
finds.  If it is getting "/u01/app/oracle/product/9.0.1/lib/libclntsh.so.9.0"
it is because that is the first libclntsh.so.9.0 in the LD_LIBRARY_PATH,
and if it isn't 32-bit then the problem is that LD_LIBRARY_PATH should not
include that directory.

On Mon, 14 Oct 2002, Kwabbi, Seth wrote:

> It is 64 bit, but why is the DynaLoader using 64 bit libraries whilst
> LD_LIBRARY_PATH points to the 32 bit libraries ?
>
> Thanks.
>
> -----Original Message-----
> From: David M. Lloyd [mailto:[EMAIL PROTECTED]]
> Sent: Monday, October 14, 2002 3:10 PM
> To: Kwabbi, Seth
> Cc: '[EMAIL PROTECTED]'
> Subject: RE: Wrong ELF Class when running make for DBD-Oracle-1.12
> module
>
>
> Run this command:
>
>    file /u01/app/oracle/product/9.0.1/lib/libclntsh.so.9.0
>
> If it tells you that it is a 64-bit ELF library, it's the 64-bit version.
>
> On Mon, 14 Oct 2002, Kwabbi, Seth wrote:
>
> > When I execute my perl code to connect to the Oracle databse using the 32
> > Bit version of
> > DBD-Oracle, I encounter the error below even though LD_LIBRARY_PATH points
> > to the 32 bit libraries. Is there anything else that I need to set for
> this
> > to work properly ?
> >
> > Can't connect to database: install_driver(Oracle) failed: Can't load
> >
> '/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/DBD/Oracle/Oracle.so
> > ' for module DBD::Oracle: ld.so.1: /usr/local/bin/perl: fatal:
> > /u01/app/oracle/product/9.0.1/lib/libclntsh.so.9.0: wrong ELF class:
> > ELFCLASS64 at /usr/local/lib/perl5/5.6.1/sun4-solaris/DynaLoader.pm line
> > 206. at (eval 14) line 3 Compilation failed in require at (eval 14) line
> 3.
> >
> > Cheers.
> >
> > -----Original Message-----
> > From: David M. Lloyd [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, October 14, 2002 2:32 PM
> > To: Kwabbi, Seth
> > Cc: '[EMAIL PROTECTED]'
> > Subject: Re: Wrong ELF Class when running make for DBD-Oracle-1.12
> > module
> >
> >
> > You can't link against the 64-bit version unless your Perl (and by
> > extension all modules including DBI and DBD::Oracle) is built with maximal
> > 64-bit support.
> >
> > The problem is that it is not possible to "mix and match" linking 32-bit
> > and 64-bit libraries.  If you do build your Perl as 64-bit, you will then
> > no longer be able to link it to any 32-bit libraries (including everything
> > in /opt/sfw/lib and any libraries that are not explicitly 64-bit) unless
> > you build 64-bit versions of those libraries.
> >
> > Hope this helps.
> >
> > On Mon, 14 Oct 2002, Kwabbi, Seth wrote:
> >
> > > When running make for the DBD-Oracle-1.12 module, I encounter this
> > > error:
> > >
> > >   ld: fatal: file /u01/app/oracle/product/9.0.1/lib//libclntsh.so: wrong
> > ELF
> > > class: ELFCLASS64
> > >
> > >  My environment Solaris 2.8 ( 64 Bit ) and using gcc compiler version
> > > 2.95.3 20010315 ( release). Also know if I set LD_LIBRARY_PATH to point
> > > to the Oracle lib32 libraries it will work, howver I prefer "make" to
> > > use the 64 Bit version.
> > >
> > > Does anyone know what causes this problem ?
> > >
> > > Cheers.
> > >
> > > Seth Kwabbi
> > >
> > > ACS - DSS
> > > Atlanta, Ga
> > >
> > >
> >
> > - D
> >
> > <[EMAIL PROTECTED]>
> >
>
> - D
>
> <[EMAIL PROTECTED]>
>

- D

<[EMAIL PROTECTED]>

Reply via email to