Hi
I have been trying to install DBD::Oracle perl module on a Centos 5.7 server which is running Oracle client version 11.2.0.3. I have installed all dependencies prior to attempting installing the same and I am running into the following error -
/usr/bin/ld: skipping incompatible /app/utiba/oracle/client/lib//libclntsh.so when searching for -lclntsh
/usr/bin/ld: cannot find -lclntsh
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
Here are the complete details of my attempt of installation of the perl module -
[root@tch1testuview1 DBD-Oracle-1.50]# perl Makefile.PL
Using DBI 1.52 (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)
Remember to actually *READ* the README file! Especially if you have any problems.
Installing on a linux, Ver#2.6
Using Oracle in /app/utiba/oracle/client
DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR)
Oracle version 11.2.0.3 (11.2)
Found /app/utiba/oracle/client/rdbms/lib/ins_rdbms.mk
Using /app/utiba/oracle/client/rdbms/lib/ins_rdbms.mk
Your LD_LIBRARY_PATH env var is set to '/app/utiba/oracle/client/lib:/lib:/usr/lib'
Reading /app/utiba/oracle/client/rdbms/lib/ins_rdbms.mk
Reading /app/utiba/oracle/client/rdbms/lib/env_rdbms.mk
WARNING: Oracle /app/utiba/oracle/client/rdbms/lib/ins_rdbms.mk doesn't define a 'build' rule.
WARNING: I will now try to guess how to build and link DBD::Oracle for you.
This kind of guess work is very error prone and Oracle-version sensitive.
It is possible that it won't be supported in future versions of DBD::Oracle.
*PLEASE* notify dbi-users about exactly _why_ you had to build it this way.
Found header files in /app/utiba/oracle/client/rdbms/public.
client_version=11.2
DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.3\" -DORA_OCI_102 -DORA_OCI_112
Checking for functioning wait.ph
System: perl5.008008 linux builder10.centos.org 2.6.18-53.el5 #1 smp mon nov 12 02:14:55 est 2007 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 -lipgo
Oracle makefiles would have used these definitions but we override them:
CC: $(GCC)
CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\
$(SHARED_CFLAG) $(USRFLAGS)
[$(GFLAG) -O2 $(CDEBUG) $(CCFLAGS) -I/app/utiba/oracle/client/rdbms/demo -I/app/utiba/oracle/client/rdbms/public -I/app/utiba/oracle/client/plsql/public -I/app/utiba/oracle/client/network/public -DLINUX -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -DLDAP_CM $(LPFLAGS) $(PLSQLNCGFLAGS) $(USRFLAGS)]
LDFLAGS: -o $@ $(LDOBJSZ) $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) $(LDPATHFLAG)$(LIBHOME)stubs/ $(LDPATHFLAG)$(LIBHOME) $(LLIBIRC)
[-o $@ -m32 -L/app/utiba/oracle/client/rdbms/lib/ -L$(LIBHOME) -L$(LIBHOME)stubs/ -L$(LIBHOME) -lirc -lipgo ]
Linking with -lclntsh -ldl -lm -lpthread -lnsl -lirc -lipgo -ldl -lm [from $(OCISHAREDLIBS)]
LD_RUN_PATH=/app/utiba/oracle/client/lib
Using DBD::Oracle 1.50.
Using DBD::Oracle 1.50.
Using DBI 1.52 (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
*** 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?)
[root@tch1testuview1 DBD-Oracle-1.50]# make
Skip blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod (unchanged)
Skip blib/lib/DBD/Oracle.pm (unchanged)
Skip blib/lib/oraperl.ph (unchanged)
Skip blib/arch/auto/DBD/Oracle/Oracle.h (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting/Vms.pod (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting/Linux.pod (unchanged)
Skip blib/lib/DBD/Oracle/GetInfo.pm (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting.pod (unchanged)
Skip blib/arch/auto/DBD/Oracle/dbdimp.h (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting/Hpux.pm (unchanged)
Skip blib/arch/auto/DBD/Oracle/ocitrace.h (unchanged)
Skip blib/lib/Oraperl.pm (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting/Sun.pod (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting/Macos.pod (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting/Aix.pod (unchanged)
Skip blib/lib/DBD/Oracle/Object.pm (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting/Win64.pod (unchanged)
Skip blib/arch/auto/DBD/Oracle/mk.pm (unchanged)
Skip blib/lib/DBD/Oracle/Troubleshooting/Win32.pod (unchanged)
gcc -c -I/app/utiba/oracle/client/rdbms/public -I/app/utiba/oracle/client/rdbms/demo -I/app/utiba/oracle/client/rdbms/public -I/app/utiba/oracle/client/plsql/public -I/app/utiba/oracle/client/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.50\" -DXS_VERSION=\"1.50\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.3\" -DORA_OCI_102 -DORA_OCI_112 Oracle.c
gcc -c -I/app/utiba/oracle/client/rdbms/public -I/app/utiba/oracle/client/rdbms/demo -I/app/utiba/oracle/client/rdbms/public -I/app/utiba/oracle/client/plsql/public -I/app/utiba/oracle/client/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.50\" -DXS_VERSION=\"1.50\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.3\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.c
dbdimp.c: In function ‘fb_ary_cb_alloc’:
dbdimp.c:324: warning: comparison is always false due to limited range of data type
dbdimp.c:325: warning: comparison is always false due to limited range of data type
dbdimp.c:326: warning: comparison is always false due to limited range of data type
dbdimp.c:327: warning: comparison is always false due to limited range of data type
dbdimp.c:328: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘fb_ary_alloc’:
dbdimp.c:344: warning: comparison is always false due to limited range of data type
dbdimp.c:345: warning: comparison is always false due to limited range of data type
dbdimp.c:346: warning: comparison is always false due to limited range of data type
dbdimp.c:347: warning: comparison is always false due to limited range of data type
gcc -c -I/app/utiba/oracle/client/rdbms/public -I/app/utiba/oracle/client/rdbms/demo -I/app/utiba/oracle/client/rdbms/public -I/app/utiba/oracle/client/plsql/public -I/app/utiba/oracle/client/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.50\" -DXS_VERSION=\"1.50\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.3\" -DORA_OCI_102 -DORA_OCI_112 oci8.c
oci8.c: In function ‘ora_blob_read_mb_piece’:
oci8.c:1804: warning: comparison is always false due to limited range of data type
oci8.c: In function ‘describe_obj_by_tdo’:
oci8.c:3256: warning: comparison is always false due to limited range of data type
oci8.c: In function ‘ora_describe’:
oci8.c:3480: warning: comparison is always false due to limited range of data type
oci8.c: In function ‘ora_st_fetch’:
oci8.c:3953: warning: unused variable ‘imp_xxh’
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
LD_RUN_PATH="/app/utiba/oracle/client/lib" gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic Oracle.o dbdimp.o oci8.o -o blib/arch/auto/DBD/Oracle/Oracle.so \
-L/app/utiba/oracle/client/lib/ -lclntsh -ldl -lm -lpthread -lnsl -lirc -lipgo -ldl -lm \
/usr/bin/ld: skipping incompatible /app/utiba/oracle/client/lib//libclntsh.so when searching for -lclntsh
/usr/bin/ld: cannot find -lclntsh
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
I am sure that installing a previous(older) version of oracle client will fix this issue i.e. either 11.2.0.1 or older (that is tested) but I want to know if it is possible to resolve the above issue with a work around and not having to install a previous version.
Fyi.. I've tried to install DBD::Oracle version 1.24 and 1.50 but that doesn't seem to make any difference. I couldn't find any related thread either for this error so I desperately need a solution to the same(if any).
If anyone can help here, would really appreciate it or else, I will have no choice but to install previous version of oracle client.
Thanks
Edited by: 956308 on Aug 31, 2012 6:55 AM
Edited by: 956308 on Aug 31, 2012 6:57 AM