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.