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." 

Reply via email to