Hi!
I do experience problems when I try to install an uptodate version of DBD::Oracle.
So far we have been using this oracle: ORACLE_HOME="/app/local/oracle/product/8.1.7",
but now the company installed 9.2.0 on all devopment and production machines,
so my boss told me to get DBD::Oracle running with 9.2.0, both on the client and on
the server side.
Alright, first, this is "my context":
================================================================================
[EMAIL PROTECTED] $ perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=solaris, osvers=2.8, archname=sun4-solaris
uname='sunos rsx94220 5.8 generic_112953-02 sun4u sparc '
config_args='-de -Dusemymalloc=n -Duseshrplib=n
-Dprefix=/app/idsp22/cronus1/usr/local'
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='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='3.2', gccosandvers='solaris2.8'
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=n, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under solaris
Compiled at Jan 15 2003 03:22:35
@INC:
/app/idsp22/cronus1/usr/local/lib/perl5/5.6.1/sun4-solaris
/app/idsp22/cronus1/usr/local/lib/perl5/5.6.1
/app/idsp22/cronus1/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris
/app/idsp22/cronus1/usr/local/lib/perl5/site_perl/5.6.1
/app/idsp22/cronus1/usr/local/lib/perl5/site_perl
.
================================================================================
First I simply tried this:
perl -MCPAN -e 'install DBD::Oracle'
but this is how it ended:
================================================================================
LD_RUN_PATH="/app/local/oracle/product/9.2.0/lib:/app/local/oracle/product/9.2.0/rdbms/lib"
gcc -G -L/usr/local/lib Oracle.o dbdimp.o oci7.o oci8.o -L/opt/SUNWcluster/lib
-R/opt/SUNWcluster/lib -o build -L/app/local/oracle/product/9.2.0/rdbms/lib/
-L/app/local/oracle/product/9.2.0/lib/ -lclntsh -lnbeq9 -lnhost9 -lnus9 -lnldap9
-lldapclnt9 -lnsslb9 -lnnis9 -lnoname9 -lntcp9 -lntcps9 -lnsslb9 -lntcp9 -lntns9 -lnsl
-lsocket -lgen -ldl -R/app/local/oracle/product/9.2.0/lib -laio -lposix4 -lkstat -lm
-lthread -o blib/arch/auto/DBD/Oracle/Oracle.so
ld: warning: option -o appears more than once, first setting taken
ld: fatal: file /app/local/oracle/product/9.2.0/lib//libclntsh.so: wrong ELF class:
ELFCLASS64
ld: fatal: File processing errors. No output written to build
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
/app/idse22/cronus/usr/local/bin/make -- NOT OK
================================================================================
Bad, right?!
So I followed the README, now have a look at this, pls:
================================================================================
[EMAIL PROTECTED] $ perl Makefile.PL -p
Using DBI 1.38 installed in
/app/idsp22/cronus1/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/DBI
Configuring DBD::Oracle ...
>>> Remember to actually *READ* the README file!
Especially if you have any problems.
Using Oracle in /app/local/oracle/product/9.2.0
Oracle version 9.2.0.0.0
Found header files in rdbms/public rdbms/demo.
Found /app/local/oracle/product/9.2.0/rdbms/demo/demo_rdbms.mk
Found /app/local/oracle/product/9.2.0/otrace/demo/atmoci.mk
Using /app/local/oracle/product/9.2.0/rdbms/demo/demo_rdbms.mk
Reading /app/local/oracle/product/9.2.0/rdbms/demo/demo_rdbms.mk
Reading /app/local/oracle/product/9.2.0/rdbms/lib/env_rdbms.mk
Deleting ORA_NLS = $(ORACLE_HOME)/ocommon/nls/admin/data/
because it is not already set in the environment
and it can cause ORA-01019 errors.
Deleting ORA_NLS33 = $(ORACLE_HOME)/ocommon/nls/admin/data/
because it is not already set in the environment
and it can cause ORA-01019 errors.
Attempting to discover Oracle OCI build rules
gcc -c -I/app/local/oracle/product/9.2.0/rdbms/demo
-I/app/local/oracle/product/9.2.0/rdbms/public
-I/app/local/oracle/product/9.2.0/plsql/public
-I/app/local/oracle/product/9.2.0/network/public
-I/app/local/oracle/product/9.2.0/rdbms/demo
-I/app/local/oracle/product/9.2.0/rdbms/public
-I/app/local/oracle/product/9.2.0/rdbms/demo
-I/app/idsp22/cronus1/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/DBI
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-O -DVERSION=\"1.14\" -DXS_VERSION=\"1.14\" -fPIC
-I/app/idsp22/cronus1/usr/local/lib/perl5/5.6.1/sun4-solaris/CORE -DUTF8_SUPPORT
DBD_ORA_OBJ.c
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
by executing: (make -f /app/local/oracle/product/9.2.0/rdbms/demo/demo_rdbms.mk build
ECHODO=echo ECHO=echo GENCLNTSH='echo genclntsh' CC=echo OPTIMIZE= CCFLAGS=
EXE=DBD_ORA_EXE OBJS=DBD_ORA_OBJ.o)
Oracle oci build command:
+ -L/opt/SUNWcluster/lib -R/opt/SUNWcluster/lib -o build
-L/app/local/oracle/product/9.2.0/rdbms/lib/ -L/app/local/oracle/product/9.2.0/lib/ -o
DBD_ORA_EXE DBD_ORA_OBJ.o -lclntsh -lnbeq9 -lnhost9 -lnus9 -lnldap9 -lldapclnt9
-lnsslb9 -lnnis9 -lnoname9 -lntcp9 -lntcps9 -lnsslb9 -lntcp9 -lntns9 -lnsl -lsocket
-lgen -ldl -R/app/local/oracle/product/9.2.0/lib -laio -lposix4 -lkstat -lm -lthread
System: perl5.006001 sunos rsx94220 5.8 generic_112953-02 sun4u sparc
Compiler: gcc -O -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64
Linker: /usr/ccs/bin/ld
Sysliblist: -lnsl -lsocket -lgen -ldl
Oracle makefiles would have used these definitions but we override them:
CC: cc
CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\
$(SHARED_CFLAG) $(USRFLAGS)
[$(GFLAG) -xO3 $(CDEBUG) -Xa $(PROFILE) -xstrconst -dalign -xF $(XS) $(MR)
-xildoff -errtags=yes -v -xarch=v9 -xchip=ultra3 -W2,-AKNR_S -Wd,-xsafe=unboundsym
-Wc,-Qiselect-funcalign=32 -xcode=abs44 -Wc,-Qgsched-trace_late=1 -Wc,-Qgsched-T5
-xalias_level=weak -D_REENTRANT -DSS_64BIT_SERVER -DBIT64 -DMACHINE64 -K PIC
-I/app/local/oracle/product/9.2.0/rdbms/demo
-I/app/local/oracle/product/9.2.0/rdbms/public
-I/app/local/oracle/product/9.2.0/plsql/public
-I/app/local/oracle/product/9.2.0/network/public -DSLMXMX_ENABLE -DSLTS_ENABLE
-D_SVID_GETTOD -D_REENTRANT $(LPFLAGS) $(USRFLAGS)]
LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)
[-o $@ -L/app/local/oracle/product/9.2.0/rdbms/lib/ -L$(LIBHOME)]
Linking with OTHERLDFLAGS = -L/opt/SUNWcluster/lib -R/opt/SUNWcluster/lib -o build
-L/app/local/oracle/product/9.2.0/rdbms/lib/ -L/app/local/oracle/product/9.2.0/lib/
-lclntsh -lnbeq9 -lnhost9 -lnus9 -lnldap9 -lldapclnt9 -lnsslb9 -lnnis9 -lnoname9
-lntcp9 -lntcps9 -lnsslb9 -lntcp9 -lntns9 -lnsl -lsocket -lgen -ldl
-R/app/local/oracle/product/9.2.0/lib -laio -lposix4 -lkstat -lm -lthread
[from 'build' rule]
Argument "9.200.0.0" isn't numeric in numeric ge (>=) at Makefile.PL line 669.
Warning: If you have problems you may need to rebuild perl with threading enabled.
LD_RUN_PATH=/app/local/oracle/product/9.2.0/lib:/app/local/oracle/product/9.2.0/rdbms/lib
Using DBD::Oracle 1.14.
Using DBI 1.38 installed in
/app/idsp22/cronus1/usr/local/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/DBI
Writing Makefile for DBD::Oracle
*** If you have problems...
read all the log printed above, and the README and README.help files.
(Of course, you have read README by now anyway, haven't you?)
================================================================================
The "perl -MCPAN -e 'install DBD::Oracle'" simply ignored that problem, but I am not
sure, I really should, so I lay this case before you, hoping for a hint or two, or
maybe a patch.
I am quite willing to try a lot -- if you give me hints what to try.
Cheers,
Jochen - wasting his life in the autumnly sad Munich