Hi, I am trying to install DBD-Oracle-1.19 on a new AIX5.3 64bit server we installed the required Oracle client:
For Oracle Instant Client: that means install the following packages: * The "Basic" package for the essential Oracle libraries. * The "SDK" package for the headers and makefile. * The "SQL*Plus" component When running make I get Undefined symbol errors. I have attached the output from using script. I hope you can help me out since I am out of my area of expertise on this. I don't deal with perl and DBD's very often. ld: 0711-317 ERROR: Undefined symbol: .OCIBindByName^M ld: 0711-317 ERROR: Undefined symbol: .OCIHandleAlloc^M ld: 0711-317 ERROR: Undefined symbol: .OCIDescribeAny^M ld: 0711-317 ERROR: Undefined symbol: .OCIAttrGet^M ld: 0711-317 ERROR: Undefined symbol: .OCIHandleFree^M ld: 0711-317 ERROR: Undefined symbol: .OCIParamGet^M ld: 0711-317 ERROR: Undefined symbol: .OCIDescriptorFree^M ld: 0711-317 ERROR: Undefined symbol: .OCIDescriptorAlloc^M ld: 0711-317 ERROR: Undefined symbol: .OCIStmtPrepare^M ld: 0711-317 ERROR: Undefined symbol: .OCIDefineByPos^M ld: 0711-317 ERROR: Undefined symbol: .OCIAttrSet^M ld: 0711-317 ERROR: Undefined symbol: .OCILobGetLength^M ld: 0711-317 ERROR: Undefined symbol: .OCILobCharSetForm^M ld: 0711-317 ERROR: Undefined symbol: .OCILobFileOpen^M ld: 0711-317 ERROR: Undefined symbol: .OCILobRead^M ld: 0711-317 ERROR: Undefined symbol: .OCILobFileClose^M ld: 0711-317 ERROR: Undefined symbol: .OCIErrorGet^M ld: 0711-317 ERROR: Undefined symbol: .OCIStmtExecute^M ld: 0711-317 ERROR: Undefined symbol: .OCIStmtFetch^M ld: 0711-317 ERROR: Undefined symbol: .OCILobCharSetId^M ld: 0711-317 ERROR: Undefined symbol: .OCILobWrite^M ld: 0711-317 ERROR: Undefined symbol: .OCILobTrim^M ld: 0711-317 ERROR: Undefined symbol: .OCILobLocatorAssign^M ld: 0711-317 ERROR: Undefined symbol: .OCILobCreateTemporary^M ld: 0711-317 ERROR: Undefined symbol: .OCISessionEnd^M ld: 0711-317 ERROR: Undefined symbol: .OCISessionBegin^M ld: 0711-317 ERROR: Undefined symbol: .OCIBindDynamic^M ld: 0711-317 ERROR: Undefined symbol: .OCIBreak^M ld: 0711-317 ERROR: Undefined symbol: .OCIServerDetach^M ld: 0711-317 ERROR: Undefined symbol: .OCITransRollback^M ld: 0711-317 ERROR: Undefined symbol: .OCITransCommit^M ld: 0711-317 ERROR: Undefined symbol: .ociepgoe^M ld: 0711-317 ERROR: Undefined symbol: .OCINlsEnvironmentVariableGet^M ld: 0711-317 ERROR: Undefined symbol: .OCIEnvNlsCreate^M ld: 0711-317 ERROR: Undefined symbol: .OCINlsCharSetNameToId^M ld: 0711-317 ERROR: Undefined symbol: .OCIEnvInit^M ld: 0711-317 ERROR: Undefined symbol: .OCIServerAttach^M ld: 0711-317 ERROR: Undefined symbol: .OCILobIsTemporary^M ld: 0711-317 ERROR: Undefined symbol: .OCILobFreeTemporary^M ld: 0711-317 ERROR: Undefined symbol: .OCILobWriteAppend^M
Script command is started on Fri Aug 24 10:48:02 EDT 2007. cvuxsybdq01@/apps/PerlModules/DBD-Oracle-1.19>perl Makefile.PL Using DBI 1.58 (for perl 5.008002 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI/ Configuring DBD::Oracle for perl 5.008002 on aix (aix-thread-multi) Remember to actually *READ* the README file! Especially if you have any problems. Using Oracle in /apps/oic DEFINE _SQLPLUS_RELEASE = "1002000200" (CHAR) Oracle version 10.2.0.2 (10.2) Looks like an Instant Client installation, okay Your LIBPATH env var is set to '/usr/sybase1254/OCS-12_5/lib:/usr/sybase1254/OCS-12_5/lib3p:/usr/local/openwin/lib:/usr/local/openwin/lib:/usr/lib:/usr/local/lib:/apps/oic' Oracle sysliblist: Found header files in /apps/oic/sdk/include. Checking for functioning wait.ph System: perl5.008002 aix animals 2 5 000709cf4c00 Compiler: cc_r -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong Linker: /usr/bin/ld Sysliblist: Linking with -lclntsh. WARNING: You will may need to rebuild perl using the xlc_r compiler. The important thing is that perl and DBD::Oracle be built with the same compiler. You may also need to: ORACCENV='cc=xlc_r'; export ORACCENV Also see README.aix for gcc instructions and read about the -p option. Checking if your kit is complete... Looks good LD_RUN_PATH=/apps/oic/lib:/apps/oic/rdbms/lib Using DBD::Oracle 1.19. Using DBD::Oracle 1.19. Using DBI 1.58 (for perl 5.008002 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI/ Writing Makefile for DBD::Oracle *** 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?) cvuxsybdq01@/apps/PerlModules/DBD-Oracle-1.19>make cp Oracle.pm blib/lib/DBD/Oracle.pm cp mkta.pl blib/lib/DBD/mkta.pl 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 mk.pm blib/arch/auto/DBD/Oracle/mk.pm cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm /usr/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists("NAME" => "DBD::Oracle", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_VARS" => []);' /usr/bin/perl -p -e "s/~DRIVER~/Oracle/g" /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI/Driver.xst > Oracle.xsi /usr/bin/perl /usr/opt/perl5/lib/5.8.2/ExtUtils/xsubpp -typemap /usr/opt/perl5/lib/5.8.2/ExtUtils/typemap -typemap typemap Oracle.xs > Oracle.xsc && mv Oracle.xsc Oracle.c cc_r -c -I/apps/oic/sdk/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE" -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" Oracle.c cc_r -c -I/apps/oic/sdk/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE" -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" dbdimp.c cc_r -c -I/apps/oic/sdk/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"1.19\" -DXS_VERSION=\"1.19\" "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE" -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.2\" oci8.c Running Mkbootstrap for DBD::Oracle () chmod 644 Oracle.bs rm -f blib/arch/auto/DBD/Oracle/Oracle.so LD_RUN_PATH="/apps/oic/lib:/apps/oic/rdbms/lib" ld -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp -bnoentry -lpthreads -lc_r Oracle.o dbdimp.o oci8.o -o blib/arch/auto/DBD/Oracle/Oracle.so -L/apps/oic -lclntsh ld: 0711-317 ERROR: Undefined symbol: .OCIBindByName ld: 0711-317 ERROR: Undefined symbol: .OCIHandleAlloc ld: 0711-317 ERROR: Undefined symbol: .OCIDescribeAny ld: 0711-317 ERROR: Undefined symbol: .OCIAttrGet ld: 0711-317 ERROR: Undefined symbol: .OCIHandleFree ld: 0711-317 ERROR: Undefined symbol: .OCIParamGet ld: 0711-317 ERROR: Undefined symbol: .OCIDescriptorFree ld: 0711-317 ERROR: Undefined symbol: .OCIDescriptorAlloc ld: 0711-317 ERROR: Undefined symbol: .OCIStmtPrepare ld: 0711-317 ERROR: Undefined symbol: .OCIDefineByPos ld: 0711-317 ERROR: Undefined symbol: .OCIAttrSet ld: 0711-317 ERROR: Undefined symbol: .OCILobGetLength ld: 0711-317 ERROR: Undefined symbol: .OCILobCharSetForm ld: 0711-317 ERROR: Undefined symbol: .OCILobFileOpen ld: 0711-317 ERROR: Undefined symbol: .OCILobRead ld: 0711-317 ERROR: Undefined symbol: .OCILobFileClose ld: 0711-317 ERROR: Undefined symbol: .OCIErrorGet ld: 0711-317 ERROR: Undefined symbol: .OCIStmtExecute ld: 0711-317 ERROR: Undefined symbol: .OCIStmtFetch ld: 0711-317 ERROR: Undefined symbol: .OCILobCharSetId ld: 0711-317 ERROR: Undefined symbol: .OCILobWrite ld: 0711-317 ERROR: Undefined symbol: .OCILobTrim ld: 0711-317 ERROR: Undefined symbol: .OCILobLocatorAssign ld: 0711-317 ERROR: Undefined symbol: .OCILobCreateTemporary ld: 0711-317 ERROR: Undefined symbol: .OCISessionEnd ld: 0711-317 ERROR: Undefined symbol: .OCISessionBegin ld: 0711-317 ERROR: Undefined symbol: .OCIBindDynamic ld: 0711-317 ERROR: Undefined symbol: .OCIBreak ld: 0711-317 ERROR: Undefined symbol: .OCIServerDetach ld: 0711-317 ERROR: Undefined symbol: .OCITransRollback ld: 0711-317 ERROR: Undefined symbol: .OCITransCommit ld: 0711-317 ERROR: Undefined symbol: .ociepgoe ld: 0711-317 ERROR: Undefined symbol: .OCINlsEnvironmentVariableGet ld: 0711-317 ERROR: Undefined symbol: .OCIEnvNlsCreate ld: 0711-317 ERROR: Undefined symbol: .OCINlsCharSetNameToId ld: 0711-317 ERROR: Undefined symbol: .OCIEnvInit ld: 0711-317 ERROR: Undefined symbol: .OCIServerAttach ld: 0711-317 ERROR: Undefined symbol: .OCILobIsTemporary ld: 0711-317 ERROR: Undefined symbol: .OCILobFreeTemporary ld: 0711-317 ERROR: Undefined symbol: .OCILobWriteAppend ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. make: 1254-004 The error code from the last command is 8. Stop. cvuxsybdq01@/apps/PerlModules/DBD-Oracle-1.19>perl -V Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration: Platform: osname=aix, osvers=5.2.0.0, archname=aix-thread-multi uname='aix animals 2 5 000709cf4c00 ' config_args='' hint=previous, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc_r', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong', optimize='-O', cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong' ccversion='5.0.2.0', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='ld', ldflags =' -brtl -b32 -bmaxdata:0x80000000' libpth=/lib /usr/lib /usr/ccs/lib libs=-lbind -lnsl -ldbm -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW perllibs=-lbind -lnsl -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW libc=/lib/libc.a, so=a, useshrplib=true, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp' cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -bnoentry -lpthreads -lc_r' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Locally applied patches: SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156) SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 Built under aix Compiled at Jan 26 2006 14:30:41 @INC: /usr/opt/perl5/lib/5.8.2/aix-thread-multi /usr/opt/perl5/lib/5.8.2 /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi /usr/opt/perl5/lib/site_perl/5.8.2 /usr/opt/perl5/lib/site_perl . cvuxsybdq01@/apps/PerlModules/DBD-Oracle-1.19> perl Makefile.PL -s OCIBindByName Using DBI 1.58 (for perl 5.008002 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI/ Using Oracle in /apps/oic DEFINE _SQLPLUS_RELEASE = "1002000200" (CHAR) Oracle version 10.2.0.2 (10.2) Searching for symbol 'OCIBindByName' in /apps/oic ... searching oracle lib/*.[ao] ... nm: lib/*.[ao]: 0654-200 Cannot open the specified file. nm: A file or directory in the path name does not exist. searching oracle lib/*.so ... nm: lib/*.so: 0654-200 Cannot open the specified file. nm: A file or directory in the path name does not exist. searching oracle */lib/*.[ao] ... nm: */lib/*.[ao]: 0654-200 Cannot open the specified file. nm: A file or directory in the path name does not exist. Search done. (Please only include the 'interesting' parts when mailing.) cvuxsybdq01@/apps/PerlModules/DBD-Oracle-1.19>exit Script command is complete on Fri Aug 24 10:51:09 EDT 2007.