Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: alexchorny [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in:
  • 6.30
  • 6.30_01
Fixed in: (no value)



Subject: generated ppd files fail to install on ActiveState Perl 5.8
perl v5.8.7 built for MSWin32-x86-multi-thread Binary build 813 When I upgraded from ExtUtils::MakeMaker 6.17 to 6.30 & 6.30_01, ppm distributions started to fail installation with error like "Error: no suitable installation target found for package Carp-Always.". This line changed in ppd: old: <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" /> new: <ARCHITECTURE NAME="MSWin32-x86-multi-thread" /> When I add "-5.8" all is ok. There is no mention of this change of "MM_Unix.pm" in "Changes". ------- Alexandr Ciornii, http://chorny.net
On Wed Jul 19 17:31:21 2006, alexchorny@gmail.com wrote: Show quoted text
> perl v5.8.7 built for MSWin32-x86-multi-thread > Binary build 813 > > When I upgraded from ExtUtils::MakeMaker 6.17 to 6.30 & 6.30_01, ppm > distributions started to fail installation with error like "Error: no > suitable installation target found for package Carp-Always.". > This line changed in ppd: > old: <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" /> > new: <ARCHITECTURE NAME="MSWin32-x86-multi-thread" /> > > When I add "-5.8" all is ok. > There is no mention of this change of "MM_Unix.pm" in "Changes".
Thanks for the report. I'll have to look at what I changed in 6.30, the change wasn't intentional. Furthermore, it seems ARCHITECTURE isn't even in the PPD spec. http://search.cpan.org/~murray/PPM-2.1.7/lib/PPM/XML/PPD.pm So the PPD stuff needs some love.
On Mon Sep 11 16:57:05 2006, MSCHWERN wrote: Show quoted text
> On Wed Jul 19 17:31:21 2006, alexchorny@gmail.com wrote:
> > perl v5.8.7 built for MSWin32-x86-multi-thread > > Binary build 813 > > > > When I upgraded from ExtUtils::MakeMaker 6.17 to 6.30 & 6.30_01, ppm > > distributions started to fail installation with error like "Error: no > > suitable installation target found for package Carp-Always.". > > This line changed in ppd: > > old: <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" /> > > new: <ARCHITECTURE NAME="MSWin32-x86-multi-thread" /> > > > > When I add "-5.8" all is ok. > > There is no mention of this change of "MM_Unix.pm" in "Changes".
I've checked the code in 6.17 and the value of ARCHITECTURE is the same. Its $Config{archname}. Did you upgrade MakeMaker or did you upgrade Perl as well? Could you check the value of $Config{archname} with the following: perl -MConfig -wle "print $Config{archname}"
From: Alexandr Ciornii <alexchorny [...] gmail.com>
On Sep 11 17:01:53 2006, MSCHWERN wrote: Show quoted text
> I've checked the code in 6.17 and the value of ARCHITECTURE is the same. > Its $Config{archname}. Did you upgrade MakeMaker or did you upgrade > Perl as well?
MakeMaker only. Show quoted text
> > Could you check the value of $Config{archname} with the following: > > perl -MConfig -wle "print $Config{archname}"
MSWin32-x86-multi-thread I've found reason for this. My ExtUtils::MM_Unix 1.42 (ActiveState) contains addition to ExtUtils-MakeMaker 6.17 from CPAN. $ppd_xml .= sprintf <<'PPD_OUT', $Config{archname}; <OS NAME="$(OSNAME)" /> <ARCHITECTURE NAME="%s" /> PPD_OUT was replaced with my $archname = $Config{archname}; if ($^V ge v5.8) { # archname did not change from 5.6 to 5.8, but those versions may not be not binary compatible # so now we append the part of the version that changes when binary compatibility may change $archname .= "-". substr($Config{version},0,3); } $ppd_xml .= sprintf <<'PPD_OUT', $archname; <OS NAME="$(OSNAME)" /> <ARCHITECTURE NAME="%s" /> PPD_OUT Maybe you should change this as well? ppm is ActiveState only and argument in comments is correct.
On Mon Sep 11 17:18:20 2006, alexchorny@gmail.com wrote: Show quoted text
> I've found reason for this. My ExtUtils::MM_Unix 1.42 (ActiveState) > contains addition to ExtUtils-MakeMaker 6.17 from CPAN. > $ppd_xml .= sprintf <<'PPD_OUT', $Config{archname}; > <OS NAME="$(OSNAME)" /> > <ARCHITECTURE NAME="%s" /> > PPD_OUT > > was replaced with > > my $archname = $Config{archname}; > if ($^V ge v5.8) { > # archname did not change from 5.6 to 5.8, but those versions may not be > not binary compatible > # so now we append the part of the version that changes when binary > compatibility may change > $archname .= "-". substr($Config{version},0,3); > } > $ppd_xml .= sprintf <<'PPD_OUT', $archname; > <OS NAME="$(OSNAME)" /> > <ARCHITECTURE NAME="%s" /> > PPD_OUT > > Maybe you should change this as well? ppm is ActiveState only and > argument in comments is correct.
Thanks, I've pulled in that change. I should go through the ActiveState diffs and see what else I should steal. This will be available in 6.30_05 / 6.31. You can try it now via http://svn.schwern.org/CPAN/ExtUtils-MakeMaker/trunk Let me know how it works.
Haven't heard back from the original reporter, but nobody's complained and I know the ActiveState folks have seen the ppm work. So, resolving.