perl5-dbi / DBD-Oracle

Oracle database driver for the DBI module
http://search.cpan.org/dist/DBD-Oracle
17 stars 25 forks source link

imp_dbh not found #14

Closed yanick closed 10 years ago

yanick commented 10 years ago

@mjegh 957f54750ba8c1972beabd1dcd305bd6c47c4586 seems to be causing some installs to fail:

ccache cc -c  -I/usr/include/oracle/12.1/client64  -I/pro/lib/perl5/site_perl/5.16.2/x86_64-linux-ld/auto/DBI -fPIC -fno-strict-aliasing -pipe -fstack-protector -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"1.71_00\" -DXS_VERSION=\"1.71_00\" -fPIC "-I/pro/lib/perl5/5.16.2/x86_64-linux-ld/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 Oracle.c
ccache cc -c  -I/usr/include/oracle/12.1/client64  -I/pro/lib/perl5/site_perl/5.16.2/x86_64-linux-ld/auto/DBI -fPIC -fno-strict-aliasing -pipe -fstack-protector -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"1.71_00\" -DXS_VERSION=\"1.71_00\" -fPIC "-I/pro/lib/perl5/5.16.2/x86_64-linux-ld/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.c
dbdimp.c: In function âora_db_login6â:
dbdimp.c:723:5: warning: format â%dâ expects argument of type âintâ, but argument 12 has type âsize_tâ [-Wformat=]
     OCISessionPoolCreate_log_stat(
     ^
dbdimp.c:723:5: warning: format â%dâ expects argument of type âintâ, but argument 14 has type âsize_tâ [-Wformat=]
dbdimp.c: In function âora_st_FETCH_attribâ:
dbdimp.c:4355:31: error: âimp_dbhâ undeclared (first use in this function)
             if (CSFORM_IMPLIES_UTF8(SQLCS_IMPLICIT)) {
                               ^
dbdimp.c:4355:31: note: each undeclared identifier is reported only once for each function it appears in
dbdimp.c: At top level:
dbdimp.c:32:93: warning: âdbi_get_stateâ defined but not used [-Wunused-function]
 DBISTATE_DECLARE;
                                                                                             ^
make: *** [dbdimp.o] Error 1
dvtylr commented 10 years ago

I was able to get it to compile by adding D_imp_dbh_from_sth; before line 4355 in dbdimp.c.

abraxxa commented 10 years ago

same error here

elduff2 commented 10 years ago

Same error here, dvtylr's fix seems to have gotten me past it.

ribasushi commented 10 years ago

@yanick Any word on fixing that?

yanick commented 10 years ago

@ribasushi I'll try to steal away a few minutes tomorrow and bundle and punt out a fix.

ribasushi commented 10 years ago

Crap... sorry for the msg-spam. I keep forgetting github does this stuff :(

mjegh commented 10 years ago

The fix I posted is a fix but as Tim mentioned on irc:

"ilmari" at 217.168.150.38 pasted "DBD::Oracle fix" (12 lines) at http://paste.scsys.co.uk/351058 @timbunce D_imp_dbh_from_sth has a cost, not much, but not zero, so placing it there means every sth sttribiute fetch will pay the cost. Probably better to place in in the block(s) where it's needed. @ilmari point @ilmari putting it in the if (kl==4 && strEQ(key, "NAME")) block should be enough @ilmari https://metacpan.org/source/PYTHIAN/DBD-Oracle-1.72/dbdimp.c#L4348
yanick commented 10 years ago

Okay, what I did was simply to revert 957f547 as I don't currently have a working Oracle env, and tinkering blind with things I don't fully understand is not a Wise Course of Action(tm).

I've pushed the change to CPAN as v1.73_00. @ribasushi , can you give it a whirl and see if it behaves nicely? If it does, I'll promptly promote it to a general release.

ribasushi commented 10 years ago

@yanick Um... I see two problems with this.

First off reverting things when a confirmed fix is available is suboptimal.

Secondly (and more impotantly) - if you do not have a working Oracle env we have a massive problem, since no other developer working on this (currently @mjegh and @timbunce) has the necessary dzil environment to generate a tarball to test. I don't want to turn this into a flamewar for/against dzil, I just want to point out the state of things - nobody but you currently can assemble a tarball. This needs addressing somehow.

Anyhow - I would be very sad if 1.73_00 is shipped in its current form.

yanick commented 10 years ago

Hey @ribasushi

First off reverting things when a confirmed fix is available is suboptimal.

Is it confirmed? As far as I know, peeps said that it seems to work and although @mjegh gave us some pointers, he is still in vacations and, I don't think, had time to test things. I thought about just committing and pushing the patch on blind faith, but that feels like shooting from the hip. Considering that reverting only means removing an optimization that has been there only for the last month, I feel that the safety trade-off is worth it. Mind you, it's not that I don't intend to just discard the patch, I just want to put things back in working conditions until we can put it back in confidence.

No workie Oracle env.

Yes, this is terrible and, believe me, I'm the first being horrified by it. I can only say that I'm working on it and will have something in working condition in a few tuit-hours time. I just want to put out the fire before doing that.

Dist::Zilla

I honestly don't get the OMG factor of that one. If I was to be spattered by a bus tomorrow, here is what is needed to continue working on a non-dzil-based codebase:

$ git checkout releases

And to reset the master branch to work on non-dzil code and forever forget that it ever existed:

$ git checkout master
$ git merge --strategy=theirs releases

[edit: I put 'ours' instead of 'theirs' first. Doh.]

Is there something I'm missing? And I mean that in earnest, because I really, really am puzzled why people are that wary of something that can be removed so easily.

mjegh commented 10 years ago

I'm nolonger on holiday and I did test the patch to fix this. As I explained to Peter, I missed the problem originally because I needed a load of distzilla stuff to build DBD::Oracle at the time - you (Yanick) have rectified this now and this makes my life a load easier and I thank you for that.

I will go away now and test a patch to fix the issue and build and test it. Back later.

yanick commented 10 years ago

I'm no longer on holiday and I did test the patch to fix this.

WOOHOO! \o/

mjegh commented 10 years ago

ok, here it is:

martin@lodur:~/git/DBD-Oracle$ git diff dbdimp.c diff --git a/dbdimp.c b/dbdimp.c index 3f8ab82..a94cbe5 100644 --- a/dbdimp.c +++ b/dbdimp.c @@ -4346,6 +4346,7 @@ dbd_st_FETCH_attrib(SV sth, imp_sth_t imp_sth, SV keysv) if (kl==4 && strEQ(key, "NAME")) { AV av = newAV(); SV *x;

and here is the build and test output (sorry for funny chrs in this but I'm stuck on windows via telnet at the mo):

martin@lodur:~/git/DBD-Oracle$ perl Makefile.PL Using DBI 1.631 (for perl 5.019010 on x86_64-linux) installed in /home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/site_perl/5.19.1 0/x86_64-linux/auto/DBI/

Configuring DBD::Oracle for perl 5.019010 on linux (x86_64-linux)

Remember to actually READ the README file! Especially if you have any problems.

Trying to find an ORACLE_HOME Your LD_LIBRARY_PATH env var is set to '/home/martin/instantclient_12_1/' Found /home/martin/instantclient_12_1/

WARNING: Setting ORACLE_HOME env var to /home/martin/instantclient_12_1/ for you. WARNING: If these tests fail you may have to set ORACLE_HOME yourself! Installing on a linux, Ver#3.8 Using Oracle in /home/martin/instantclient_12_1/ DEFINE _SQLPLUS_RELEASE = "1201000100" (CHAR) Oracle version 12.1.0.1 (12.1) Looks like an Instant Client installation, okay Your LD_LIBRARY_PATH env var is set to '/home/martin/instantclient_12_1/' Oracle sysliblist: Found header files in /home/martin/instantclient_12_1//sdk/include.

client_version=12.1

DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112

Checking for functioning wait.ph

System: perl5.019010 linux lodur 3.8.0-35-generic #50~precise1-ubuntu smp wed dec 4 17:25:51 utc 2013 x86_64 x86_64 x86_64 gnulinux Compiler: cc -O2 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 Linker: /usr/bin/ld Sysliblist: Linking with -lclntsh.

WARNING: If you have problems you may need to rebuild perl with threading enabled.

WARNING: Setting ABSTRACT via file 'lib/DBD/Oracle.pm' failed at /home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/5.19.10/ExtUtils/MakeMaker.pm line 641. LD_RUN_PATH=/home/martin/instantclient_12_1 Using DBD::Oracle 1.00. Using DBD::Oracle 1.00. Using DBI 1.631 (for perl 5.019010 on x86_64-linux) installed in /home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/site_perl/5.19.1 0/x86_64-linux/auto/DBI/ Generating a Unix-style Makefile Writing Makefile for DBD::Oracle Writing MYMETA.yml and MYMETA.json

*\ 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?)

martin@lodur:~/git/DBD-Oracle$ martin@lodur:~/git/DBD-Oracle$ make Skip blib/lib/DBD/Oracle/Troubleshooting/Aix.pod (unchanged) cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm Skip blib/lib/DBD/Oracle/Troubleshooting/Win32.pod (unchanged) Skip blib/lib/DBD/Oracle/Object.pm (unchanged) Skip blib/lib/DBD/Oracle.pm (unchanged) Skip blib/arch/auto/DBD/Oracle/ocitrace.h (unchanged) Skip blib/lib/DBD/Oracle/Troubleshooting/Vms.pod (unchanged) Skip blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod (unchanged) Skip blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod (unchanged) Skip blib/lib/DBD/Oracle/GetInfo.pm (unchanged) Skip blib/arch/auto/DBD/Oracle/Oracle.h (unchanged) Skip blib/lib/DBD/Oracle/Troubleshooting/Sun.pod (unchanged) Skip blib/lib/DBD/Oracle/Troubleshooting/Linux.pod (unchanged) Skip blib/arch/auto/DBD/Oracle/dbdimp.h (unchanged) Skip blib/lib/DBD/Oracle/Troubleshooting.pod (unchanged) Skip blib/lib/DBD/Oracle/Troubleshooting/Macos.pod (unchanged) Skip blib/lib/DBD/Oracle/Troubleshooting/Win64.pod (unchanged) Running Mkbootstrap for DBD::Oracle () chmod 644 Oracle.bs cc -c -I/home/martin/instantclient_12_1//sdk/include -I/home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/site_perl/5.19.10/x86_64- linux/auto/DBI -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -D VERSION=\"1.00\" -DXS_VERSION=\"1.00\" -fPIC "-I/home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/5.19.10/x86_64-linux/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 Oracle.c cc -c -I/home/martin/instantclient_12_1//sdk/include -I/home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/site_perl/5.19.10/x86_64- linux/auto/DBI -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -D VERSION=\"1.00\" -DXS_VERSION=\"1.00\" -fPIC "-I/home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/5.19.10/x86_64-linux/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.c dbdimp.c: In function Ç ora_db_login6 Ç : dbdimp.c:725:5: warning: format Ç %d Ç expects argument of type Ç int Ç , but argument 12 has type Ç size_t Ç [-Wformat] dbdimp.c:725:5: warning: format Ç %d Ç expects argument of type Ç int Ç , but argument 14 has type Ç size_t Ç [-Wformat] dbdimp.c: In function Ç ora_st_FETCH_attrib Ç : dbdimp.c:4349:9: warning: unused variable Ç imp_dbh Ç [-Wunused-variable] dbdimp.c: At top level: dbdimp.c:32:1: warning: Ç dbi_get_state Ç defined but not used [-Wunused-function] cc -c -I/home/martin/instantclient_12_1//sdk/include -I/home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/site_perl/5.19.10/x86_64- linux/auto/DBI -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -D VERSION=\"1.00\" -DXS_VERSION=\"1.00\" -fPIC "-I/home/martin/perl5/perlbrew/perls/perl-5.19.10/lib/5.19.10/x86_64-linux/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 oci8.c oci8.c: In function Ç ora_blob_read_mb_piece Ç : oci8.c:1847:4: warning: format Ç %lu Ç expects argument of type Ç long unsigned int Ç , but argument 6 has type Ç ub4 Ç [-Wform at] oci8.c: At top level: oci8.c:20:1: warning: Ç dbi_get_state Ç defined but not used [-Wunused-function] rm -f blib/arch/auto/DBD/Oracle/Oracle.so LD_RUN_PATH="/home/martin/instantclient_12_1" cc -shared -O2 -L/usr/local/lib -fstack-protector Oracle.o dbdimp.o oci8.o -o blib/a rch/auto/DBD/Oracle/Oracle.so \ -L/home/martin/instantclient_12_1/ -lclntsh \

chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so /home/martin/perl5/perlbrew/perls/perl-5.19.10/bin/perl5.19.10 -MExtUtils::Command::MM -e 'cp_nonempty' -- Oracle.bs blib/arch/auto/ DBD/Oracle/Oracle.bs 644 Manifying blib/man3/DBD::Oracle.3 Manifying blib/man3/DBD::Oracle::Troubleshooting.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Aix.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Cygwin.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Hpux.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Linux.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Macos.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Sun.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Vms.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Win32.3 Manifying blib/man3/DBD::Oracle::Troubleshooting::Win64.3 martin@lodur:~/git/DBD-Oracle$ make Running Mkbootstrap for DBD::Oracle () chmod 644 Oracle.bs martin@lodur:~/git/DBD-Oracle$ make test PERL_DL_NONLAZY=1 /home/martin/perl5/perlbrew/perls/perl-5.19.10/bin/perl5.19.10 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "u ndef _Test::Harness::Switches; testharness(0, 'blib/lib', 'blib/arch')" t/.t t/00versions.t ............ # OCI client library version: 12.1.0.1 t/00versions.t ............ 1/2 # database version: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production t/00versions.t ............ ok t/01base.t ................ ok t/10general.t ............. ok t/12impdata.t ............. ok t/14threads.t ............. skipped: this linux perl 5.019010 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 ............. ok t/23wide_db_8bit.t ........ ok t/23wide_db_al32utf8.t .... ok 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 ................. 1/12 DBI::db=HASH(0x20d3790)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at t/31lob.t line 216. t/31lob.t ................. ok t/31lob_extended.t ........ ok t/32xmltype.t ............. ok t/34pres_lobs.t ........... ok t/36lob_leak.t ............ ok t/38taf.t ................. ok t/39attr.t ................ # Oracle version: 11.2.0.3.0

client version: 12.1.0.1

t/39attr.t ................ ok t/40ph_type.t ............. ok t/50cursor.t .............. ok t/51scroll.t .............. ok t/55nested.t .............. ok t/56embbeded.t ............ ok t/58object.t .............. ok t/60reauth.t .............. skipped: ORACLE_USERID_2 not defined. t/70meta.t ................ ok t/80ora_charset.t ......... ok t/rt13865.t ............... ok t/rt74753-utf8-encoded.t .. ok t/rt85886.t ............... ok All tests successful. Files=37, Tests=2830, 31 wallclock secs ( 0.32 usr 0.04 sys + 3.02 cusr 1.23 csys = 4.61 CPU) Result: PASS

mjegh commented 10 years ago

ilmari pointed out that diff is not that readable. Try

martin@lodur:~/git/DBD-Oracle$ git diff dbdimp.c
diff --git a/dbdimp.c b/dbdimp.c
index 3f8ab82..a94cbe5 100644
--- a/dbdimp.c
+++ b/dbdimp.c
@@ -4346,6 +4346,7 @@ dbd_st_FETCH_attrib(SV *sth, imp_sth_t *imp_sth, SV *keysv)
        if (kl==4 && strEQ(key, "NAME")) {
                AV *av = newAV();
         SV *x;
+        D_imp_dbh_from_sth;

                retsv = newRV(sv_2mortal((SV*)av));
                while(--i >= 0) {
abraxxa commented 10 years ago

I'm available for DBD::Oracle testing if you need me before pushing a new release. We run Oracle 11.1g on the test database at the moment.

yanick commented 10 years ago

@mjegh's fix merged in master and new v1.73_01 pushed to CPAN. @abraxxa, if you want, give it a whirl. :-)

abraxxa commented 10 years ago

Will do tomorrow at work.

yanick commented 10 years ago

@abraxxa Awesome. Thanks, and keep us informed of the result. If all goes well, v1.74 will be minted by the end of the day tomorrow.

abraxxa commented 10 years ago

Looks good beside some compiler warnings:

[ahartmai@ahartmai-nb:~/.cpanplus/5.18.2/build/DBD-Oracle-1.73_01$ ]$ perl Makefile.PL Using DBI 1.631 (for perl 5.018002 on x86_64-linux-thread-multi) installed in /home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBI/

Configuring DBD::Oracle for perl 5.018002 on linux (x86_64-linux-thread-multi)

Remember to actually READ the README file! Especially if you have any problems.

Installing on a linux, Ver#3.13 Using Oracle in /home/ahartmai/Programme/instantclient_12_1 DEFINE _SQLPLUS_RELEASE = "1201000100" (CHAR) Oracle version 12.1.0.1 (12.1) Looks like an Instant Client installation, okay Your LD_LIBRARY_PATH env var is set to ':/home/ahartmai/Programme/instantclient_12_1:/home/ahartmai/Programme/instantclient_12_1' Oracle sysliblist: Found header files in /home/ahartmai/Programme/instantclient_12_1/sdk/include.

client_version=12.1

DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112

Checking for functioning wait.ph

System: perl5.018002 linux ahartmai-nb 3.13.0-24-generic #46-ubuntu smp thu apr 10 19:11:08 utc 2014 x86_64 x86_64 x86_64 gnulinux Compiler: cc -O2 -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 Linker: /usr/bin/ld Sysliblist: Linking with -lclntsh.

Checking if your kit is complete... Looks good LD_RUN_PATH=/home/ahartmai/Programme/instantclient_12_1 Using DBD::Oracle 1.73_01. Using DBD::Oracle 1.73_01. Using DBI 1.631 (for perl 5.018002 on x86_64-linux-thread-multi) installed in /home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBI/ Generating a Unix-style Makefile Writing Makefile for DBD::Oracle Writing MYMETA.yml and MYMETA.json

*\ 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?)

[ahartmai@ahartmai-nb:~/.cpanplus/5.18.2/build/DBD-Oracle-1.73_01$ ]$ make test cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h cp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.pod cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod cp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod cp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.pod cp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.pod cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h cp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.pod cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h cp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.pod cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm cp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.pod cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm Running Mkbootstrap for DBD::Oracle () chmod 644 Oracle.bs /home/ahartmai/perl5/perlbrew/perls/18/bin/perl -p -e "s/~DRIVER~/Oracle/g" /home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBI/Driver.xst > Oracle.xsi /home/ahartmai/perl5/perlbrew/perls/18/bin/perl /home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/ExtUtils/xsubpp -typemap /home/ahartmai/perl5/perlbrew/perls/18/lib/5.18.2/ExtUtils/typemap -typemap typemap Oracle.xs > Oracle.xsc && mv Oracle.xsc Oracle.c cc -c -I/home/ahartmai/Programme/instantclient_12_1/sdk/include -I/home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.73_01\" -DXS_VERSION=\"1.73_01\" -fPIC "-I/home/ahartmai/perl5/perlbrew/perls/18/lib/5.18.2/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 Oracle.c cc -c -I/home/ahartmai/Programme/instantclient_12_1/sdk/include -I/home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.73_01\" -DXS_VERSION=\"1.73_01\" -fPIC "-I/home/ahartmai/perl5/perlbrew/perls/18/lib/5.18.2/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.c dbdimp.c: In function ‘ora_db_login6’: dbdimp.c:725:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 12 has type ‘size_t’ [-Wformat=] OCISessionPoolCreate_log_stat( ^ dbdimp.c:725:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 14 has type ‘size_t’ [-Wformat=] In file included from Oracle.h:50:0, from dbdimp.c:21: dbdimp.c: In function ‘ora_st_FETCH_attrib’: /home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBI/DBIXS.h:381:45: warning: unused variable ‘imp_dbh’ [-Wunused-variable]

define D_imp_dbh_from_sth D_imp_from_child(imp_dbh, imp_dbh_t, imp_sth)

                                         ^

/home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBI/DBIXS.h:379:39: note: in definition of macro ‘D_imp_from_child’ type name = (type)(DBIc_PARENT_COM(child)) ^ dbdimp.c:4349:9: note: in expansion of macro ‘D_imp_dbh_from_sth’ D_imp_dbh_from_sth; ^ cc -c -I/home/ahartmai/Programme/instantclient_12_1/sdk/include -I/home/ahartmai/perl5/perlbrew/perls/18/lib/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.73_01\" -DXS_VERSION=\"1.73_01\" -fPIC "-I/home/ahartmai/perl5/perlbrew/perls/18/lib/5.18.2/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 oci8.c oci8.c: In function ‘ora_blob_read_mb_piece’: oci8.c:1847:4: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘ub4’ [-Wformat=] fbh->field_num+1, ftype, offset, len, destoffset, ul_t(amtp)); ^ rm -f blib/arch/auto/DBD/Oracle/Oracle.so LD_RUN_PATH="/home/ahartmai/Programme/instantclient_12_1" cc -shared -O2 -L/usr/local/lib -fstack-protector Oracle.o dbdimp.o oci8.o -o blib/arch/auto/DBD/Oracle/Oracle.so \ -L/home/ahartmai/Programme/instantclient_12_1 -lclntsh \

chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so /home/ahartmai/perl5/perlbrew/perls/18/bin/perl -MExtUtils::Command::MM -e 'cp_nonempty' -- Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs 644 PERL_DL_NONLAZY=1 /home/ahartmai/perl5/perlbrew/perls/18/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef _Test::Harness::Switches; testharness(0, 'blib/lib', 'blib/arch')" t/.t t/000-report-versions-tiny.t .. #

Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10

perl: 5.018002 (wanted 5.006) on linux from /home/ahartmai/perl5/perlbrew/perls/18/bin/perl

B => 1.42_02 (want any version)

Carp => 1.3301 (want any version)

DBI => 1.631 (want 1.51)

Data::Dumper => 2.145 (want any version)

Devel::Peek => 1.11 (want any version)

DynaLoader => 1.18 (want any version)

Encode => 2.59 (want any version)

Exporter => 5.70 (want any version)

ExtUtils::MakeMaker => 6.96 (want 6.30)

Math::BigInt => 1.9991 (want any version)

Test::More => 0.98 (want 0.88)

Thread::Semaphore => 2.12 (want any version)

lib => 0.63 (want any version)

strict => 1.07 (want any version)

utf8 => 1.10 (want any version)

vars => 1.03 (want any version)

warnings => 1.18 (want any version)

Thanks for using my code. I hope it works for you.

If not, please try and include this output in the bug report.

That will help me reproduce the issue and solve your problem.

t/000-report-versions-tiny.t .. ok
t/00versions.t ................ # OCI client library version: 12.1.0.1 t/00versions.t ................ 1/2 # database version: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production t/00versions.t ................ ok
t/01base.t .................... ok
t/10general.t ................. ok
t/12impdata.t ................. ok
t/14threads.t ................. ok
t/15nls.t ..................... ok
t/20select.t .................. # Including unicode data in test t/20select.t .................. ok
t/21nchar.t ................... ok
t/22nchar_al32utf8.t .......... ok
t/22nchar_utf8.t .............. ok
t/23wide_db.t ................. ok
t/23wide_db_8bit.t ............ ok
t/23wide_db_al32utf8.t ........ ok
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 ..................... 1/12 DBI::db=HASH(0x15d3e10)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at t/31lob.t line 216. t/31lob.t ..................... ok
t/31lob_extended.t ............ ok
t/32xmltype.t ................. ok
t/34pres_lobs.t ............... ok
t/36lob_leak.t ................ ok
t/38taf.t ..................... ok
t/39attr.t .................... # Oracle version: 11.1.0.7.0

client version: 12.1.0.1

t/39attr.t .................... ok
t/40ph_type.t ................. ok
t/50cursor.t .................. Can't determine open_cursors from v$parameter, so using default t/50cursor.t .................. ok
t/51scroll.t .................. ok
t/55nested.t .................. ok
t/56embbeded.t ................ ok
t/58object.t .................. ok
t/60reauth.t .................. skipped: ORACLE_USERID_2 not defined. t/70meta.t .................... ok
t/80ora_charset.t ............. ok
t/rt13865.t ................... ok
t/rt74753-utf8-encoded.t ...... ok
t/rt85886.t ................... ok
All tests successful. Files=38, Tests=1815, 29 wallclock secs ( 0.83 usr 0.11 sys + 5.19 cusr 1.04 csys = 7.17 CPU) Result: PASS

yanick commented 10 years ago

Thanks, @abraxxa!

@mjegh, I'll release a new version today. You all good with that?

mjegh commented 10 years ago

I'm happy for a release. I've got nothing in progress.

yanick commented 10 years ago

The deed is done. Thanks!