Jonathan,
Sorry to take so long to get back to you. You're going to be amazed at
where the problem is.
I'm documenting that now. It's in the gcc compilier itself.
I ripped it out twice and can repeat the Jv_Register error when one source
is installed and when I install the other source back I can get the
Mismatched ABI error. One version comes from the DSPP guys with the
combined complier and binary libraries. The other version from the
porting site with the seperate complier and binary libararies. Both are
installed with the "swinstall -i" command. As Sgt Schultz would say:
"Very Interesting".
Btw, Here's my perl: (Maybe someday the DBD::Oracle authors will make it
like the DBD::Informix to check as you say.)
It's comes standard with 11i V1 and 11i V2.. (June 2006 disks).
Thank You
Rich
[EMAIL PROTECTED]> perl -V
Set up gcc environment - 4.2.1
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=hpux, osvers=11.00, archname=PA-RISC2.0-thread-multi-LP64
uname='hp-ux bertha b.11.00 u 9000800 136901587 unlimited-user license
'
config_args='-ders -Dcc=cc -Dusethreads -Duseithreads -Ud_sigsetjmp
-Uinstallusrbinperl -Ulocincpth= -Uloclibpth= -Duse64bitall
-Dd_attribut=undef -Dd_attribute_warn_unused_result=undef
-Dd_u32align=define -Aprepend:libswanted=cl -Dvendorprefix=/opt/perl_64
-Doptimize=+O2 +Onolimit +Opromote_indirect_calls -Accflags=+Z
-Accflags=-DUSE_SITECUSTOMIZE -Duselargefiles -Accflags=-DNO_HASH_SEED
-Dinc_version_list=5.8.7/$archname 5.8.7 5.8.6/$archname 5.8.6
5.8.4/$archname 5.8.4 5.8.3/$archname 5.8.3 5.8.2/$archname 5.8.2
5.8.1/$archname 5.8.1 5.8.0/$archname 5.8.0
-Dconfig_heavy=Config_static.pl -Dprefix=/opt/perl_64 -Dcf_by=ActiveState
[EMAIL PROTECTED]'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags =' -D_POSIX_C_SOURCE=199506L -D_REENTRANT
-D_HPUX_SOURCE -fPIC -DUSE_SITECUSTOMIZE -DNO_HASH_SEED
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-strict-aliasing -pipe',
optimize='',
cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L
-D_REENTRANT -D_HPUX_SOURCE -fPIC -DUSE_SITECUSTOMIZE -DNO_HASH_SEED
-fno-strict-aliasing -pipe'
ccversion='', gccversion='4.2.1', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/lib/pa20_64'
libpth=/lib/pa20_64 /lib /usr/lib /usr/ccs/lib /usr/local/lib
libs=-lcl -lcres -lnsl -lnm -ldl -ldld -lm -lsec -lpthread -lc
perllibs=-lcl -lcres -lnsl -lnm -ldl -ldld -lm -lsec -lpthread -lc
libc=/lib/pa20_64/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-B,deferred '
cccdlflags='-fPIC', lddlflags='-shared -static-libgcc -fPIC
-L/lib/pa20_64'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT
USE_ITHREADS USE_LARGE_FILES USE_PERLIO
USE_REENTRANT_API USE_SITECUSTOMIZE
Locally applied patches:
ActivePerl Build 817 [257965]
Iin_load_module moved for compatibility with build 806
Avoid signal flag SA_RESTART for older versions of HP-UX
PerlEx support in CGI::Carp
Less verbose ExtUtils::Install and Pod::Find
Patch for CAN-2005-0448 from Debian with modifications
Partly reverted 24733 to preserve binary compatibilty
27528 win32_pclose() error exit doesn't unlock mutex
27527 win32_async_check() can loop indefinitely
27515 ignore directories when searching @INC
27359 Fix -d:Foo=bar syntax
27210 Fix quote typo in c2ph
27203 Allow compiling swigged C++ code
27200 Make stat() on Windows handle trailing slashes correctly
27194 Get perl_fini() running on HP-UX again
27133 Initialise lastparen in the regexp structure
27034 Avoid "Prototype mismatch" warnings with autouse
26970 Make Passive mode the default for Net::FTP
26921 Avoid getprotobyname/number calls in IO::Socket::INET
26897,26903 Make common IPPROTO_* constants always available
26670 Make '-s' on the shebang line parse -foo=bar switches
26379 Fix alarm() for Windows 2003
26087 Storable 0.1 compatibility
25861 IO::File performace issue
25084 long groups entry could cause memory exhaustion
24699 ICMP_UNREACHABLE handling in Net::Ping
Built under hpux
Compiled at Mar 20 2006 20:44:24
@INC:
/opt/perl_64/lib/5.8.8/PA-RISC2.0-thread-multi-LP64
/opt/perl_64/lib/5.8.8
/opt/perl_64/lib/site_perl/5.8.8/PA-RISC2.0-thread-multi-LP64
/opt/perl_64/lib/site_perl/5.8.8
/opt/perl_64/lib/site_perl
/opt/perl_64/lib/vendor_perl/5.8.8/PA-RISC2.0-thread-multi-LP64
/opt/perl_64/lib/vendor_perl/5.8.8
/opt/perl_64/lib/vendor_perl
.
[EMAIL PROTECTED]>
• '•..• '•. ><((((º> .• '•. .• '•. •. .• '•. ><((((º>
“Anything that doesn’t eat you today is saving you for tomorrow.”
Computer Sciences Corporation
Registered Office: 2100 East Grand Avenue, El Segundo California 90245,
USA
Registered in USA No: C-489-59
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This is a PRIVATE message. If you are not the intended recipient, please
delete without copying and kindly advise us by e-mail of the mistake in
delivery.
NOTE: Regardless of content, this e-mail shall not operate to bind CSC to
any order or other contract unless pursuant to explicit written agreement
or government initiative expressly permitting the use of e-mail for such
purpose.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"Jonathan Leffler" <[EMAIL PROTECTED]>
01/03/2008 07:13 PM
To
Richard T Malafa/DEF/[EMAIL PROTECTED]
cc
"John Scoles" <[EMAIL PROTECTED]>, [email protected]
Subject
Re: ANNOUNCE: DBD::Oracle 1.20 Release Candidate 8
I'm no expert on Oracle, but I have seen similar problems with Informix.
On Jan 3, 2008 7:00 AM, Richard T Malafa <[EMAIL PROTECTED]> wrote:
[...]
On the normal PA-RISC machines running 11i V1, I'm now failing in "make"
after "perl Makefile.pl -l" with latest gcc 4.2.2 with the following:
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.sl
gcc -Wl,+b"/ora01/app/oracle/product/10.2/lib:/lib/pa20_64"
-shared -static-libgcc -fPIC -L/lib/pa20_64 Oracle.o dbdimp.o o
ci8.o -o blib/arch/auto/DBD/Oracle/Oracle.sl \
-L/ora01/app/oracle/product/10.2/lib -lclntsh -lrt -lpthread
-lnsl \
/usr/ccs/bin/ld: /ora01/app/oracle/product/10.2/lib/libclntsh.sl:
Mismatched ABI. 64-bit PA shared library found in 32-bit link.
collect2: ld returned 1 exit status
*** Error exit code 1
On the face of it, that means you have a 64-bit Oracle client library
installed in the locations specified, but you are trying to build
DBD::Oracle to work with a 32-bit version of Perl. If this interpretation
is correct, this will not work and you are on a hiding to nothing until
you either install a 32-bit Oracle client library or a 64-bit version of
Perl. (The current DBD::Informix Makefile.PL reasonably reliably detects
when there is a mismatch between the installed Informix client libraries
and the version of Perl that is in use -- you wouldn't have gotten as far
as having a Makefile with DBD::Informix.)
Have you looked at the output of 'file $(which perl)' (assuming you use
Korn shell or Bash or another POSIX-compliant shell; otherwise, use
back-ticks instead of $(...)). What does 'perl -V' say?
Basically, you have to have a 64-bit version of Perl to use the 64-bit
Oracle (or Informix, or DB2, or ...) libraries. The standard Perl
available on HP-UX is a 32-bit version.
On Solaris, I build Perl for 64-bit either using the Sun C compiler and
telling Perl Configure that the C compiler is "cc -xarch=sparcv9" or using
the GNU C Compiler and telling Perl Configure that the C compiler is "gcc
-m64". Whether there's a better way is open to negotiation; that one has
worked pretty well for me. But that assumes you are building your own
Perl. If you're using the system-provided Perl, you have to use the same
compiler that was used to build Perl.
Stop.
No matter how I change the path etc with the Oracle DBA here I can't seem
to get rid of this Mismatched ABI. And we tried some pretty ridiculous
paths.
Just went back to the HP site this morning and going to try the complete
4.2.1 gcc binary that was not available over the Holiday weekend..
Didn't have this problem with the older gcc 4.2 and we didn't reinstall
Oracle. Driving me nuts..
On the HP machine I was using earlier today, I found the following. (My
prompt is "Rp5470e7 JL:"; I had no say whatsoever in the choice of machine
name):
Rp5470e7 JL: uname -a
HP-UX rp5470e7 B.11.00 U 9000/800 1195494646 unlimited-user license
Rp5470e7 JL: which perl
/usr/contrib/bin/perl
Rp5470e7 JL: file $(which perl)
/usr/contrib/bin/perl: PA-RISC2.0 shared executable dynamically linked
-not stripped
Rp5470e7 JL: perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=hpux, osvers= 10.20, archname=PA-RISC1.1
uname='hp-ux rydal b.10.20 a 9000777 2011764956 two-user license '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
Compiler:
cc='cc', ccflags =' -Ae -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
optimize='-O +Onolimit',
cppflags='-Ae'
ccversion='A.10.32.18', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, usemymalloc=y, prototype=define
Linker and Libraries:
ld='ld', ldflags =''
libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
libs=-lnsl_s -lndbm -ldld -lm -lc -lndir -lcrypt -lsec
perllibs=-lnsl_s -ldld -lm -lc -lndir -lcrypt -lsec
libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-B,deferred '
cccdlflags='+z', lddlflags='-b -s -a shared'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under hpux
Compiled at Dec 6 2001 14:01:31
@INC:
/usr/local/lib/5.6.1/PA-RISC1.1
/usr/local/lib/5.6.1
/usr/local/lib/site_perl/5.6.1/PA-RISC1.1
/usr/local/lib/site_perl/5.6.1
/usr/local/lib/site_perl
.
Rp5470e7 JL:
Note that the pointer size (ptrsize) is 4 bytes - a dead giveaway that
this is not a 64-bit build of Perl.
--
Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h>
Guardian of DBD::Informix - v2007.0914 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be
amused."