Subject: | DBD::Oracle build problem and fix. |
Date: | Thu, 25 Sep 2008 09:15:47 +0200 |
To: | bug-DBD-Oracle [...] rt.cpan.org |
From: | "Zoltán SEBESTYÉN" <zoltan.sebestyen [...] gmail.com> |
Message body is not shown because sender requested not to inline it.
Hi,
My problem was that the make commands ends up with error messages see below
- I also attached the complete log:
Oracle.o:Oracle.c:(.text+0x6ba9): undefined reference to
`_OCILobGetChunkSize
dbdimp.o:dbdimp.c:(.text+0x10e3): undefined reference to
`_OCINlsCharSetIdToName'
dbdimp.o:dbdimp.c:(.text+0x110f): undefined reference to
`_OCINlsCharSetIdToName'
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.dll] Error 1
What I've got:
- MS Windows Server 2003 R2/SP2
- a cygwin:
$ uname -a
CYGWIN_NT-5.2 mazsola 1.5.25(0.156/4/2) 2008-03-05 19:27 i686 Cygwin
- a perl:
$ perl -v
This is perl, v5.10.0 built for cygwin-thread-multi-64int
(with 6 registered patches, see perl -V for more detail)
- an oracle instant client unzipped from:
instantclient-basic-win32-11.1.0.6.0.zip
instantclient-sdk-win32-11.1.0.6.0.zip
instantclient-sqlplus-win32-11.1.0.6.0.zip
- an oracle instant client unzipped from:
instantclient-basic-win32-11.1.0.6.0.zip
- following CPAN packages (DBI installed successfully):
DBI-1.607 DBD-Oracle-1.22
- some environment set:
$ set|grep ORA
ORACLE_DSN=DBI:Oracle:host=inkaora
ORACLE_HOME=/cygdrive/c/Apps/instantclient_11_1
ORACLE_USERID=ipxcadmin/XXXXX
The fix was the add these three symbols to oci.def and then complete
rebuild. Here's the diff:
--- oci.def.safe 2008-04-02 15:43:45.000000000 +0200
+++ oci.def 2008-09-24 11:41:22.813414300 +0200
@@ -7,6 +7,9 @@
;
LIBRARY OCI.dll
EXPORTS
+OCILobGetChunkSize
+OCINlsCharSetIdToName
+OCINlsCharSetIdToName
OCIAQDeq
OCIAQEnq
OCIAttrGet
Regards,
Zoltan