On 15/04/2014 12:38, H.Merijn Brand wrote:
Builds fail on Linux with OIC-12.1

As a side note, is anyone able to fetch Oracle Instant Client-12 for
HP-UX Itanium 64 bit? Even on WinBlow$ that doesn't work :(
http://www.oracle.com/technetwork/topics/hpitanium64soft-091490.html


######### Box 1

Linux 3.11.10-7-desktop [openSUSE 13.1 (Bottle)]  x86_64 Xeon(R) CPU E5-1650 0 
@ 3.20GHz/3072(12) x86_64  16008 Mb

Using DBI 1.631 (for perl 5.016002 on x86_64-linux-ld) installed in 
/pro/lib/perl5/site_perl/5.16.2/x86_64-linux-ld/auto/DBI/

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

Installing on a linux, Ver#3.4
Using Oracle in /usr/lib/oracle/12.1/client64
DEFINE _SQLPLUS_RELEASE = "1201000100" (CHAR)
Oracle version 12.1.0.1 (12.1)
Found /usr/share/oracle/12.1/client64/demo.mk
Using /usr/share/oracle/12.1/client64/demo.mk


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.72\" -DXS_VERSION=\"1.72\" -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.72\" -DXS_VERSION=\"1.72\" -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;

######### Box 2

Linux 3.11.10-7-desktop [openSUSE 13.1 (Bottle)]  i386 Core(TM) i7-2620M CPU @ 
2.70GHz/2619(4) i686  8032 Mb

Using DBI 1.631 (for perl 5.018002 on i686-linux-64int-ld) installed in 
/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBI/

Configuring DBD::Oracle for perl 5.018002 on linux (i686-linux-64int-ld)

Using Oracle in /usr/lib/oracle/12.1/client
DEFINE _SQLPLUS_RELEASE = "1201000100" (CHAR)
Oracle version 12.1.0.1 (12.1)
Found /usr/share/oracle/12.1/client/demo.mk
Using /usr/share/oracle/12.1/client/demo.mk

cc -c  -I/usr/include/oracle/12.1/client  -I/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBI 
-fno-strict-aliasing -pipe -fstack-protector -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   
-DVERSION=\"1.72\" -DXS_VERSION=\"1.72\" -fPIC 
"-I/pro/lib/perl5/5.18.2/i686-linux-64int-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 âdbd_rebind_ph_charâ:
dbdimp.c:2558:35: warning: format â%ldâ expects argument of type âlong intâ, 
but argument 3 has type âIVâ [-Wformat=]
                                    "Growing 96 phs sv to %ld resulted in buffer 
%ld\n", phs->maxlen - 1, SvLEN(phs->sv)
                                    ^
dbdimp.c:2558:35: warning: format â%ldâ expects argument of type âlong intâ, 
but argument 4 has type âSTRLENâ [-Wformat=]
dbdimp.c:2572:35: warning: format â%ldâ expects argument of type âlong intâ, 
but argument 3 has type âIVâ [-Wformat=]
                                    "Growing phs sv to %ld resulted in buffer %ld\n", 
phs->maxlen +1, SvLEN(phs->sv));
                                    ^
dbdimp.c:2572:35: warning: format â%ldâ expects argument of type âlong intâ, 
but argument 4 has type âSTRLENâ [-Wformat=]
dbdimp.c:2605:27: warning: format â%ldâ expects argument of type âlong intâ, 
but argument 3 has type âSTRLENâ [-Wformat=]
                            "Changing maxlen to %ld\n", SvLEN(phs->sv));
                            ^
dbdimp.c: In function âdbd_rebind_ph_xmlâ:
dbdimp.c:2889:17: warning: cast to pointer from integer of different size 
[-Wint-to-pointer-cast]
    phs->progv  = (void*) SvIV(ptr);
                  ^
In file included from Oracle.h:52:0,
                  from dbdimp.c:21:
dbdimp.c: In function âora_st_FETCH_attribâ:
dbdimp.h:311:27: error: âimp_dbhâ undeclared (first use in this function)
   ((csform==SQLCS_NCHAR) ? imp_dbh->ncharsetid : imp_dbh->charsetid)
                            ^
dbdimp.h:302:7: note: in definition of macro âCS_IS_UTF8â
   (  ( cs == utf8_csid ) || ( cs == al32utf8_csid ) )
        ^
dbdimp.h:314:14: note: in expansion of macro âCSFORM_IMPLIED_CSIDâ
   CS_IS_UTF8( CSFORM_IMPLIED_CSID( csform ) )
               ^
dbdimp.c:4355:17: note: in expansion of macro âCSFORM_IMPLIES_UTF8â
              if (CSFORM_IMPLIES_UTF8(SQLCS_IMPLICIT)) {
                  ^
dbdimp.h:311:27: note: each undeclared identifier is reported only once for 
each function it appears in
   ((csform==SQLCS_NCHAR) ? imp_dbh->ncharsetid : imp_dbh->charsetid)
                            ^
dbdimp.h:302:7: note: in definition of macro âCS_IS_UTF8â
   (  ( cs == utf8_csid ) || ( cs == al32utf8_csid ) )
        ^
dbdimp.h:314:14: note: in expansion of macro âCSFORM_IMPLIED_CSIDâ
   CS_IS_UTF8( CSFORM_IMPLIED_CSID( csform ) )
               ^
dbdimp.c:4355:17: note: in expansion of macro âCSFORM_IMPLIES_UTF8â
              if (CSFORM_IMPLIES_UTF8(SQLCS_IMPLICIT)) {
                  ^
In file included from Oracle.h:50:0,
                  from dbdimp.c:21:
dbdimp.c: At top level:
/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBI/DBIXS.h:491:25: 
warning: âdbi_get_stateâ defined but not used [-Wunused-function]
      static dbistate_t** dbi_get_state(pTHX) {                               \
                          ^
/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBI/DBIXS.h:514:5: 
note: in expansion of macro â_DBISTATE_DECLARE_COMMONâ
      _DBISTATE_DECLARE_COMMON
      ^
dbdimp.c:32:1: note: in expansion of macro âDBISTATE_DECLAREâ
  DBISTATE_DECLARE;
  ^
make: *** [dbdimp.o] Error 1

Looks like imp_dbh is not declared. Try this:

diff --git a/dbdimp.c b/dbdimp.c
index 3f8ab82..0f6e3c3 100644
--- a/dbdimp.c
+++ b/dbdimp.c
@@ -4319,6 +4319,7 @@ SV *
 dbd_st_FETCH_attrib(SV *sth, imp_sth_t *imp_sth, SV *keysv)
 {
        dTHX;
+        D_imp_dbh_from_sth;
        STRLEN kl;
        char *key = SvPV(keysv,kl);
        int i;

Martin
--
Martin J. Evans
Wetherby, UK

Reply via email to