Skip Menu |

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

Report information
The Basics
Id: 84231
Status: resolved
Worked: 5 min
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: NHORNE [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 6.65_01
Fixed in: (no value)



Subject: Make pure_install coerce failure
+ make pure_install PERL_INSTALL_ROOT=/builddir/build/BUILDROOT/ExtUtils-MakeMaker-6.64-3.el6.x86_64 Can't coerce array into hash at /opt/perl-5.8.8/lib/5.8.8/ExtUtils/Install.pm line 94.
Subject: Re: [rt.cpan.org #84231] Make pure_install coerce failure
Date: Fri, 29 Mar 2013 13:18:12 -0700
To: bug-ExtUtils-MakeMaker [...] rt.cpan.org
From: "Michael G. Schwern" <schwern [...] pobox.com>
On 3/26/13 1:57 PM, Nigel Horne via RT wrote: Show quoted text
> + make pure_install PERL_INSTALL_ROOT=/builddir/build/BUILDROOT/ExtUtils-MakeMaker-6.64-3.el6.x86_64 > Can't coerce array into hash at /opt/perl-5.8.8/lib/5.8.8/ExtUtils/Install.pm line 94.
Thanks for your report. We'll need some more information to be able to help. * Could you tell us what you were doing at the time? * Could you show us the complete log of what you were doing at the time? * Could you look at /opt/perl-5.8.8/lib/5.8.8/ExtUtils/Install.pm and see what $VERSION is? Something like "$VERSION = '1.54'". * Please tell us what line 94 is.
I just tried it again and now it works. What does the message mean?
It means something is trying to use an array as a hash, usually internally.  It's usually a Perl bug having to do with Carp in older versions of Perl, but I can't be sure without knowing what line 94 is in your /opt/perl-5.8.8/lib/5.8.8/ExtUtils/Install.pm
On Fri Apr 12 12:20:24 2013, MSCHWERN wrote: Show quoted text
> It means something is trying to use an array as a hash, usually > internally. > It's usually a Perl bug having to do with Carp in older versions of > Perl, but I > can't be sure without knowing what line 94 is in your > /opt/perl-5.8.8/lib/5.8.8/ExtUtils/Install.pm
It's: my(%from_to) = %$from_to;
From: Sam Ferencik
Just hit this error myself. Makefile (created by MM v6.56) contains: MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e "install([ from_to => {@ARGV}, verbose => '$(VERBINST)', uninstall_shadows => '$(UNINST)', dir_mode => '$(PERM_DIR)' ]);" -- ExtUtils\Install.pm (v1.33) contains: sub install { my($from_to,$verbose,$nonono,$inc_uninstall) = @_; ... my(%from_to) = %$from_to; Obviously these are incompatible. The obvious workaround for the user is to keep ExtUtils::MakeMaker and ExtUtils::Install in step, i.e. upgrade ExtUtil::Install. Hope that helps. Sam
EUMM bundles the correct ExtUtils::Install it requires. This issue should be resolved with recent releases.