develooper Front page | perl.perl5.porters | Postings from February 2007

RE: $Win32::VERSION problem

Thread Previous | Thread Next
From:
Jan Dubois
Date:
February 26, 2007 09:13
Subject:
RE: $Win32::VERSION problem
Message ID:
014701c759c9$5fe4b0b0$1fae1210$@com
On Mon, 26 Feb 2007, Yitzchak Scott-Thoennes wrote:
> Steve Hay wrote:
> > I just tried building libwin32-0.26 using an installed copy of the
> > current bleadperl, and got this error:
> >
> > Win32 version 0.270 (v0.270.0) required--this is only version 0.260
> > (v0.260.0) at c:\perl\lib/File/Copy.pm line 273.

Hmm, this ugly error message looks a bit misleading, it really should
look like this:

| Win32 version 0.27 required--this is only version 0.26 at c:\perl\lib/File/Copy.pm line 273.

I normally try to stay out of the version number silliness, but this
does look like a step backwards to me. I have no idea if this can (or
should) be fixed in bleadperl or not (Perl 5.8 does give the correct
error message).

> > BEGIN failed--compilation aborted.
> > NMAKE : fatal error U1077: 'C:\perl\bin\perl.exe' : return code '0x2'
> > Stop.
> > NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual
> > Studio\VC98\Bin\N
> > MAKE.EXE"' : return code '0x2'
> > Stop.
> >
> > I can't quite get my head round what's gone wrong. Current bleadperl
> > says $Win32::VERSION is 0.27 and libwin32-0.26 says 0.26, but current
> > maintperl says 0.2601 and doesn't experience the same problem!
> >
> > Is it something to do with having just moved win32/ext/Win32API/File to
> > ext/Win32API/File ? That's the main thing in this area that is currently
> > different between blead and maint.
> 
> There is a bigger difference than that.  As of last December
> (http://nntp.perl.org/group/perl.perl5.porters/119038), the CORE
> routines moved from win32/win32.c into Win32.xs.

Yes, and the forwarder() function (now in ext/Win32CORE/Win32CORE.c requires
Win32 version 0.27 or later:

static void
forward(pTHX_ const char *function)
{
    dXSARGS;
    Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT, newSVpvn("Win32",5), newSVnv(0.27));
    SPAGAIN;
    PUSHMARK(SP-items);
    call_pv(function, GIMME_V);
}

Therefore you will not be able to use old versions of the Win32 module
with bleadperl anymore.

> Jan's evil plan (http://nntp.perl.org/group/perl.perl5.porters/119009)
> addresses the problem you are seeing in (as yet undone) step 5.

I'll try to get some time to do this early March (next week). I thought
there is no urgency in releasing Win32 0.27 separately as the latest
version is already in the core, but I didn't realize that you also
cannot install libwin32 anymore on blead.

Cheers,
-Jan



Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About