Operating System - Linux
1827421 Members
3755 Online
109965 Solutions
New Discussion

installing DBD--Oracle-1.15

 
itai weisman
Super Advisor

installing DBD--Oracle-1.15

Hi ppl,
I'm trying to install perl DBD--Oracle-1.15 on a HPUX 11.11 machine (PA-Risc2).
my perl version is 5.8.6.
I have installed DBI 1.42 succesfully.
I have configured all enviorment variables as described in the README file.
for some reason, the build phase does not work.
after issuing a make command, the error I receive is:
pe
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.sl
LD_RUN_PATH="/OracleTools/8.0.6/lib" /usr/bin/ld -b -L/usr/local/lib -L
/opt/local/lib Oracle.o dbdimp.o oci7.o oci8.o /OracleTools/8.0.6/rdbms/lib/s
sdbaed.o /OracleTools/8.0.6/rdbms/lib/defopt.o /OracleTools/8.0.6/lib/nautab.o /
OracleTools/8.0.6/lib/naeet.o /OracleTools/8.0.6/lib/naect.o /OracleTools/8.0.6/
lib/naedhs.o -lclntsh -o blib/arch/auto/DBD/Oracle/Oracle.sl -L/OracleTools/8
.0.6/lib/ -lclntsh -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork -lc
lient -lvsn -lcommon -lgeneric -lmm -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl
3 -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork -lclient -lvsn -lcom
mon -lgeneric -lepc -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lclient -lvsn
-lcommon -lgeneric -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lrt -lpthread
-ldld -lm -lclntsh
ld: Can't find library or mismatched ABI for -lclntsh
Fatal error.
*** Error exit code 1

anyone any idea?
thanks
itai
20 REPLIES 20
Steven E. Protter
Exalted Contributor

Re: installing DBD--Oracle-1.15

SHLIB_PATH must be set to the location of the libary.

