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