Subject: DBD-Oracle 1.24b reports ORA-24334 in t/58object.t
Date: Fri, 9 Jul 2010 15:29:45 +0200
From: juergen.grossk...@ofdka.bwl.de
To: dbi-users@perl.org
Hallo,
while executing a "make test" with "DBD-Oracle 1.24b" I got an error on my HP
box.
I think, that the same problem was reported in the thread "DBD-Oracle 1.24a reports ORA-24334 in t/58object.t"
by Timothy Everett on his SUN machine.
There is mentioned, that the problem was solved by a patch.
But unfortunately I can't find that patch or a description in this threat how to get rid of this problem.
Can anybody help me?
My Environment-data:
- perl 5.10.1 64-bit
- gcc-Version 4.4.3 (GCC)
- HP-UX B.11.11 U 9000/800 PA-RISC 2.0
- Oracle 10.2.0.4
[/home/perl/.cpan/build/DBD-Oracle-1.24-U4bVzI]$ perl -V
Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
Platform:
osname=hpux, osvers=11.11, archname=PA-RISC2.0-LP64
uname='hp-ux r3 b.11.11 u 9000800 1909236376 unlimited-user license '
config_args='-Uversiononly -Dinc_version_list=none -Duseperlio -Dcc=gcc
-Duse64bitall -des'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc64', ccflags ='-mpa-risc-2-0 -DDEBUGGING -DPERL_DONT_CREATE_GVSV
-D_HPUX_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/pa20_64/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-g -O',
cppflags='-mpa-risc-2-0 -DDEBUGGING -DPERL_DONT_CREATE_GVSV -D_HPUX_SOURCE
-mpa-risc-2-0 -DDEBUGGING -DPERL_DONT_CREATE_GVSV -D_HPUX_SOURCE -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/pa20_64/include'
ccversion='', gccversion='3.4.6', gccosandvers='hpux11.11'
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='/usr/bin/ld', ldflags ='-L/usr/local/pa20_64/lib -L/usr/local/lib/pa20_64
-L/usr/lib/pa20_64 -L/usr/local/lib -L/pro/local/lib -L/lib/pa20_64'
libpth=/usr/local/pa20_64/lib /lib/pa20_64 /lib /usr/lib /usr/ccs/lib
/usr/local/lib
libs=-lcl -lpthread -lnsl -lnm -lgdbm -ldb -ldl -ldld -lm -lsec -lc
perllibs=-lcl -lpthread -lnsl -lnm -ldl -ldld -lm -lsec -lc
libc=/lib/pa20_64/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred '
cccdlflags='-fPIC', lddlflags='-b -L/usr/local/pa20_64/lib
-L/usr/local/lib/pa20_64 -L/usr/lib/pa20_64 -L/usr/local/lib -L/pro/local/lib
-L/lib/pa20_64'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
USE_PERLIO
Built under hpux
Compiled at Aug 24 2009 13:27:32
@INC:
/opt/perl64/lib/5.10.1/PA-RISC2.0-LP64
/opt/perl64/lib/5.10.1
/opt/perl64/lib/site_perl/5.10.1/PA-RISC2.0-LP64
/opt/perl64/lib/site_perl/5.10.1
.
[/home/perl/.cpan/build/DBD-Oracle-1.24-U4bVzI]$ make realclean
rm -f \
blib/script/ora_explain
rm -f \
*.a core \
core.[0-9] blib/arch/auto/DBD/Oracle/extralibs.all \
core.[0-9][0-9] Oracle.bso \
pm_to_blib.ts core.[0-9][0-9][0-9][0-9] \
Oracle.x Oracle.bs \
perl tmon.out \
*.o pm_to_blib \
blib/arch/auto/DBD/Oracle/extralibs.ld blibdirs.ts \
Oracle.c core.[0-9][0-9][0-9][0-9][0-9] \
*perl.core core.*perl.*.? \
Makefile.aperl perl \
Oracle.def core.[0-9][0-9][0-9] \
mon.out libOracle.def \
perlmain.c perl.exe \
so_locations Oracle.exp
rm -rf \
ora_explain dll.base \
DBD_ORA_OBJ.* Oracle.xsi \
dll.exp libOracle.def \
sqlnet.log blib \
mk.pm xstmp.c
mv Makefile Makefile.old > /dev/null 2>&1
rm -f \
Oracle.o dbdimp.o oci8.o Makefile.old \
Makefile
rm -rf \
DBD-Oracle-1.24
[/home/perl/.cpan/build/DBD-Oracle-1.24-U4bVzI]$ perl Makefile.PL
Using DBI 1.609 (for perl 5.010001 on PA-RISC2.0-LP64) installed in
/opt/perl64/lib/site_perl/5.10.1/PA-RISC2.0-LP64/auto/DBI/
Configuring DBD::Oracle for perl 5.010001 on hpux (PA-RISC2.0-LP64)
Remember to actually *READ* the README file! Especially if you have any
problems.
Installing on a hpux, Ver#11.11
Using Oracle in /opt/oracle/product/oracle10.2
DEFINE _SQLPLUS_RELEASE = "1002000400" (CHAR)
Oracle version 10.2.0.4 (10.2)
Found /opt/oracle/product/oracle10.2/rdbms/demo/demo_rdbms.mk
Found /opt/oracle/product/oracle10.2/rdbms/demo/demo_rdbms64.mk
Found /opt/oracle/product/oracle10.2/rdbms/lib/ins_rdbms.mk
Found /opt/oracle/product/oracle10.2/precomp/demo/proc/demo_proc.mk
Using /opt/oracle/product/oracle10.2/rdbms/demo/demo_rdbms.mk
Your LD_LIBRARY_PATH/SHLIB_PATH env var is set to
'/opt/oracle/product/oracle10.2/lib:/opt/omni/lib:/opt/oracle/product/oracle10.2/lib:/opt/omni/lib'
Reading /opt/oracle/product/oracle10.2/rdbms/demo/demo_rdbms.mk
Reading /opt/oracle/product/oracle10.2/rdbms/lib/env_rdbms.mk
Attempting to discover Oracle OCI build rules
gcc64 -O -c DBD_ORA_OBJ.c
by executing: [make -f /opt/oracle/product/oracle10.2/rdbms/demo/demo_rdbms.mk
build ECHODO=echo ECHO=echo GENCLNTSH='echo genclntsh' CC=true OPTIMIZE=
CCFLAGS= EXE=DBD_ORA_EXE OBJS=DBD_ORA_OBJ.o]
Oracle oci build command:
[ true -Wl,+s -Wl,+n +DA2.0W +DS2.0 -o build
-L/opt/oracle/product/oracle10.2/rdbms/lib/
-L/opt/oracle/product/oracle10.2/lib/ -o DBD_ORA_EXE DBD_ORA_OBJ.o -lclntsh
`cat /opt/oracle/product/oracle10.2/lib/ldflags` `cat
/opt/oracle/product/oracle10.2/lib/sysliblist` -lm ]
WARNING: Stripped `cat /opt/oracle/product/oracle10.2/lib/sysliblist`
from link command, because it contains libraries not
compiled with +z or +Z (PIC) causing link to fail.
Furthermore, we should have already grabbed these libraries
Found header files in /opt/oracle/product/oracle10.2/rdbms/public.
WARNING: If you have trouble, see README.hpux.txt...
you may have to build your own perl, or go hunting for libraries
WARNING: If you have trouble, try perl Makefile.PL -l
Checking for functioning wait.ph
System: perl5.010001 hp-ux r3 b.11.11 u 9000800 1909236376 unlimited-user license
Compiler: gcc64 -g -O -mpa-risc-2-0 -DDEBUGGING -DPERL_DONT_CREATE_GVSV -D_HPUX_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/pa20_64/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
Linker: /usr/bin/ld
Sysliblist: -lrt -lpthread -l:libnss_dns.1 -lnsl
Oracle makefiles would have used these definitions but we override them:
CC: cc
CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\
$(SHARED_CFLAG) $(USRFLAGS)
[$(GFLAG) $(OPTIMIZE) $(CDEBUG) +DA2.0W +DS2.0 -DSS_64BIT_SERVER
-I/opt/oracle/product/oracle10.2/rdbms/demo
-I/opt/oracle/product/oracle10.2/rdbms/public
-I/opt/oracle/product/oracle10.2/plsql/public
-I/opt/oracle/product/oracle10.2/network/public $(SPFLAGS) $(LPFLAGS)
$(SHARED_CFLAG) $(USRFLAGS)]
LDFLAGS: -Wl,+s -Wl,+n +DA2.0W +DS2.0 -o $@ -L$(PRODLIBHOME) -L$(LIBHOME)
[-Wl,+s -Wl,+n +DA2.0W +DS2.0 -o $@ -L/opt/oracle/product/oracle10.2/rdbms/lib/
-L$(LIBHOME)]
Linking with OTHERLDFLAGS = +s +n -L/opt/oracle/product/oracle10.2/rdbms/lib/
-L/opt/oracle/product/oracle10.2/lib/ -lclntsh `cat
/opt/oracle/product/oracle10.2/lib/ldflags` -lm -lqsmashr [from 'build' rule]
WARNING: If you have problems you may need to rebuild perl with threading
enabled.
Checking if your kit is complete...
Looks good
LD_RUN_PATH=/opt/oracle/product/oracle10.2/lib:/opt/oracle/product/oracle10.2/rdbms/lib
Using DBD::Oracle 1.24.
Using DBD::Oracle 1.24.
Using DBI 1.609 (for perl 5.010001 on PA-RISC2.0-LP64) installed in
/opt/perl64/lib/site_perl/5.10.1/PA-RISC2.0-LP64/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?)
[/home/perl/.cpan/build/DBD-Oracle-1.24-U4bVzI]$ 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 -p -e "s/~DRIVER~/Oracle/g"
/opt/perl64/lib/site_perl/5.10.1/PA-RISC2.0-LP64/auto/DBI/Driver.xst > Oracle.xsi
/usr/bin/perl /opt/perl64/lib/5.10.1/ExtUtils/xsubpp -typemap
/opt/perl64/lib/5.10.1/ExtUtils/typemap -typemap typemap Oracle.xs > Oracle.xsc
&& mv Oracle.xsc Oracle.c
gcc64 -c -I/opt/oracle/product/oracle10.2/rdbms/public -I/opt/oracle/product/oracle10.2/rdbms/demo
-I/opt/oracle/product/oracle10.2/rdbms/public -I/opt/oracle/product/oracle10.2/plsql/public
-I/opt/oracle/product/oracle10.2/network/public -I/opt/perl64/lib/site_perl/5.10.1/PA-RISC2.0-LP64/auto/DBI
-mpa-risc-2-0 -DDEBUGGING -DPERL_DONT_CREATE_GVSV -D_HPUX_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/pa20_64/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O -DVERSION=\"1.24\"
-DXS_VERSION=\"1.24\" -fPIC "-I/opt/perl64/lib/5.10.1/PA-RISC2.0-LP64/CORE" -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.4\" Oracle.c
gcc64 -c -I/opt/oracle/product/oracle10.2/rdbms/public -I/opt/oracle/product/oracle10.2/rdbms/demo
-I/opt/oracle/product/oracle10.2/rdbms/public -I/opt/oracle/product/oracle10.2/plsql/public
-I/opt/oracle/product/oracle10.2/network/public -I/opt/perl64/lib/site_perl/5.10.1/PA-RISC2.0-LP64/auto/DBI
-mpa-risc-2-0 -DDEBUGGING -DPERL_DONT_CREATE_GVSV -D_HPUX_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/pa20_64/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O -DVERSION=\"1.24\"
-DXS_VERSION=\"1.24\" -fPIC "-I/opt/perl64/lib/5.10.1/PA-RISC2.0-LP64/CORE" -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.4\" dbdimp.c
gcc64 -c -I/opt/oracle/product/oracle10.2/rdbms/public -I/opt/oracle/product/oracle10.2/rdbms/demo
-I/opt/oracle/product/oracle10.2/rdbms/public -I/opt/oracle/product/oracle10.2/plsql/public
-I/opt/oracle/product/oracle10.2/network/public -I/opt/perl64/lib/site_perl/5.10.1/PA-RISC2.0-LP64/auto/DBI
-mpa-risc-2-0 -DDEBUGGING -DPERL_DONT_CREATE_GVSV -D_HPUX_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/pa20_64/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O -DVERSION=\"1.24\"
-DXS_VERSION=\"1.24\" -fPIC "-I/opt/perl64/lib/5.10.1/PA-RISC2.0-LP64/CORE" -Wall -Wno-comment
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.2.0.4\" oci8.c
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.sl
LD_RUN_PATH="/opt/oracle/product/oracle10.2/lib:/opt/oracle/product/oracle10.2/rdbms/lib"
/usr/bin/ld -b -L/usr/local/pa20_64/lib -L/usr/local/lib/pa20_64 -L/usr/lib/pa20_64
-L/usr/local/lib -L/pro/local/lib -L/lib/pa20_64 Oracle.o dbdimp.o oci8.o +s +n
-L/opt/oracle/product/oracle10.2/rdbms/lib/ -L/opt/oracle/product/oracle10.2/lib/
-lclntsh `cat /opt/oracle/product/oracle10.2/lib/ldflags` -lm -lqsmashr -o
blib/arch/auto/DBD/Oracle/Oracle.sl \
\
Warning: Some debug info sections were missing.
PXDB aborted.
chmod 755 blib/arch/auto/DBD/Oracle/Oracle.sl
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.3
Manifying blib/man3/DBD::Oraperl.3
[/home/perl/.cpan/build/DBD-Oracle-1.24-U4bVzI]$ make test
rm -f blib/arch/auto/DBD/Oracle/Oracle.sl
LD_RUN_PATH="/opt/oracle/product/oracle10.2/lib:/opt/oracle/product/oracle10.2/rdbms/lib"
/usr/bin/ld -b -L/usr/local/pa20_64/lib -L/usr/local/lib/pa20_64 -L/usr/lib/pa20_64
-L/usr/local/lib -L/pro/local/lib -L/lib/pa20_64 Oracle.o dbdimp.o oci8.o +s +n
-L/opt/oracle/product/oracle10.2/rdbms/lib/ -L/opt/oracle/product/oracle10.2/lib/
-lclntsh `cat /opt/oracle/product/oracle10.2/lib/ldflags` -lm -lqsmashr -o
blib/arch/auto/DBD/Oracle/Oracle.sl \
\
Warning: Some debug info sections were missing.
PXDB aborted.
chmod 755 blib/arch/auto/DBD/Oracle/Oracle.sl
cp ora_explain blib/script/ora_explain
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/ora_explain
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/01base.t .............. # Test loading DBI, DBD::Oracle and version
t/01base.t .............. ok
t/10general.t ........... ok
t/12impdata.t ........... ok
t/14threads.t ........... skipped: this hpux perl 5.010001 not configured to support iThreads
t/15nls.t ............... ok
t/20select.t ............ ok
t/21nchar.t ............. ok
t/22nchar_al32utf8.t .... ok
t/22nchar_utf8.t ........ ok
t/23wide_db.t ........... skipped: Database character set is not Unicode
t/23wide_db_8bit.t ...... skipped: Database character set is not Unicode
t/23wide_db_al32utf8.t .. skipped: Database character set is not Unicode
t/24implicit_utf8.t ..... ok
t/25plsql.t ............. ok
t/26exe_array.t ......... ok
t/28array_bind.t ........ ok
t/30long.t .............. ok
t/31lob.t ............... ok
t/31lob_extended.t ...... ok
t/32xmltype.t ........... ok
t/34pres_lobs.t ......... ok
t/40ph_type.t ........... 1/19 Placeholder behaviour for ora_type=1 VARCHAR2 (the default) varies with Oracle version.
Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x
Your system doesn't. If that seems odd, let us know.
t/40ph_type.t ........... ok
t/50cursor.t ............ ok
t/51scroll.t ............ ok
t/55nested.t ............ ok
t/56embbeded.t .......... ok
t/58object.t ............ 1/51 DBD::Oracle::db prepare failed: ORA-24334: Kein Deskriptor für diese Position (DBD ERROR: OCIParamGet) [for Statement "select * from dbd_test__obj_table order by id"] at t/58object.t line 116.
t/58object.t ............ Dubious, test returned 6 (wstat 1536, 0x600)
Failed 46/51 subtests
t/60reauth.t ............ skipped: ORACLE_USERID_2 not defined.
t/70meta.t .............. ok
t/80ora_charset.t ....... ok
Test Summary Report
-------------------
t/58object.t (Wstat: 1536 Tests: 5 Failed: 0)
Non-zero exit status: 6
Parse errors: Bad plan. You planned 51 tests but ran 5.
Files=30, Tests=2081, 30 wallclock secs ( 1.03 usr 0.22 sys + 22.76 cusr 2.11
csys = 26.12 CPU)
Result: FAIL
Failed 1/30 test programs. 0/2081 subtests failed.
*** Fehlerrückkehrcode 255
Stopp.
[/home/perl/.cpan/build/DBD-Oracle-1.24-U4bVzI]$ perl -Mblib t/58object.t
1..51
ok 1 - use DBI;
ok 2 - ora_objects flag is set to 1
ok 3 - ora_objects flag is set to 0
ok 4 - The object isa DBI::db
ok 5 - Fetch current schema name
DBD::Oracle::db prepare failed: ORA-24334: Kein Deskriptor für diese Position (DBD ERROR:
OCIParamGet) [for Statement "select * from dbd_test__obj_table order by id"] at
t/58object.t line 116.
Thanks in advance for helping me.
Kind regards
Jürgen Großkopf