This is the most common cause of the error messsage you recieved.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
H.Merijn Brand (procura
Honored Contributor

Re: installing DBD--Oracle-1.15

32/64 bit issue.

What perl did you install? 32 or 64bit
What Oracle do you have 32 or 64bit?
Does the Oracle you use support the bitness of your perl version?

This is your hint:
ld: Can't find library or mismatched ABI for -lclntsh

so find your libclntsh.sl and see what type it is with the 'file' command

DBI-1.42 is already rather old. 1.48 is current: http://search.cpan.org/~timb/DBI-1.48/
DBD-Oracle-1.15 is old, 1.16 is current: http://search.cpan.org/~timb/DBD-Oracle-1.16/

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

hi and thanks for the quick respone.
i have add $ORACLE_HOME/lib to SHLIB_PATH.
i'm using oracle 32 bit, (8.0.6) and the perl is 64bit, i guess (it sais nothing about it on perl -v or perl -V)
H.Merijn Brand (procura
Honored Contributor

Re: installing DBD--Oracle-1.15

If Oracle is 32bit, you need a 32bit Perl. That's just how things stand on PA-RISC.

perl -v should say so, as does perl -V

32bit:

r3:/u/usr/merijn 101 > perl5.8.3 -v

This is perl, v5.8.3 built for PA-RISC2.0
(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2003, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

r3:/u/usr/merijn 102 > perl5.8.3 -V | grep 64
use64bitint=undef use64bitall=undef uselongdouble=undef
cc='cc', ccflags =' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
r3:/u/usr/merijn 103 >


64bit:

r3:/u/usr/merijn 103 > perl -v

This is perl, v5.8.5 built for PA-RISC2.0-LP64
(with 2 registered patches, see perl -V for more detail)

Copyright 1987-2004, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

r3:/u/usr/merijn 104 > perl -V | grep 64
osname=hpux, osvers=11.11, archname=PA-RISC2.0-LP64
config_args='-Dusedevel -Duse64bitall -des'
use64bitint=define use64bitall=define uselongdouble=undef
cc='cc', ccflags =' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 -I/pro/local/include'
ld='/usr/bin/ld', ldflags ='+DD64 -L/lib/pa20_64 -L/usr/local/pa20_64/lib -L/pro/local/lib'
libpth=/pro/local/lib /lib/pa20_64 /lib /usr/lib /usr/ccs/lib /usr/local/lib
libc=/lib/pa20_64/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
cccdlflags='+Z', lddlflags='-b +vnocompatwarnings -L/lib/pa20_64 -L/usr/local/pa20_64/lib -L/pro/local/lib'
Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES
/pro/lib/perl5/5.8.5/PA-RISC2.0-LP64
/pro/lib/perl5/site_perl/5.8.5/PA-RISC2.0-LP64
r3:/u/usr/merijn 105 >

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

now i installed DBI 1.48 as well, and i recieve the exact same problem again.
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

libclntsh.sl exists and in the SHLIB_PATH:
SHLIB_PATH is /OracleTools/8.0.6/lib
root@aux1>ll /OracleTools/8.0.6/lib/libclntsh.sl
lrwxr-xr-x 1 root sys 16 Apr 24 2002 /OracleTools/8.0.6/lib
/libclntsh.sl -> libclntsh.sl.1.0
ll /OracleTools/8.0.6/lib/libclntsh.sl.1.0
-rwxr-xr-x 1 oracle dba 7053312 Jan 2 2001 /OracleTools/8.0.6/lib
/libclntsh.sl.1.0
root@aux1>
root@aux1> file /OracleTools/8.0.6/lib/libclntsh.sl.1.0
/OracleTools/8.0.6/lib/libclntsh.sl.1.0: PA-RISC1.1 shared library -not s
tripped
root@aux1>

anyone?
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

according to that i have perl 64bit.
H.Merijn Brand (procura
Honored Contributor

Re: installing DBD--Oracle-1.15

Get rid of it, and install perl 32bit.
Sorry, there is no other option to get a working DBD-Oracle!

FWIW perl 32bit and perl 64bit live happily side by side if you want it to

I you use my distributions, the 32bit perl is installed in /opt/perl (/opt/perl/bin/perl) and the 64bit in /opt/perl64 (/opt/perl64/bin/perl). So having you $PATH set up correctly will use the right environment.
My most recent build already includes DBI-1.48

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

where can i get it?
i want the exact version you were able to install DBD oracle with
H.Merijn Brand (procura
Honored Contributor

Re: installing DBD--Oracle-1.15

My HP ITRC site pages can be found at (please use LA as primary choice):

USA Los Angeles http://mirrors.develooper.com/hpux/
SGP Singapore https://www.beepz.com/personal/merijn/
USA Chicago http://ww.hpux.ws/merijn/
NL Hoofddorp http://www.cmve.net/~merijn/

And I've so far managed to get DBD-Oracle running on *all* my versions of perl, even back to 5.005_03

Enjoy, have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

all perls i can find in this page for 11.11 (not 11.00) are 64 bit...
H.Merijn Brand (procura
Honored Contributor

Re: installing DBD--Oracle-1.15

No. Did you have a look at the depots?


The link in the depot section of 11.11 contains both 32 and 64bit:
perl 5.8.7 + defined-or + DBI 1.48 + Tk 804.027 built with gcc-3.4.4
=> http://mirrors.develooper.com/hpux/perl-5.8.7-dor-11.11.sd.bz

And the previous version is in the 11.11/32 section:
perl 5.8.6 + defined-or + DBI 1.46 + Tk 804.027 built with gcc-3.4.3
=> http://mirrors.develooper.com/hpux/perl-5.8.6-gcc-3.4.3-11.11-pa20.tbz

And the installation section reads for you:
--8<---
Install from Software Depots

Medio March 2005, I started experimenting with converting my distributions to software depot's, the way HP's porting certer ships them. The first effort has lead to a deport that contains perl-5.8.6-dor for HP-UX 11.00 both the 32bit and the 64bit build. In a depot, you can force the destination folder, and swinstall registers the installed software, which has obviously some advantages. To install it, use something similar to:

# swinstall -s /tmp/perl-5.8.6-dor-11.00.sd perl

which will install both 32bit perl (/opt/perl) and 64bit perl (/opt/perl64), but it still won't alter /etc/PATH, for reason that I can't predict which version you are going to use by default. If you prefer to install only one of the two versions:

# swinstall -s /tmp/perl-5.8.6-dor-11.00.sd perl.perl5-32
# swinstall -s /tmp/perl-5.8.6-dor-11.00.sd perl.perl5-64

Since there is no need for the files to be of any specific user, I did not set it to a specific user ID. Just for housekeeping, you might want to consider 'chown -R root:sys /opt/perl*' after installation.
-->8---

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

i have installed perl 5.8.7 32bit with DBI and it still doesnt work.
the 'make perl' phase ends with error :
cat /opt/perl/lib/5.8.7/PA-RISC2.0/auto/DynaLoader/extralibs.ld >> blib/
arch/auto/DBD/Oracle/extralibs.all
cat blib/arch/auto/DBD/Oracle/extralibs.ld >> blib/arch/auto/DBD/Oracle/
extralibs.all
gcc -L/pro/local/lib -Wl,-E -Wl,-B,deferred -o perl -g -O ./perlmain.o
Oracle.o dbdimp.o oci8.o blib/arch/auto/DBD/Oracle/Oracle.a /opt/perl/lib/5.8
.7/PA-RISC2.0/auto/DynaLoader/DynaLoader.a /opt/perl/lib/5.8.7/PA-RISC2.0/CORE/l
ibperl.a `cat blib/arch/auto/DBD/Oracle/extralibs.all` -lcl -lpthread -lnsl -lnm
-lmalloc -ldld -lm -lcrypt -lsec -lc
/opt/gcc/pa20_64/bin/../lib/gcc-lib/hppa64-hp-hpux11.11/3.3.3/../../../../hppa64
-hp-hpux11.11/bin/ld: unrecognized option '-B'
/opt/gcc/pa20_64/bin/../lib/gcc-lib/hppa64-hp-hpux11.11/3.3.3/../../../../hppa64
-hp-hpux11.11/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

after tryin to make with makefile created by perl Makefile.PL provided by DBD kit, the same error occurs:
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.sl
/usr/bin/ld -b -L/pro/local/lib Oracle.o dbdimp.o oci8.o -L/OracleToo
ls/8.0.6/lib/ -L/OracleTools/8.0.6/rdbms/lib -lclntsh /OracleTools/8.0.6/lib/n
autab.o /OracleTools/8.0.6/lib/naeet.o /OracleTools/8.0.6/lib/naect.o /OracleToo
ls/8.0.6/lib/naedhs.o -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork
-lclient -lvsn -lcommon -lgeneric -lmm -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnls
rtl3 -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork -lclient -lvsn -l
common -lgeneric -lepc -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lclient -l
vsn -lcommon -lgeneric -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -l:librt.sl
-lpthread -l:libnss_dns.1 -l:libdld.sl -lm -o blib/arch/auto/DBD/Oracle/Oracle.
sl \
\

ld: Can't find library or mismatched ABI for -lclntsh
Fatal error.
*** Error exit code 1

Stop.
H.Merijn Brand (procura
Honored Contributor

Re: installing DBD--Oracle-1.15

Before I start digging: you *are* sure that your gcc is also 32bit?

As for all these 32/64 bit issues, to generate 64bit objects, you need a 64bit gcc. For 32bit, you need a 32bit gcc. These are TWO DIFFERENT compilers.

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

well, i guess it's 64 bit compiler:
root@aux1> which gcc
/bin/gcc
root@aux1> file /bin/gcc
/bin/gcc: ELF-64 executable object file - PA-RISC 2.0 (LP64)
root@aux1> gcc -v
Reading specs from /opt/gcc/pa20_64/bin/../lib/gcc-lib/hppa64-hp-hpux11.11/3.3.3
/specs
Configured with: ../src/configure --enable-languages=c,c++ --prefix=/usr/local/p
a20_64 --with-local-prefix=/usr/local/pa20_64 --with-gnu-as --with-as=/usr/local
/pa20_64/bin/as --with-gnu-ld --with-ld=/usr/local/pa20_64/bin/ld --disable-shar
ed --disable-nls --host=hppa64-hp-hpux11.11
Thread model: single
gcc version 3.3.3
do you think i should download and install the 32bit compiler from the same site i have downloaded perl from?
H.Merijn Brand (procura
Honored Contributor

Re: installing DBD--Oracle-1.15

Short answer: yes

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

ok, DONE
now after attempting to 'make perl'
i received the following error:
extralibs.all
gcc -L/pro/local/lib -Wl,-E -Wl,-B,deferred -o perl -g -O ./perlmain.o
Oracle.o dbdimp.o oci8.o blib/arch/auto/DBD/Oracle/Oracle.a /opt/perl/lib/5.8
.7/PA-RISC2.0/auto/DynaLoader/DynaLoader.a /opt/perl/lib/5.8.7/PA-RISC2.0/CORE/l
ibperl.a `cat blib/arch/auto/DBD/Oracle/extralibs.all` -lcl -lpthread -lnsl -lnm
-lmalloc -ldld -lm -lcrypt -lsec -lc
/usr/ccs/bin/ld: Can't find library: "clntsh"
collect2: ld returned 1 exit status
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

well,
now after second attempt to make again, it seems to work,
i manage to make an sql query out of perl script,
i'm going to leave the thread open until monday (then i'll check with my customer that it is working fine) - but i guess my problem was solved.
thanks ppl!
itai weisman
Super Advisor

Re: installing DBD--Oracle-1.15

Hi everyone, it works fine, thanks a lot !!
itai