On Tue, 15 Apr 2014 13:38:38 +0200, "H.Merijn Brand"
<h.m.br...@xs4all.nl> wrote:

> Builds fail on Linux with OIC-12.1

tl;dr; if you are not interested in porting DBD::Oracle

I have now installed/gathered the available stuff for HP-UX Itanium
64bit, moved all into the required locations and tried to build
DBD::Oracle

Using rpm's on Linux is straightforward, and all works immediately
after that. On HP-UX, one has to move the files a bit after extracting
the following zips:

 instantclient-basic-hpux.ia64-12.1.0.1.0.zip
 instantclient-jdbc-hpux.ia64-12.1.0.1.0.zip
 instantclient-odbc-hpux.ia64-12.1.0.1.0.zip
 instantclient-sdk-hpux.ia64-12.1.0.1.0.zip
 instantclient-sqlplus-hpux.ia64-12.1.0.1.0.zip
 instantclient-tools-hpux.ia64-12.1.0.1.0.zip
 instantclient-precomp-hpux.ia64-12.1.0.1.0.zip

I added tnsping from the 10.2 database product (and the two required
messgae files). The Instant Client seems to work:

DBD-Oracle-1.72-2g6rU8 511 > tnsping $TWO_TASK

TNS Ping Utility for HPUX: Version 10.2.0.1.0 - Production on 16-APR-2014 
10:38:17

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

Used parameter files:
/pro/oracle/ic121/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact ( DESCRIPTION = ( ADDRESS_LIST = ( ADDRESS = ( HOST = 
dbo)( PORT = 1521)( PROTOCOL = TCP))) ( CONNECT_DATA = ( SERVICE_NAME = 
xxx0123)))
OK (210 msec)

DBD-Oracle-1.72-2g6rU8 512 > sqlplus $ORACLE_USERID

SQL*Plus: Release 12.1.0.1.0 Production on Wed Apr 16 10:40:49 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

So far so good. I had to read Makefile.PL to check what it expects
where, as all those zips install in different locations. The final
SUCCESS for that stage results in

DBD-Oracle-1.72-2g6rU8 520 > perl Makefile.PL
Using DBI 1.631 (for perl 5.014002 on IA64.ARCHREV_0-LP64-ld) installed in 
/pro/lib/perl5/site_perl/5.14.2/IA64.ARCHREV_0-LP64-ld/auto/DBI/

Configuring DBD::Oracle for perl 5.014002 on hpux (IA64.ARCHREV_0-LP64-ld)

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

Installing on a hpux, Ver#11.31
Using Oracle in /pro/oracle/ic121
DEFINE _SQLPLUS_RELEASE = "1201000100" (CHAR)
Oracle version 12.1.0.1 (12.1)
Looks like an Instant Client installation, okay
Your LD_LIBRARY_PATH/SHLIB_PATH env var is set to 
'/pro/oracle/ic121/lib:/pro/local/lib:/usr/local/ssl/lib:/pro/pgsql/lib:/usr/local/lib:/usr/lib/hpux64:/usr/lib:/pro/pgsql/lib:/etc/opt/resmon/lib:/opt/gnome/lib:/usr/local/ia64/lib/hpux64'
WARNING: Your LD_LIBRARY_PATH/SHLIB_PATH env var doesn't include 
'/pro/oracle/ic121' but probably needs to.
Oracle sysliblist:
Found header files in /pro/oracle/ic121/sdk/include.

client_version=12.1


DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 
-DORA_OCI_112

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.014002 hp-ux x2 b.11.31 u ia64 2977233888 unlimited-user license
Compiler:   cc +O2 +Onolimit  -Ae -DPERL_DONT_CREATE_GVSV +Z -z -D_HPUX_SOURCE 
-Wl,+vnocompatwarnings +DD64 -I/pro/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.
LD_RUN_PATH=/pro/oracle/ic121
Using DBD::Oracle 1.72.
Using DBD::Oracle 1.72.
Using DBI 1.631 (for perl 5.014002 on IA64.ARCHREV_0-LP64-ld) installed in 
/pro/lib/perl5/site_perl/5.14.2/IA64.ARCHREV_0-LP64-ld/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?)


Next, building …

cc -c  -I/pro/oracle/ic121/sdk/include 
-I/pro/lib/perl5/site_perl/5.14.2/IA64.ARCHREV_0-LP64-ld/auto/DBI -Ae 
-DPERL_DONT_CREATE_GVSV +Z -z -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 
-I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +O2 +Onolimit   
-DVERSION=\"1.72\" -DXS_VERSION=\"1.72\" +Z 
"-I/pro/lib/perl5/5.14.2/IA64.ARCHREV_0-LP64-ld/CORE"  -DUTF8_SUPPORT 
-DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.c
"/pro/lib/perl5/5.14.2/IA64.ARCHREV_0-LP64-ld/CORE/regexp.h", line 329: warning 
#2111-D:
          statement is unreachable
      return "?";           /* Unknown */
      ^

"dbdimp.c", line 736: warning #2181-D: argument is incompatible with
          corresponding format string conversion
                      strlen(uid),
                      ^

"dbdimp.c", line 738: warning #2181-D: argument is incompatible with
          corresponding format string conversion
                      strlen(pwd),
                      ^

"dbdimp.c", line 1528: warning #4232-D: conversion from "XPVHV *" to a more
          strictly aligned type "XPVMG *" may cause misaligned access
                DBIc_NUM_PARAMS(imp_sth) = (int)HvKEYS(imp_sth->all_params_hv);
                                                ^

"dbdimp.c", line 4355: error #2020: identifier "imp_dbh" is undefined
              if (CSFORM_IMPLIES_UTF8(SQLCS_IMPLICIT)) {
                  ^

"dbdimp.c", line 32: warning #2177-D: function "dbi_get_state" was declared
          but never referenced
  DBISTATE_DECLARE;
  ^

1 error detected in the compilation of "dbdimp.c".

Going back to 1.70

DBD-Oracle-1.70 527 > perl Makefile.PL
Using DBI 1.631 (for perl 5.014002 on IA64.ARCHREV_0-LP64-ld) installed in 
/pro/lib/perl5/site_perl/5.14.2/IA64.ARCHREV_0-LP64-ld/auto/DBI/

Configuring DBD::Oracle for perl 5.014002 on hpux (IA64.ARCHREV_0-LP64-ld)

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

Installing on a hpux, Ver#11.31
Using Oracle in /pro/oracle/ic121
DEFINE _SQLPLUS_RELEASE = "1201000100" (CHAR)
Oracle version 12.1.0.1 (12.1)
Looks like an Instant Client installation, okay
Your LD_LIBRARY_PATH/SHLIB_PATH env var is set to 
'/pro/oracle/ic121/lib:/pro/local/lib:/usr/local/ssl/lib:/pro/pgsql/lib:/usr/local/lib:/usr/lib/hpux64:/usr/lib:/pro/pgsql/lib:/etc/opt/resmon/lib:/opt/gnome/lib:/usr/local/ia64/lib/hpux64'
WARNING: Your LD_LIBRARY_PATH/SHLIB_PATH env var doesn't include 
'/pro/oracle/ic121' but probably needs to.
Oracle sysliblist:
Found header files in /pro/oracle/ic121/sdk/include.

client_version=12.1


DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\"12.1.0.1\" -DORA_OCI_102 
-DORA_OCI_112

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.014002 hp-ux x2 b.11.31 u ia64 2977233888 unlimited-user license
Compiler:   cc +O2 +Onolimit  -Ae -DPERL_DONT_CREATE_GVSV +Z -z -D_HPUX_SOURCE 
-Wl,+vnocompatwarnings +DD64 -I/pro/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.
Checking if your kit is complete...
Looks good
LD_RUN_PATH=/pro/oracle/ic121
Using DBD::Oracle 1.70.
Using DBD::Oracle 1.70.
Using DBI 1.631 (for perl 5.014002 on IA64.ARCHREV_0-LP64-ld) installed in 
/pro/lib/perl5/site_perl/5.14.2/IA64.ARCHREV_0-LP64-ld/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?)

DBD-Oracle-1.70 531 > make test
PERL_DL_NONLAZY=1 /pro/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" 
"-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" 
t/*.t
t/000-report-versions-tiny.t .. #
t/000-report-versions-tiny.t .. 1/? #
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.08
# perl: 5.014002 (wanted 5.006) on hpux from /pro/bin/perl
#
# B                                             => 1.29       (want any version)
# Carp                                          => 1.3301     (want any version)
# DBI                                           => 1.631      (want 1.51)
# Data::Dumper                                  => 2.151      (want any version)
# Devel::Peek                                   => 1.07       (want any version)
# DynaLoader                                    => 1.13       (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.9993     (want any version)
# Test::More                                    => 1.001003   (want 0.88)
# Thread::Semaphore                             => 2.12       (want any version)
# lib                                           => 0.63       (want any version)
# strict                                        => 1.04       (want any version)
# utf8                                          => 1.09       (want any version)
# vars                                          => 1.02       (want any version)
# version                                       => 0.9908     (want 0.9901)
# warnings                                      => 1.12       (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 ................ 2/2 # database version: Oracle Database 11g 
Enterprise Edition Release 11.2.0.3.0 - 64bit Production
t/00versions.t ................ ok
t/01base.t .................... ok
t/10general.t ................. ok
t/12impdata.t ................. ok
t/14threads.t ................. skipped: this hpux perl 5.014002 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 ........... skipped: database character set is not Unicode
t/25plsql.t ................... ok
t/26exe_array.t ............... ok
t/28array_bind.t .............. ok
t/30long.t .................... ok
t/31lob.t ..................... 2/12 
DBI::db=HASH(0x60000000004fa9e8)->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 .................... 1/? # 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 ............. skipped: Database is set up as US7ASCII
t/rt13865.t ................... ok
t/rt74753-utf8-encoded.t ...... skipped: database character set is not Unicode
t/rt85886.t ................... ok
All tests successful.
Files=38, Tests=2614, 55 wallclock secs ( 0.81 usr  0.16 sys + 10.69 cusr  2.52 
csys = 14.18 CPU)
Result: PASS


Pretty content with that result so far.
I might take a new look into README.hpux summarizing these actions

-- 
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.19   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

Reply via email to