DBD::Oracle on Solaris 10 and Oracle 10g

DBD::Oracle on Solaris 10 and Oracle 10g

am 07.02.2007 23:34:41 von JTipton

------_=_NextPart_001_01C74B08.28A57F06
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I am trying to get DBD::Oracle installed on a Solaris 10 system (64bit) =
with
Oracle 10g.
I downloaded DBD-Oracle-1.19.

As root, I run perl Makefile.PL , which seems to run successfully, but =
when
I run make test, I get:
ld:fatal: file Oracle.o : wrong ELF class: ELFCLASS32=20

I can see no reference to this error in any of the READMEs, but it would
seem that it is a=20
64 bit related problem?

Thanks for any help.


------_=_NextPart_001_01C74B08.28A57F06--

RE: :Oracle on Solaris 10 and Oracle 10g

am 08.02.2007 14:16:35 von matthew.ramadanovic

I had this problem on Solaris 8 and the solution was to make sure your
LD_LIBRARY_PATH environmental variable included the path for the 32 bit
drivers (which at least for that version it doesn't by default). I
mailed myself a snippet back then after resolving the issue (below). I
think this one has been asked before.=20

Hope this helps,

-Matt


Question: I am trying to import data from an Oracle database and receive
the following error:=20

Problem in openOrImportData(file, type, rowsToRead, ..: Error -1
returned when opening data source '' for reading.=20

Internal error message was 'Cannot load library: libstora.so.1 -
ld.so.1: /home/splusAS/splus_server/java/jre/bin/java: fatal:
/ap_tools/ora9i/OraHome1/lib/libclntsh.so.9.0: wrong ELF class:
ELFCLASS64'. What does this mean and how do I resolve it?=20

Answer: It appears that you are using the 64-bit Solaris Oracle drivers,
however native driver support in S-PLUS uses the 32-bit drivers. The
Oracle 64-bit Solaris driver installation does include the 32-bit
drivers, however they are not used by default. The following should
solve your problem:=20

The 32-bit driver libraries can be found in {ORACLE_HOME}/lib32 where
ORACLE_HOME is the path to your Oracle installation. To ensure that
S-PLUS can find this library you can set the flag at the top of the
script used to start S-PLUS, usually installed as /usr/local/bin/Splus.
Include the following:=20

LD_LIBRARY_PATH=3D${ORACLE_HOME}/lib32:${LD_LIBRARY_PATH} export
LD_LIBRARY_PATH=20

This should resolve the problem, however if not, as an alternative try
backing up the ORACLE_HOME/lib directory and then renaming
ORACLE_HOME/lib32 as ORACLE_HOME/lib, as this should ensure the
libraries are correctly available.=20



-----Original Message-----
From: Jay Tipton [mailto:JTipton@slco.org]=20
Sent: Wednesday, February 07, 2007 5:35 PM
To: dbi-users@perl.org
Cc: Jay Tipton
Subject: DBD::Oracle on Solaris 10 and Oracle 10g

I am trying to get DBD::Oracle installed on a Solaris 10 system (64bit)
with
Oracle 10g.
I downloaded DBD-Oracle-1.19.

As root, I run perl Makefile.PL , which seems to run successfully, but
when
I run make test, I get:
ld:fatal: file Oracle.o : wrong ELF class: ELFCLASS32=20

I can see no reference to this error in any of the READMEs, but it would
seem that it is a=20
64 bit related problem?

Thanks for any help.

RE: :Oracle on Solaris 10 and Oracle 10g

am 08.02.2007 16:54:30 von Ron.Reidy

I think you need to compile against the 32 bit Oracle libraries -
http://research.imb.uq.edu.au/~l.rathbone/solaris/perl.shtml

--
Ron Reidy
Lead DBA
Array BioPharma, Inc.

-----Original Message-----
From: Jay Tipton [mailto:JTipton@slco.org]=20
Sent: Wednesday, February 07, 2007 3:35 PM
To: dbi-users@perl.org
Cc: Jay Tipton
Subject: DBD::Oracle on Solaris 10 and Oracle 10g

I am trying to get DBD::Oracle installed on a Solaris 10 system (64bit)
with
Oracle 10g.
I downloaded DBD-Oracle-1.19.

As root, I run perl Makefile.PL , which seems to run successfully, but
when
I run make test, I get:
ld:fatal: file Oracle.o : wrong ELF class: ELFCLASS32=20

I can see no reference to this error in any of the READMEs, but it would
seem that it is a=20
64 bit related problem?

Thanks for any help.


This electronic message transmission is a PRIVATE communication which =
contains
information which may be confidential or privileged. The information is =
intended=20
to be for the use of the individual or entity named above. If you are =
not the=20
intended recipient, please be aware that any disclosure, copying, =
distribution=20
or use of the contents of this information is prohibited. Please notify =
the
sender of the delivery error by replying to this message, or notify us =
by
telephone (877-633-2436, ext. 0), and then delete it from your system.