I don't know about hpux, but I had a similar problem under Solaris 8.
The Oracle 9 install had both lib and lib32 directories. The lib directory
was now 64 bit and the lib32 directory was 32 bit.  Hpux may be the
same.  The fix I found was from an email on this list.  Here is a copy
of the email and reply with a fix for Solaris.  It may adapt for hpux.

Good luck

===================================================
       From: "Schaefer, John" <[EMAIL PROTECTED]>
       To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>, [EMAIL PROTECTED]
       Cc: [EMAIL PROTECTED]
       Date: Fri, 26 Apr 2002 06:06:13 -0700
       Message-id: <[EMAIL PROTECTED]>



Our solution: <bit-time-kludge>
afer Makefile.PL creates the makefile, edit it in vi.
Replace '911/lib' with '911/lib32' everywhere
Replace 'rdbms/lib' with 'rdbms/lib32' everywhere.
Then do your make.
To really fix this will take someone who knows Makefile.PL to apply a patch
detect the 64bit version of Oracle9i(the presense of lib32's is a tip off).
In the mean time we applied a quick script to do it in our
install/distribution scripts.


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Thursday, April 25, 2002 10:23 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Soalris, DBD-1.12 and Oracle9i



I am trying to build the DBD-1.12 with Oracle 9i.  Everything compiles
into the object files, but it seems to build the files 32 bit rather
than 64 bit, so it fails on linking.  I searched Google and found a
couple of references of people who manually manipulated the Makefile
and changed the library to be lib32, but the results were never clear?

What is the best (any) solution to this problem?

ld: fatal: file /vol14/app/oracle/product/911/rdbms/lib/defopt.o: wrong ELF
class: ELFCLASS64
ld: fatal: File processing errors. No output written to
blib/arch/auto/DBD/Oracle/Oracle.so
collect2: ld returned 1 exit status

I had also tried adding the -m64 but got errors about it not being
allowed?  Any help would be greatly appreciated.

--
C Wayne Huling <[EMAIL PROTECTED]>

===================================================

"Dolan, Mark" wrote:

>  -----Original Message-----
> From:   Dolan, Mark
> Sent:   Thursday, September 05, 2002 8:58 AM
> To:     Perl Users help (E-mail)
> Subject:        DBD::Oracle with Oracle 9
>
> I am having problems trying to make my DBD driver for Oracle. I have
> built perl-5.8.0 and DBI-1.3. When I try to build DBD::Oracle I get the
> following error when I run make.
>
> We have Oracle 9 on our system which is 64-bit. If you have any
> suggestions I would greatly appreciate them - Thanks ! ! !
>
> Running Mkbootstrap for DBD::Oracle ()
>     chmod 644 Oracle.bs
>     rm -f blib/arch/auto/DBD/Oracle/Oracle.sl
>     LD_RUN_PATH="/opt/oracle/ora92/lib" /usr/bin/ld  -b
> +vnocompatwarnings -L/usr/local/lib Oracle.o dbdimp.o oci7.o oci8.o
> /opt/oracle/ora92/rdbms/lib/defopt.o -o
> blib/arch/auto/DBD/Oracle/Oracle.sl -L/opt/oracle/ora92/lib/ -lclntsh
> -lcl -lrt -lpthread -ldld -lm -lqsmashr
>
> /usr/bin/ld: /opt/oracle/ora92/rdbms/lib/defopt.o: Mismatched ABI.
> 64-bit PA object file found in 32-bit link
> *** Error exit code 1
>
> Stop.
>
> Output from perl -V:
>
> Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
>
>   Platform:
>     osname=hpux, osvers=11.11, archname=PA-RISC2.0
>     uname='hp-ux dbqcnv01 b.11.11 u 9000800 171434676 unlimited-user
> license '
>     config_args='-Ubincompat5005'
>     hint=recommended, useposix=true, d_sigaction=define
>     usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
>     useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
>     use64bitint=undef use64bitall=undef uselongdouble=undef
>     usemymalloc=n, bincompat5005=undef
>   Compiler:
>     cc='cc', ccflags =' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
>
>     optimize='+O2 +Onolimit',
>     cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -Ae -D_HPUX_SOURCE
> -Wl,+vnocompatwarnings -I/usr/local/include'
>     ccversion='A.11.01.20', 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, prototype=define
>   Linker and Libraries:
>     ld='/usr/bin/ld', ldflags =' -L/usr/local/lib'
>     libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
>     libs=-lnsl -lnm -lndbm -lmalloc -lcl -lpthread -ldld -lm -lc -lndir
> -lcrypt -lsec
>     perllibs=-lnsl -lnm -lmalloc -lcl -lpthread -ldld -lm -lc -lndir
> -lcrypt -lsec
>     libc=/lib/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='+Z', lddlflags='-b +vnocompatwarnings -L/usr/local/lib'
>
> Characteristics of this binary (from libperl):
>   Compile-time options: USE_LARGE_FILES
>   Built under hpux
>   Compiled at Sep  4 2002 20:07:18
>   @INC:
>     /opt/perl5.8/lib/5.8.0/PA-RISC2.0
>     /opt/perl5.8/lib/5.8.0
>     /opt/perl5.8/lib/site_perl/5.8.0/PA-RISC2.0
>     /opt/perl5.8/lib/site_perl/5.8.0
>     /opt/perl5.8/lib/site_perl
>     .

--

James D. White   ([EMAIL PROTECTED])
Department of Chemistry and Biochemistry
University of Oklahoma
620 Parrington Oval, Room 313
Norman, OK 73019-3051
Phone: (405) 325-4912, FAX: (405) 325-7762



Reply via email to