John Scoles wrote:
The first Release Candidate for DBD::Oracle 1.21 is now ready for your
enjoyment.
You can find it here
http://svn.perl.org/modules/dbd-oracle/trunk/DBD-Oracle-1.21-RC1.tar
Any and all testing would be greatly appreciated, but especially
testing of building against Oracle Instant Client on a range of platforms.
So far in the with the Windows environment there is still one waring
'OCIXMLTypeCreateFromSrc' as 'undefined'. While annoying it does not
seem to cause any problems.
there are more warnings for me on Linux/Oracle 10.2.0.1.
This is a another 'Big' release with a number of new features in no
particular order
1) Support for the Oracle 10.2 Data Interface for Persistent LOBs
(no more LOB Locaters hoary!!)
2) Support for Native Oracle Scrollable cursors
3) Support for bind_param_inout_array for use with execute_array
thanks especially for that - looking forward to using it.
4) Support for Lobs in 'select' of Oracle Embedded Objects
5) support for direct insert of large XML character data into XMLType
fields
See the pod for details on these new features and of course a number of
bug fixes and a few pod enhancements just for fun.
Thanks!
John Scoles
This RC seems to fail during make for me whereas 1.20 on the same
machine works fine:
[EMAIL PROTECTED] DBD-Oracle-1.21-RC1]$ perl Makefile.PL
Using DBI 1.59 (for perl 5.008008 on i386-linux-thread-multi) installed
in /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI/
Configuring DBD::Oracle for perl 5.008008 on linux (i386-linux-thread-multi)
Remember to actually *READ* the README file! Especially if you have any
problems.
Using Oracle in /usr/lib/oracle/xe/app/oracle/product/10.2.0/server
DEFINE _SQLPLUS_RELEASE = "1002000100" (CHAR)
Oracle version 10.2.0.1 (10.2)
Found
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/demo/demo_xe.mk
Using
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/demo/demo_xe.mk
Looks like Oracle XE
(/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/demo/demo_xe.mk)
Reading
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/demo/demo_xe.mk
Your LD_LIBRARY_PATH env var is set to
'/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib:/home/db2inst1/sqllib/lib'
<I've omitted the wait.ph generated warnings you always get>
System: perl5.008008 linux hs20-bc2-4.build.redhat.com 2.6.9-34.elsmp #1
smp fri feb 24 16:56:28 est 2006 i686 i686 i386 gnulinux
Compiler: gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
-mtune=generic -fasynchronous-unwind-tables -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
Oracle makefiles would have used these definitions but we override them:
CC: /usr/bin/gcc
LDFLAGS: -g
[-g]
Linking with -L/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/
-lclntsh -lpthread
LD_RUN_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
Using DBD::Oracle 1.21.
Using DBD::Oracle 1.21.
Using DBI 1.59 (for perl 5.008008 on i386-linux-thread-multi) installed
in /usr/lib/perl5/site_perl/5.8.8/i386-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?)
[EMAIL PROTECTED] DBD-Oracle-1.21-RC1]$ make
Skip blib/lib/DBD/Oracle.pm (unchanged)
Skip blib/lib/DBD/mkta.pl (unchanged)
Skip blib/lib/oraperl.ph (unchanged)
Skip blib/arch/auto/DBD/Oracle/dbdimp.h (unchanged)
Skip blib/arch/auto/DBD/Oracle/ocitrace.h (unchanged)
Skip blib/lib/Oraperl.pm (unchanged)
Skip blib/arch/auto/DBD/Oracle/Oracle.h (unchanged)
Skip blib/arch/auto/DBD/Oracle/mk.pm (unchanged)
Skip blib/lib/DBD/Oracle/GetInfo.pm (unchanged)
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.8.8/ExtUtils/typemap Oracle.xs > Oracle.xsc && mv
Oracle.xsc Oracle.c
Error: 'OCILobLocator *' not in typemap in Oracle.xs, line 249
Error: 'OCILobLocator *' not in typemap in Oracle.xs, line 303
Error: 'OCILobLocator *' not in typemap in Oracle.xs, line 383
Error: 'OCILobLocator *' not in typemap in Oracle.xs, line 431
Error: 'OCILobLocator *' not in typemap in Oracle.xs, line 449
make: *** [Oracle.c] Error 1
I believe this is because you have omitted the typemap file which xsubpp
needs. Also the MANIFEST file is missing. If you copy typemap from
DBD::Oracle 1.20 you get considerably further:
[EMAIL PROTECTED] DBD-Oracle-1.21-RC1]$ cp ../DBD-Oracle-1.20/typemap .
[EMAIL PROTECTED] DBD-Oracle-1.21-RC1]$ make
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.8.8/ExtUtils/typemap Oracle.xs > Oracle.xsc && mv
Oracle.xsc Oracle.c
gcc -c
-I/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI
-I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/
-DLINUX -D_GNU_SOURCE -D_REENTRANT -g -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 -m32
-march=i386 -mtune=generic -fasynchronous-unwind-tables
-DVERSION=\"1.21\" -DXS_VERSION=\"1.21\" -fPIC
"-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -Wall
-Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT
-DORA_OCI_VERSION=\"10.2.0.1\" Oracle.c
gcc -c
-I/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI
-I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/
-DLINUX -D_GNU_SOURCE -D_REENTRANT -g -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 -m32
-march=i386 -mtune=generic -fasynchronous-unwind-tables
-DVERSION=\"1.21\" -DXS_VERSION=\"1.21\" -fPIC
"-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -Wall
-Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT
-DORA_OCI_VERSION=\"10.2.0.1\" dbdimp.c
dbdimp.c: In function 'ora_db_login6':
dbdimp.c:768: warning: value computed is not used
dbdimp.c: In function 'createxmlfromstring':
dbdimp.c:1066: warning: implicit declaration of function
'OCIXMLTypeCreateFromSrc'
dbdimp.c: In function 'ora_st_execute':
dbdimp.c:2864: warning: unused variable 'exe_mode'
dbdimp.c: In function 'ora_st_execute_array':
dbdimp.c:3264: warning: unused variable 'sv2'
dbdimp.c:3262: warning: unused variable 'avlen'
gcc -c
-I/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI
-I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/
-DLINUX -D_GNU_SOURCE -D_REENTRANT -g -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 -m32
-march=i386 -mtune=generic -fasynchronous-unwind-tables
-DVERSION=\"1.21\" -DXS_VERSION=\"1.21\" -fPIC
"-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE" -Wall
-Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT
-DORA_OCI_VERSION=\"10.2.0.1\" oci8.c
oci8.c: In function 'get_attr_val':
oci8.c:1397: warning: pointer targets in passing argument 1 of
'__builtin___strcat_chk' differ in signedness
oci8.c:1397: warning: pointer targets in passing argument 1 of
'__strcat_ichk' differ in signedness
oci8.c:1398: warning: pointer targets in passing argument 1 of
'__builtin___strcat_chk' differ in signedness
oci8.c:1398: warning: pointer targets in passing argument 1 of
'__strcat_ichk' differ in signedness
oci8.c:1420: warning: pointer targets in passing argument 6 of
'fetch_lob' differ in signedness
oci8.c: In function 'post_execute_lobs':
oci8.c:3041: warning: left-hand operand of comma expression has no effect
oci8.c:3041: warning: left-hand operand of comma expression has no effect
oci8.c:3041: warning: statement with no effect
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
LD_RUN_PATH="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib"
gcc -shared -L/usr/local/lib Oracle.o dbdimp.o oci8.o -o
blib/arch/auto/DBD/Oracle/Oracle.so \
-L/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/ -lclntsh
-lpthread \
chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so
cp Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs
chmod 644 blib/arch/auto/DBD/Oracle/Oracle.bs
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" ora_explain.PL ora_explain
Extracted ora_explain from ora_explain.PL with variable substitutions.
cp ora_explain blib/script/ora_explain
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/ora_explain
Manifying blib/man1/ora_explain.1
Manifying blib/man3/DBD::Oracle.3pm
Oracle.pm:1257: Unknown command paragraph "=over4"
Oracle.pm:2881: Unmatched =back
Manifying blib/man3/DBD::Oraperl.3pm
Those last 2 errors are because "=over4" should be "=over 4" on line
1257 of Oracle.pm.
The warnings on use of comma operator look valid as oci8.c at line 3041
contains:
phs_t *phs = (phs_t*)(void*)SvPVX(phs_svp);
if (phs->desc_h && !phs->is_inout){
(sth, imp_sth, phs->desc_h);
}
which does nothing.
Once I made the changes above to get the Makefile to run the make test
was successful although a few were skipped as I'm using DBI 1.59 ("DBI
version 1.59 does not supprt iThreads").
Have not tried instant client yet but will try to before your next RC.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com