Operating System - HP-UX
1752805 Members
5546 Online
108789 Solutions
New Discussion юеВ

This is sad story about HPUX11+perl5.6.0+Oracle8+DBI/DBD

 
SOLVED
Go to solution
Igor I. Shulz
Frequent Advisor

This is sad story about HPUX11+perl5.6.0+Oracle8+DBI/DBD

3 years ago I installed Oracle733 on our HPUX10.20 systems (D200 and K200). I also installed perl5.5+DBI/DBD to be able to connect from perl-scripts to Oracle DB. It works fine for all these years.

Last month we got new HP-box (L2000) with HPUX11.00. We installed Oracle 8.1.6 (64bit) on it and moved content of our old DB on it. It works without any problems.
Then I installed perl 5.6.0 - success.
Then I compiled, linked, tested and installed DBI-1.14 - success again.
I was almost happy...
Then I tried to install DBD-1.06.
At first it refused to link. Afted reading all accessible info on www.deja.com/usenet I decided to rebuild perl (and DBI) as static. Well, both of then were installed. This time DBD was compiled and linked, but when I tried to 'make test' it complains:
__
DBD/Oracle/extralibs.all` -lnsl -lnm -lndbm -ldld -lm -lc -lndir -lcrypt -lsec
/usr/bin/ld: Unsatisfied symbols:
ntlini (code)
collect2: ld returned 1 exit status
*** Error exit code 1

Stop.
make: *** [perl] Error 1
---
My question: was somebody enough lucky to force this mixture (HPUX11 + Oracle8 + perl5.6 + DBI/DBD) to be up and running?
3 REPLIES 3
Stefan Farrelly
Honored Contributor

Re: This is sad story about HPUX11+perl5.6.0+Oracle8+DBI/DBD


You may not have much luck trying to find someone with same combination of apps you want! But, you should try to find and resolve the Unsatisfied symbol yourself, there was a long post on this earlier and how to do it;

http://forums.itrc.hp.com:80/cm/QuestionAnswer/1,1150,0x11840559ff7cd4118fef0090279cd0f9,00.html
Im from Palmerston North, New Zealand, but somehow ended up in London...
Randy Jay
New Member

Re: This is sad story about HPUX11+perl5.6.0+Oracle8+DBI/DBD

A great resource for DBI/DBD questions is the mailing list and archives at:
http://www.symbolstone.org/technology/perl/DBI/
Ralph Grothe
Honored Contributor
Solution

Re: This is sad story about HPUX11+perl5.6.0+Oracle8+DBI/DBD

Hello Victor,

I hope my sort of contribution isn't coming too late because your question dates back to beginning of September.
So you may have things working by now.
But I discovered while browsing through the forum that there are unfortunately hardly any Perl supporters, which I feel is a great pitty as Perl is such a mighty tool for system administration.
I had exactly the same problems as you seem to have.
When I started here with HP-UX system administration I found HP-UX 10.20 with Oracle/SAP (so you can see I'm a newbie).
Having done some Perl DBI-programming in my earlier job I immediately installed Perl 5.5003 (HP-UX came with Perl 4, oh my) all the fancy modules from CPAN (incl. DBI, DBD::Oracle) and happily started writing scripts for DB queries that ran fine.
Then they switched to HP-UX 11 64Bit and none of my scripts even compiled.
After some mail threads with even one of the developers of DBD (which sadly wasn't too much of a help) I came up with a makeshift that works on my HP-UX 11 64Bit boxes, but of course is not officially approved.
First, the URL mentioned by Randy is definitely the right spot to look for help.
From their mailing list I also got contact to the developer mentioned.
There you will also find a discription of how to compile Perl (now I switched to Version 5.6) to make it run the DBD.
See the URL.
The important step is (while in the configure run, before make) to append two libs to the default line at the appropriate prompt (viz. "$* -lcl -lpthread")
Then after you have compiled and installed Perl 5.6, and after installation of DBI (which installs smoothley as you wrote), you run the MakeMaker script with the -l flag (viz. "perl Makefile.PL -l").
Before you do a make next you have to edit and add a few paths in the Makefile first.
After some trial and error the following makeshift workedI for me.
I grabbed a 32Bit libclntsh.sl.1.0 from an HP-UX 10.20 setting, transfered it to /usr/local/lib (almost any dir that seems reasonable should do) on my HP-UX 11 box and created a symbolic link to libclntsh.sl in the same directory.
After that I editted the Makefile and (with my settings) added the following include paths:

(please ignore the nasty line breaks in this forum)

INC = -I/oracle/T01/rdbms/demo
-I/opt/perl/perl5_6/lib/site_perl/5.6.0/PA-RISC2.0/auto/DBI
-I/oracle/T01/network/public
-I/oracle/T01/plsql/public

(You have to do a find on your system for the Oracle header files make would abort on otherwise)

Additionally you would now have to add the Path to the 32Bit libclntsh.sl in the Makefile:

LDDLFLAGS = -b -L/usr/local/lib -L/opt/binutils/lib
LDFLAGS = -L/usr/local/lib -L/opt/binutils/lib

With these additions to the Makefile I could compile DLD::Oracle with gcc and install it on HP-UX 11 64Bit.

After that all my scripts could connect to the DB and do all sorts of queries as before.

I hope this isn't coming too late and will be of help to others.
Anyone having similar problems should pay a visit to the symbolstone URL.
A good read (which yet doesn't address the HP-UX 11 problems) is O'Reillys' "Programming the DBI"

Madness, thy name is system administration