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]>