Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 45432
Status: resolved
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: sisyphus [...] cpan.org
Cc: Jan Dubois <jand [...] ActiveState.com>
AdminCc:

Bug Information
Severity: Important
Broken in: 6.51_02
Fixed in: 6.66



Subject: EU::Liblist::Kid breaks ActivePerl + MinGW + PAR-Packer
Hi, In Extutils/Liblist/Kid.pm (version 6.4801) we find: $_ .= $libext if !/\Q$libext\E$/i && !/\.lib$/i; But, by the time 6.50 arrives, the final condition has been dropped and we have simply: $_ .= $libext if !/\Q$libext\E$/i; Why was that changed ? What did the 6.4801 code break ? The 6.50 code prevents recent versions of PAR-Packer from building with ActivePerl, using the MinGW port of gcc as the compiler. Running the PAR-Packer Makefile.PL we get: Note (probably harmless): No library found for perl58.lib Given that we need to link to perl58.lib, that certainly aint harmless ;-) Without knowing why that change was introduced it's hard to know what's needed ... hopefully, we can just return to the 6.4801 rendition of that line of code, which works fine for me. Or do we have to fix it from within ActivePerl and/or the PAR-Packer source ? There may well be other modules similarly affected, but PAR-Packer is the only one I know of at the moment. (There have been other changes to the Kid.pm code since 6.4801 ... I've no issue with them.) Cheers, Rob
CC: Jan Dubois <jand [...] activestate.com>
Subject: Re: [rt.cpan.org #45432] EU::Liblist::Kid breaks ActivePerl + MinGW + PAR-Packer
Date: Sun, 26 Apr 2009 01:47:10 -0700
To: bug-ExtUtils-MakeMaker [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Sisyphus via RT wrote: Show quoted text
> In Extutils/Liblist/Kid.pm (version 6.4801) we find: > $_ .= $libext if !/\Q$libext\E$/i && !/\.lib$/i; > > But, by the time 6.50 arrives, the final condition has been dropped and > we have simply: > $_ .= $libext if !/\Q$libext\E$/i; > > Why was that changed ? What did the 6.4801 code break ?
The first version is not in MakeMaker. That line hasn't been touched since I've maintained the module. It must be an ActivePerl patch. So the question is reversed. Why was that change added by ActivePerl and why didn't it get pushed upstream? Jan? Show quoted text
> The 6.50 code prevents recent versions of PAR-Packer from building with > ActivePerl, using the MinGW port of gcc as the compiler.
IIRC ActivePerl is built with VC++ and building XS extensions with versions of Perl different from the one which built Perl is a bad idea. -- 170. Not allowed to "defect" to OPFOR during training missions. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/
Subject: Re: [rt.cpan.org #45432] EU::Liblist::Kid breaks ActivePerl + MinGW + PAR-Packer
Date: Sun, 26 Apr 2009 21:47:16 +1000
To: <bug-ExtUtils-MakeMaker [...] rt.cpan.org>, <sisyphus [...] cpan.org>
From: "Sisyphus" <sisyphus1 [...] optusnet.com.au>
Show quoted text
----- Original Message ----- From: "Michael G Schwern via RT" <bug-ExtUtils-MakeMaker@rt.cpan.org>
>> Why was that changed ? What did the 6.4801 code break ?
> > The first version is not in MakeMaker. That line hasn't been touched > since > I've maintained the module. It must be an ActivePerl patch.
Aaah ... now I see .... nothing to do with you at all ... also explains that I was unable to find the elusive 6.4801 on either cpan or backpan.
> So the question is reversed. Why was that change added by ActivePerl and > why > didn't it get pushed upstream? Jan?
Yes, it's less than ideal to have ActiveState distributing a version of MakeMaker that works fine, only to have things start breaking mysteriously when one updates MakeMaker from cpan. So ... we need to either add this change to the "official" MakeMaker, or come up with an implementation that works independently of MakeMaker. We probably need to hear from Jan ... but I'm not sure he will see this. Michael, what's the best way to get this sorted out ?
>> The 6.50 code prevents recent versions of PAR-Packer from building with >> ActivePerl, using the MinGW port of gcc as the compiler.
> > IIRC ActivePerl is built with VC++ and building XS extensions with > versions of > Perl different from the one which built Perl is a bad idea.
That's a good rule, and the MinGW/ActivePerl marriage is the exception that proves it :-) MinGW does work very well with ActivePerl (once certain %Config values have been overwritten) due no doubt, in part, to the fact that MinGW and the compiler that built ActivePerl use the same C runtime library (msvcrt.dll). As a rule, any module that builds on MinGW-built perl using the MinGW compiler, builds just as well on (recent builds of) ActivePerl using the MinGW compiler - so long as one sticks with the version of MakeMaker that ships with ActivePerl. Sorry, I don't have an exception that proves that rule :-) Cheers, Rob
Subject: Re: [rt.cpan.org #45432] EU::Liblist::Kid breaks ActivePerl + MinGW + PAR-Packer
Date: Sun, 26 Apr 2009 12:43:08 -0700
To: bug-ExtUtils-MakeMaker [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
sisyphus1@optusnet.com.au via RT wrote: Show quoted text
> We probably need to hear from Jan ... but I'm not sure he will see this. > Michael, what's the best way to get this sorted out ?
You might not have seen it, but I CC'd him already. -- Hating the web since 1994.
I believe that this has now been resolved from looking through the Changes, in v6.66 Many thanks.