Getting cpan's Oracle DBD to work properly on i386 is proving
chris_jack at msn.com
Tue Aug 23 12:54:44 BST 2011
Paul Branon paulbranon at googlemail.com wrote:
> Does anyone know where I can get help getting oracle DBD to work? I'm on
> Intel Solaris 10
> and Oracle comes with an AMD64 binary. It runs fine on my system. I can
> connect to oracle
> with no problems at all. Then I install oracle DBD which installs just fine
> But when I try to
> connect to the database I get wrong ELF class. Because libclntsh.so.10.1 is
> a 32 bit binary.
> I've tried all kinds of things. But I think in the end I'm really going to
> have to talk to someone
> who's recently installed oracle (preferably 10g) on intel solaris 10 and
> then got cpan oracle DBD
> to talk to it. I've had lots of great suggestions from people but I can't
> get any of them to work.
> I guess what I need is literally the answer.
Are you compiling from scratch? DBD::Oracle is annoying because it has to be compiled against the same Oracle Client that you are using to connect. Here's a quote from http://search.cpan.org/~pythian/DBD-Oracle-1.28/Oracle.pm
"First off you will have to tell DBD::Oracle where the binaries reside for the Oracle client it was compiled against"
This is really quite annoying and DBD::Sybase, for instance, does not have this limitation.
For my sins (which are varied and multitudinous), I am doing an upgrade from Oracle 10.2 to Oracle 11.2 at the moment. The perl (32 bit 5.6 and 5.8) libraries were compiled against Oracle 8.1.7 - and the 11.2 server only (officially) supports Oracle 9 clients and above. We only have the 64 bit 11.2 Oracle client libraries available so, as switching to 64 bit would cause all sorts of other problems, I am using 10.2.0.4 32 bit libraries and taking the opportunity to move to 5.12 of perl.
10.2.0.4 is the first version of the Oracle client that, despite the version, was compiled with the Oracle 11 code base (10.2.0.3 was the last using the Oracle 10 code base). If you have the choice, I would suggest you use at least 10.2.0.4 to postpone any future perl upgrade issues.
More information about the london.pm