On 25/03/11 09:28, Alexander Foken wrote:
(Sorry for the empty reply, wrong button clicked ...)
Adding the line to oci.def helped, DBD::Oracle 1.28 compiles fine with the
patch on W2K / Strawberry 5.12 / Oracle 10.2g.
The test t/26exe_array.t failes due to a bad plan, 406 test planned, but 407
tests run, see 26.txt and 128-test-fail.txt.
Thanks Alexander.
We know about the plan failure and it is fixed in subversion trunk.
I'm guessing you had Test::NoWarnings installed.
Martin
Alexander
On 03/24/2011 08:32 PM, John Scoles wrote:
Ok I think I know what it is looks like I forgot to put
OCIServerRelease
in the
oci.def
Add the word in there and see what happens
Silly mistake really but hard to catch unless you have the right test system
handy
We would of caught this if we had a broader test page for the Release
Cadidates, hint hint nudge nudge ;) ;)
Cheers
John Scoles
Date: Thu, 24 Mar 2011 13:27:20 +0100
From: alexan...@foken.de
To: dbi-users@perl.org
CC: jason.thurs...@gmail.com
Subject: Re: Fwd: Error 'making DBD:Oracle 1.28 on Cygwin W
DBD::Oracle 1.27 compiled, tested and installed without any problems.
The changes in
<URL:http://search.cpan.org/~pythian/DBD-Oracle-1.28/Changes#Changes_in_DBD-Oracle_1.28_%28svn_rev_14765%29>
don't look relevant to my environment. I can live with that.
Now it is clear that some change from 1.27 to 1.28 broke compatibilty
with Oracle 10.2g.
Alexander
On 03/24/2011 12:18 PM, Alexander Foken wrote:
Hmmm, on my other system, DBD::Oracle 1.23 and Oracle 10.2g work
perfectly. So, what's the difference?
XP vs. 2000 -- unlikely
Much older DBD::Oracle
Looking at the DBD::Oracle diffs available at search.cpan.org, I see
that OCIServerRelease exists in the diffs from 1.27 to 1.28 (in
Oracle.xs, condition added to avoid calling OCIServerVersion on
servers< 10.2), and in the diffs from 1.24b to 1.25 (don't quite
understand what happens there). But I see no change containing
OCIServerVersion in the diffs from 1.24b to 1.25.
I will try compiling 1.27, then 1.23 after lunch ...
Alexander
On 03/24/2011 11:59 AM, Alexander Foken wrote:
Hello,
sorry, just a "me too" posting. I was just about to ask for nearly(?)
the same problem.
I'm trying with Strawberry Perl 5.12.2.0 and 5.10.0.4, Oracle 10g,
DBD::Oracle 1.28, Windows 2000 Professional.
Final problem after tons of warnings: oci8.o: oci8.c: undefined
reference to 'OCIServerRelease'
See attached logfile of running perl Makefile.PL and dmake (with Perl
5.12, same messages with 5.10).
I would guess that there is a problem with DBD::Oracle, because we
get the same missing symbol for different OS versions, different
Perl ports, different Perl versions, different DBI versions,
different Oracle versions.
Alexander
On 03/24/2011 12:15 AM, Jason Thurston wrote:
Hello,
Does anyone have any ideas where to go from here?
I think "perl Makefile.PL" is successful but I get an error when
trying the next step "make".
The Error I get when trying to "make" is
"/home/foo/DBD-Oracle-1.28/oci8.c:4619: undefined reference to
`_OCIServerRelease'". See Below for details.
I originally tried with the cygwin cpan tool but then downloaded the
packaged and tried manually but got the exact same error.
DETAILS:
OS:
Windows 2003 Enterprise X64 Edition
$ uname -a
CYGWIN_NT-5.2-WOW64 mck-rnmwv4-ip42 1.7.8(0.236/5/3) 2011-03-01 09:36
i686 Cygwin
$ env|grep -i ora|two
ORACLE_USER=foo1/foo1@foo
ORACLE_SID=foo
ORACLE_USERID=foo1/foo1@foo
TWO_TASK=foo
TNS_ADMIN=E:\oracle\instantclient_11_2
PATH=/usr/local/bin:/usr/bin:/cygdrive/e/oracle/instantclient_11_2:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0:/cygdrive/e/PROGRA~1/BMCSOF~1/Patrol3/bin:/cygdrive/e/PROGRA~1/BMCSOF~1/MASTER~1/server/bin:/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0:/opt/java/bin
CLASSPATH=.;E:\oracle\instantclient_11_2/ojdbc6.jar
ORACLE_HOME=E:\oracle\instantclient_11_2
$ pwd
/home/foo/DBD-Oracle-1.28
$ perl -v
This is perl, v5.10.1 (*) built for i686-cygwin-thread-multi-64int
$ sqlplus foo1/foo1@foo
SQL*Plus: Release 11.2.0.2.0 Production on Wed Mar 23 19:02:30 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
se
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for HPUX: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
SQL> quit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 -
64bit Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
$ perl Makefile.PL
Using DBI 1.616 (for perl 5.010001 on i686-cygwin-thread-multi-64int)
installed in /usr/lib/perl5/site_perl/5.10/i686-cygwin/auto/DBI/
Configuring DBD::Oracle for perl 5.010001 on cygwin
(i686-cygwin-thread-multi-64int)
Remember to actually *READ* the README file! Especially if you have
any problems.
Installing on a cygwin, Ver#1.7
Using Oracle in E:/oracle/instantclient_11_2
DEFINE _SQLPLUS_RELEASE = "1102000200" (CHAR)
Oracle version 11.2.0.2 (11.2)
Using OCI directory 'sdk'
client_version=11.2
DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT
-DORA_OCI_VERSION=\"11.2.0.2\" -DORA_OCI_102 -DORA_OCI_112
Checking for functioning wait.ph
System: perl5.010001 cygwin_nt-5.1 reini 1.7.5(0.22553) 2010-04-12
19:07 i686 cygwin
Compiler: gcc-4 -O3 -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g3
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
Linker: /usr/bin/ld
Sysliblist:
WARNING: If you have problems you may need to rebuild perl with
-Uusemymalloc.
Checking if your kit is complete...
Looks good
LD_RUN_PATH=E:/oracle/instantclient_11_2/lib:E:/oracle/instantclient_11_2/rdbms/lib
Using DBD::Oracle 1.28.
Using DBD::Oracle 1.28.
Using DBI 1.616 (for perl 5.010001 on i686-cygwin-thread-multi-64int)
installed in /usr/lib/perl5/site_perl/5.10/i686-cygwin/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?)
$ make
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.exe -p -e "s/~DRIVER~/Oracle/g"
/usr/lib/perl5/site_perl/5.10/i686-cygwin/auto/DBI/Driver.xst>
Oracle.xsi
/usr/bin/perl.exe /usr/lib/perl5/5.10/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.10/ExtUtils/typemap -typemap typemap Oracle.xs>
Oracle.xsc&& mv Oracle.xsc Oracle.c
gcc-4 -c -IE:/oracle/instantclient_11_2/sdk/include
-IE:/oracle/instantclient_11_2/rdbms/demo
-I/usr/lib/perl5/site_perl/5.10/i686-cygwin/auto/DBI
-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g3 -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include -DUSEIMPORTLIB -O3
-DVERSION=\"1.28\" -DXS_VERSION=\"1.28\"
"-I/usr/lib/perl5/5.10/i686-cygwin/CORE" -Wall -Wno-comment
-DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.2\" -DORA_OCI_102
-DORA_OCI_112 Oracle.c
gcc-4 -c -IE:/oracle/instantclient_11_2/sdk/include
-IE:/oracle/instantclient_11_2/rdbms/demo
-I/usr/lib/perl5/site_perl/5.10/i686-cygwin/auto/DBI
-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g3 -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include -DUSEIMPORTLIB -O3
-DVERSION=\"1.28\" -DXS_VERSION=\"1.28\"
"-I/usr/lib/perl5/5.10/i686-cygwin/CORE" -Wall -Wno-comment
-DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.2\" -DORA_OCI_102
-DORA_OCI_112 dbdimp.c
dbdimp.c: In function ‘dbd_rebind_ph_char’:
dbdimp.c:2666: warning: cast from pointer to integer of different size
dbdimp.c: In function ‘dbd_rebind_ph_xml’:
dbdimp.c:2864: warning: cast to pointer from integer of different size
dbdimp.c: In function ‘ora_bind_ph’:
dbdimp.c:3157: warning: format ‘%ld’ expects type ‘long int’,
but argument 2 has type ‘IV’
dbdimp.c:3166: warning: format ‘%ld’ expects type ‘long int’,
but argument 2 has type ‘IV’
dbdimp.c:3200: warning: format ‘%ld’ expects type ‘long int’,
but argument 3 has type ‘IV’
dbdimp.c: At top level:
dbdimp.c:288: warning: ‘oratype_rebind_ok’ defined but not used
gcc-4 -c -IE:/oracle/instantclient_11_2/sdk/include
-IE:/oracle/instantclient_11_2/rdbms/demo
-I/usr/lib/perl5/site_perl/5.10/i686-cygwin/auto/DBI
-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g3 -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include -DUSEIMPORTLIB -O3
-DVERSION=\"1.28\" -DXS_VERSION=\"1.28\"
"-I/usr/lib/perl5/5.10/i686-cygwin/CORE" -Wall -Wno-comment
-DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.2\" -DORA_OCI_102
-DORA_OCI_112 oci8.c
oci8.c: In function ‘ora_blob_read_mb_piece’:
oci8.c:1737: warning: format ‘%lu’ expects type ‘long unsigned
int’, but argument 6 has type ‘ub4’
oci8.c: In function ‘ora_st_fetch’:
oci8.c:3895: warning: format ‘%d’ expects type ‘int’, but
argument 4 has type ‘IV’
oci8.c:3895: warning: format ‘%d’ expects type ‘int’, but
argument 4 has type ‘IV’
oci8.c:3903: warning: format ‘%d’ expects type ‘int’, but
argument 3 has type ‘IV’
oci8.c:3903: warning: format ‘%d’ expects type ‘int’, but
argument 3 has type ‘IV’
rm -f blib/arch/auto/DBD/Oracle/Oracle.dll
LD_RUN_PATH="E:/oracle/instantclient_11_2/lib:E:/oracle/instantclient_11_2/rdbms/lib"
g++-4 --shared -Wl,--enable-auto-import -Wl,--export-all-symbols
-Wl,--stack,8388608 -Wl,--enable-auto-image-base -L/usr/local/lib
-fstack-protector Oracle.o dbdimp.o oci8.o -o
blib/arch/auto/DBD/Oracle/Oracle.dll \
/usr/lib/perl5/5.10/i686-cygwin/CORE/cygperl5_10.dll
-L/home/e8hqxdh/DBD-Oracle-1.28 -loci \
oci8.o: In function `ora_db_version':
/home/foo/DBD-Oracle-1.28/oci8.c:4619: undefined reference to
`_OCIServerRelease'
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/Oracle/Oracle.dll] Error 1