On Thu, Jan 12, 2006 at 11:02:46AM +0100, H.Merijn Brand wrote:
> On Wed, 11 Jan 2006 23:57:58 +0000, Tim Bunce <[EMAIL PROTECTED]> wrote:
> 
> >     http://www.data-plan.com/public/DBD-Oracle-1.17-RC3.tar.gz
> > 
> > "We're getting there". This one fixes the two issues raised against RC2
> > (thanks Andy and Steffen).
> 
> HP-UX 11.23, perl-5.8.7-dor/64, DBI 1.50, HP C-ANSI-C, Oracle-9.2.0.2
> HP-UX 11.23/64 U  rx1620/64 Itanium 2/1600(2) ia64  2037 Mb
> 
> --8<---
> Your LD_LIBRARY_PATH env var is set to ''
> Your LD_LIBRARY_PATH env var doesn't include '/pro/oracle/v920/lib' but 
> probably needs to.
> -->8---

> # echo $SHLIB_PATH
> /pro/oracle/v920/lib:/pro/asql/o83F/bin:/pro/asql/o83F/lib:/usr/lib:/etc/opt/resmon/lib:/opt/gnome/lib:/pro/local/lib:/pro/oracle/v920/lib

> on HP-UX that is set in SHLIB_PATH. I think they should be treated equal

They should, but Makefile.PL is using what perl's own config told it to.
What does
        print -V:ldlibpthname
say?

Seems like it ought to say SHLIB_PATH for HP-UX. Looking again at
perl's own INSTALL file it says:

---snip---
To build a shared libperl, the environment variable controlling shared
library search (LD_LIBRARY_PATH in most systems, DYLD_LIBRARY_PATH for
NeXTSTEP/OPENSTEP/Darwin, LIBRARY_PATH for BeOS, LD_LIBRARY_PATH/SHLIB_PATH
for HP-UX, LIBPATH for AIX, PATH for Cygwin) must be set up to include
the Perl build directory because that's where the shared libperl will
be created.  Configure arranges makefile to have the correct shared
library search settings.  You can find the name of the environment
variable Perl thinks works in your your system by

        grep ldlibpthname config.sh
---snip---

Note the "LD_LIBRARY_PATH/SHLIB_PATH" for HP-UX.
Any idea why both are listed?

Does this fix it for you?

---snip---
--- Makefile.PL (revision 2394)
+++ Makefile.PL (working copy)
@@ -1751,6 +1751,8 @@
     $libdir ||= "$OH/".ora_libdir();
     $libdir =~ s:[\\/]$::;
     my $ldlibpthname = $Config{ldlibpthname} or return;
+    $ldlibpthname = 'SHLIB_PATH' if $^O eq 'hpux'
+       and not defined $ENV{$ldlibpthname};
     my $val = $ENV{$ldlibpthname} || '';
     print "Your $ldlibpthname env var is set to '$val'\n";
     my @val = split /\Q$Config{path_sep}/o, $val, -1;

---snip---



> Some compile warnings:
> --8<---
> "Oracle.xs", line 271: warning #2550-D: variable "csid" was set but never used
>       ub2 csid;
> "dbdimp.c", line 1179: warning #2550-D: variable "sth_i" was set but never 
> used
>         SV *sth_i;
> "dbdimp.c", line 45: warning #2550-D: variable "ora_login_nomsg" was set but 
> never used
>   static int ora_login_nomsg;   /* don't fetch real login errmsg if true  */

Fixed. Thanks.

> "oci8.c", line 132: warning #2236-D: controlling expression is constant
>         && OCIErrorGet_log_stat(errhp, recno, (text*)NULL, &eg_errcode, 
> errbuf,

I can't see the cause of that one.

> "oci8.c", line 562: warning #2177-D: function "fetch_func_nty" was declared 
> but never referenced
>   fetch_func_nty(SV *sth, imp_fbh_t *fbh, SV *dest_sv)

Incomplete support for Oracle named types. Patches welcome :)

> "oci8.c", line 1094: warning #2177-D: function "fbh_setup_getrefpv" was 
> declared but never referenced
>   fbh_setup_getrefpv(imp_fbh_t *fbh, int desc_t, char *bless)

I've added an #ifdef OCI_DTYPE_REF around the function.

> And now the good news:
> All tests successful, 4 tests and 122 subtests skipped.

Yeah!

> Database 9.2.0.2.0 CHAR set is US7ASCII (Non-Unicode), NCHAR set is AL16UTF16 
> (Unicode)
> Client 9.2.0.2 NLS_LANG is '<unset>', NLS_NCHAR is '<unset>'

I'm tempting fate here, but do they all still pass if run as

        NLS_LANG=.UTF8 make test

Thanks.

Tim.

Reply via email to