Hi All, I've been banging my head against the desk trying to get DBD::Oracle to compile on Redhat (Linux 2.6.18-238.1.1.el5 #1 SMP Tue Jan 4 13:32:19 EST 2011 x86_64 x86_64 x86_64 GNU/Linux). Oracle version 10.1.0.5 (10.1)
I read through the supporting documents and I cannot find anything that I have been missing when trying to build DBD::Oracle 1.32 I get the same compile errors in 1.29, 1.30 and 1.32. I attached the outputs of perl Makefile.PL, make and perl -V make output: cp Oracle.pm blib/lib/DBD/Oracle.pm cp oraperl.ph blib/lib/oraperl.ph cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h cp Oraperl.pm blib/lib/Oraperl.pm cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm /usr/bin/perl -p -e "s/~DRIVER~/Oracle/g" /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/Driver.xst > Oracle.xsi /usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap Oracle.xs > Oracle.xsc && mv Oracle.xsc Oracle.c gcc -c -I/oracle/software/10.1.0.5.0/rdbms/public -I/oracle/software/10.1.0.5.0//rdbms/demo -I/oracle/software/10.1.0.5.0//rdbms/public -I/oracle/software/10.1.0.5.0//plsql/public -I/oracle/software/10.1.0.5.0//network/public -I/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"1.32\" -DXS_VERSION=\"1.32\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"10.1.0.5\" Oracle.c Oracle.c: In function ‘XS_DBD__Oracle__db_ora_db_startup’: Oracle.xs:286: warning: unused variable ‘status’ Oracle.xs:285: warning: unused variable ‘imp_dbh’ Oracle.c:1715: warning: unused variable ‘attribs’ Oracle.c: In function ‘XS_DBD__Oracle__db_ora_db_shutdown’: Oracle.xs:329: warning: unused variable ‘status’ Oracle.xs:328: warning: unused variable ‘imp_dbh’ Oracle.c:1770: warning: unused variable ‘attribs’ Oracle.xs: In function ‘XS_DBD__Oracle__db_ora_can_taf’: Oracle.xs:360: error: ‘OCI_ATTR_TAF_ENABLED’ undeclared (first use in this function) Oracle.xs:360: error: (Each undeclared identifier is reported only once Oracle.xs:360: error: for each function it appears in.) make: *** [Oracle.o] Error 1 perl Makefile.PL looks fine when I run it: Using DBI 1.616 (for perl 5.008008 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/ Configuring DBD::Oracle for perl 5.008008 on linux (x86_64-linux-thread-multi) Installing on a linux, Ver#2.6 Using Oracle in /oracle/software/10.1.0.5.0 DEFINE _SQLPLUS_RELEASE = "1001000500" (CHAR) Oracle version 10.1.0.5 (10.1) Found /oracle/software/10.1.0.5.0/rdbms/demo/demo_rdbms.mk Found /oracle/software/10.1.0.5.0/rdbms/demo/demo_rdbms64.mk Found /oracle/software/10.1.0.5.0/rdbms/lib/ins_rdbms.mk Using /oracle/software/10.1.0.5.0/rdbms/demo/demo_rdbms.mk Your LD_LIBRARY_PATH env var is set to '/oracle/software/10.1.0.5.0/lib/' Reading /oracle/software/10.1.0.5.0/rdbms/demo/demo_rdbms.mk Reading /oracle/software/10.1.0.5.0//rdbms/lib/env_rdbms.mk Attempting to discover Oracle OCI build rules gcc -c -o DBD_ORA_OBJ.o DBD_ORA_OBJ.c by executing: [make -f /oracle/software/10.1.0.5.0/rdbms/demo/demo_rdbms.mkbuild ECHODO=echo ECHO=echo GENCLNTSH='echo genclntsh' CC=true OPTIMIZE= CCFLAGS= EXE=DBD_ORA_EXE OBJS=DBD_ORA_OBJ.o] Oracle oci build command: [true -L/oracle/software/10.1.0.5.0//lib/ -L/oracle/software/10.1.0.5.0//rdbms/lib/ -o DBD_ORA_EXE DBD_ORA_OBJ.o -lclntsh `cat /oracle/software/10.1.0.5.0//lib/sysliblist` -ldl -lm ] Found header files in /oracle/software/10.1.0.5.0/rdbms/public. client_version=10.1 DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"10.1.0.5\" Checking for functioning wait.ph System: perl5.008008 linux x86-005.build.bos.redhat.com 2.6.18-194.8.1.el5 #1 smp wed jun 23 10:52:51 edt 2010 x86_64 x86_64 x86_64 gnulinux Compiler: gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm Linker: /usr/bin/ld Sysliblist: -ldl -lm -lpthread -lnsl -lirc Oracle makefiles would have used these definitions but we override them: CC: $(ORACLE_HOME)/bin/ogcc CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\ $(SHARED_CFLAG) $(USRFLAGS) [$(GFLAG) -O3 $(CDEBUG) $(CCFLAGS) -I/oracle/software/10.1.0.5.0//rdbms/demo -I/oracle/software/10.1.0.5.0//rdbms/public -I/oracle/software/10.1.0.5.0//plsql/public -I/oracle/software/10.1.0.5.0//network/public -DLINUX -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS $(LPFLAGS) $(USRFLAGS)] LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) $(LDPATHFLAG)$(LIBHOME)stubs/ [-o $@ -L/oracle/software/10.1.0.5.0//rdbms/lib/ -L$(LIBHOME) -L$(LIBHOME)stubs/] Linking with OTHERLDFLAGS = -L/oracle/software/10.1.0.5.0//lib/ -L/oracle/software/10.1.0.5.0//rdbms/lib/ -lclntsh `cat /oracle/software/10.1.0.5.0//lib/sysliblist` -ldl -lm [from 'build' rule] Checking if your kit is complete... Warning: the following files are missing in your kit: README.explain.txt Please inform the author. LD_RUN_PATH=/oracle/software/10.1.0.5.0/lib:/oracle/software/10.1.0.5.0/rdbms/lib Using DBD::Oracle 1.32. Using DBD::Oracle 1.32. Using DBI 1.616 (for perl 5.008008 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/ Writing Makefile for DBD::Oracle Writing MYMETA.yml and MYMETA.json *** If you have problems... read all the log printed above, and the README and README.help.txt files. (Of course, you have read README by now anyway, haven't you?) ################################################### ################################################### perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.18-194.8.1.el5, archname=x86_64-linux-thread-multi uname='linux x86-005.build.bos.redhat.com 2.6.18-194.8.1.el5 #1 smp wed jun 23 10:52:51 edt 2010 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Dversion=5.8.8 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.8 -Dsitelib=/usr/lib/perl5/site_perl/5.8.8 -Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.8 -Darchlib=/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi -Dsitearch=/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi -Darchname=x86_64-linux-thread-multi -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -Dinc_version_list=5.8.7 5.8.6 5.8.5 -Dscriptdir=/usr/bin' 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_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='4.1.2 20080704 (Red Hat 4.1.2-48)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 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 ='' libpth=/usr/local/lib64 /lib64 /usr/lib64 libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.5' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' 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 Built under linux Compiled at Sep 3 2010 08:59:03 @INC: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .