Simpler Navigation for Servers and Operating Systems - Please Update Your Bookmarks
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
If you have bookmarked forums or discussion boards in Servers and Operating Systems, we suggest you check and update them as needed.
General
cancel
Showing results for 
Search instead for 
Did you mean: 

Oracle libraries for Perl DBD::Oracle

Sweth Chandramouli_1
Occasional Visitor

Oracle libraries for Perl DBD::Oracle

I'm trying to get Perl DBD::Oracle running on an N-class server running 64-bit HP-UX 11.00, with the 64-bit version of Perl 5.8.0 (bundled with DBI) that Merijn Brand has at <>.

Because this is on a headless system and recent versions of Oracle all require a console for installation, I copied over the relevant Oracle libraries from another HP-UX box and linked DBD::Oracle against them, which I've done successfully in the past.

The compilation/linking of DBD::Oracle appeared to go smoothly, and no errors were returned; I also copied over the sqlplus binary to this machine, and that is able to connect fine to other DBs. When I attempt to do a connect() call from within Perl, however, I get a coredump.

I sent a stack trace from the coredump to the creator of the Perl DBI (Tim Bunce), who said that it indicated that the problem was somewhere in the linking of DBD::Oracle against the Oracle libraries; I'm now trying to figure out just what that problem might be. One thing that occurs to me is that the system from which I copied the libraries was a 32-bit OS, whereas the current machine is a 64-bit one, so there might be some issues there; if 64-bit libraries were needed, though, I would expect my compiler to complain when I'm building the DBD::Oracle module, which it doesn't.

Has anyone run into an issue like this before? Is there anyone with a lot of familiarity with the differences between libraries for various versions of Oracle who might be able to offer some advice on things to try?

TIA,

Sweth.
6 REPLIES
Sweth Chandramouli_1
Occasional Visitor

Re: Oracle libraries for Perl DBD::Oracle

Oops, typo: that should be a 32-bit Perl 5.8.0, not 64-bit. (That is:

$ file `which perl`
/usr/bin/perl: PA-RISC2.0 shared executable dynamically linked -not stripped
).
vas bolpali
Advisor

Re: Oracle libraries for Perl DBD::Oracle

Sweth,
not sure , this will solve the issue.

You may have to relink all the oracle libraries with relink command .

$ORACLE_HOME/bin/relink all


It should finish with out
any errors. if errors exists
you may need to adjust your kernal .


Vasu.
keeping you ahead of the learning curve
H.Merijn Brand (procura
Honored Contributor

Re: Oracle libraries for Perl DBD::Oracle

No, it's the wrong perl I guess.

If you installed my perl correctly, which perl should say /opt/perl/bin/perl or /opt/perl64/bin/perl

Enjoy, have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Sweth Chandramouli_1
Occasional Visitor

Re: Oracle libraries for Perl DBD::Oracle

I'll try the relink command; is that anything like manually running a "make -f ins_rdbms.mk ioracle" in the rdbms/lib directory?

WRT it being the wrong (non-Merijn) version of Perl, it's the right version (/opt/perl/bin/perl); I simply symlinked that to /usr/bin/perl because so many scripts expect perl to be located there, so the /usr/bin/perl was found first in my path. It's definitely the Merijn version, though.
Sweth Chandramouli_1
Occasional Visitor

Re: Oracle libraries for Perl DBD::Oracle

OK, I copied over a full install of Oracle 8.1.6 to this box, since the libs that I had copied over previously were for a different rev that it occurred to me wasn't on the officially-tested list for DBD::Oracle. When I do a "perl Makefile.PL; make", however, the make fails with the error

/usr/bin/ld: Unrecognized argument: -Wl,+s

I thought that the "-Wl," syntax was used for flags given to gcc to pass off to ld; does ld itself support that syntax, too?
H.Merijn Brand (procura
Honored Contributor

Re: Oracle libraries for Perl DBD::Oracle

no, it does not, because it is always the last command in a chain, it never has to pass any options.

Issue the command by hand, and change -Wl,+s to +s

Enjoy, have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn