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/