On Mon, Mar 17, 2003 at 07:39:50PM +0100, H.Merijn Brand wrote:
> On Thu 13 Mar 2003 01:25, Tim Bunce <[EMAIL PROTECTED]> wrote:
> > With many thanks due to Jeff Urlwin, I've been able to get back into
> > DBD::Oracle development after 18 months of, er, stability!
> > 
> > I've made a snapshot of what'll be in 1.13 and put it here:
> > 
> >   http://homepage.eircom.net/~timbunce/DBD-Oracle-1.13-20030313.tar.gz
> > 
> > I'd very much appreciate it if people could give it a whirl...
> 
> #############################################################################
> 
> HP-UX 11.00, Oracle 8.1.7.4/32, DBI-1.35, perl-5.8.0 (+ defined/or)
> 
> Against 1.13 from CPAN, this
> 
> --8<--- Makefile.PL
> if ( ($Config{'cc'} eq 'cc') && ($Config{'ccflags'} !~ m/\+z/ && 
> $Config{'ccldflags'} !~ m/\+Z/i) ) {
>             print "Warning: perl was not built with +z in ccflags\n"
>                 . "         You may need to rebuild perl from sources\n"
>                 . "         See instructions in README.hpux\n" ;
>         }
> -->8---
> 
> will warn on my perl, whereas
> 
> lep a5:/pro/3gl/CPAN/DBD-Oracle-1.13 171 > perl -V |& grep -P '\+[zZ]'
>     cccdlflags='+Z', lddlflags='-b +vnocompatwarnings -L/pro/local/lib'
> lep a5:/pro/3gl/CPAN/DBD-Oracle-1.13 172 >
> 
> *is* more than enough, so I think you should relax that test

Could you generate a patch for me, that also includes a comment
describing the underlying issue?

> #############################################################################
> 
> AIX 4.3.3.0, Oracle 8.1.7.4/32, DBI-1.35
> perl-5.6.1, perl-5.8.0 (+ defined/or), and perl-5.9.0/blead
> 
> Warning: You will probably need to rebuild perl using the xlc_r compiler.
>          You may also need do: ORACCENV='cc=xlc_r'; export ORACCENV
>          Also see the README about the -p option
> 
> No way. xlc_r/cc_r are for threaded builds. I'm not going to give up 25% perl
> performance just to be able to use threaded Oracle.

There was a good reason for adding that comment at the time.
Of course I can't remember what it was now, but I think DBD::Oracle
would either not build or would core dump unless the advice was followed.
Possibly other changes have made the advice redundant now.

But I imagine that just rebuilding perl using the xlc_r compiler
would not, of itself, trigger perl to be multi-threaded.  Don't
forget that the Oracle OCI libs *are* thread-aware and it's not
unreasonable to suggest that a thread-aware compiler/linker may be needed.

For now I'll just s/probably/may/ but feel free to persuade me otherwise.


> "oci8.c", line 271.29: 1506-068 (E) Operation between types "void*(*)(struct 
> imp_dbh_st*,int,int)" and "void*" is not allowed.
> "oci8.c", line 498.12: 1506-068 (E) Operation between types "unsigned char*" and 
> "char*" is not allowed.
> "oci8.c", line 522.45: 1506-280 (E) Function argument assignment between types 
> "unsigned char*" and "char*" is not allowed.

I've fixed the last two. For the first, does just removing the
"(void*)" cast fix it for you?

> > I'm aware that OCI7 support is broken - the tests just dump core.
> > If someone could look into that I'd be grateful.
> > 
> > There is still a large backlog of issues I've not dealt with so
> > please don't ask if any particular change is in or not.
> > What's needed right now is testing of this release candidate.
> 
> Since Oracle databases are supported from Unify 4GL, I cannot install
> DBD-Oracle in the main perl lib, and I choose to install under
> 
>       $UNIFY/perl
> 
> so I can mix several versions of perl with several versions of $UNIFY
> 
> Would you condider to allow 'make installu' using attached script to support
> this special way of installation?
> 
> --8<--- Makefile.PL
> 
> package MY;
> sub postamble
> {
>     join "\n" =>
>       DBI::DBD::dbd_postamble (),
>       '',
>       'installu uinstall:     all',
>       '       $(PERL) installu.pl',
>       '';
>     } # postamble

I can't see much point or value to be honest. Why not just:

    perl Makefile.PL && make && make test && perl installu.pl

Thanks for the feedback.

Tim.

Reply via email to