ACCESS VIOLATION * Using ExtUtils::MakeMaker * perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor INSTALLMAN3DIR=none DESTDIR=/var/tmp/portage/dev-perl/local-lib-1.004009/image/ ACCESS DENIED open_wr: /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/Config.pm Cannot open >/usr/lib64/perl5/vendor_perl/5.12.0/CPAN/Config.pm at /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/HandleConfig.pm line 469 CPAN::HandleConfig::_configpmtest('/usr/lib64/perl5/vendor_perl/5.12.0/CPAN', '/usr/lib64/perl5/vendor_perl/5.12.0/CPAN/Config.pm') called at /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/HandleConfig.pm line 549 CPAN::HandleConfig::load('CPAN::HandleConfig') called at /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/Shell.pm line 1489 CPAN::Shell::optprint('CPAN::Shell', 'load_module', 'CPAN: File::HomeDir loaded ok (v0.89)\x{a}') called at /usr/lib64/perl5/vendor_perl/5.12.0/CPAN.pm line 1089 CPAN::has_inst('CPAN=HASH(0x25e3c58)', 'File::HomeDir', undef) called at /usr/lib64/perl5/vendor_perl/5.12.0/CPAN.pm line 982 CPAN::has_usable('CPAN=HASH(0x25e3c58)', 'File::HomeDir') called at /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/HandleConfig.pm line 505 CPAN::HandleConfig::home() called at /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/HandleConfig.pm line 477 CPAN::HandleConfig::require_myconfig_or_config() called at /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/HandleConfig.pm line 527 CPAN::HandleConfig::load('CPAN::HandleConfig') called at Makefile.PL line 156 * ERROR: dev-perl/local-lib-1.004009 failed: * Unable to build! (are you using USE="build"?) * * Call stack: * ebuild.sh, line 48: Called src_configure * environment, line 2707: Called perl-module_src_configure * environment, line 2360: Called perl-module_src_prep * environment, line 2418: Called die * The specific snippet of code: * perl Makefile.PL "$@" <<< "${pm_echovar}" || die "Unable to build! (are you using USE=\"build\"?)"; * * If you need support, post the output of 'emerge --info =dev-perl/local-lib-1.004009', * the complete build log and the output of 'emerge -pqv =dev-perl/local-lib-1.004009'. * This ebuild used the following eclasses from overlays: * /usr/local/portage/layman/perl-experimental/eclass/perl-module.eclass * /usr/local/portage/layman/perl-experimental/eclass/perl-helper.eclass * This ebuild is from an overlay named 'perl-experimental': '/usr/local/portage/layman/perl-experimental/' * The complete build log is located at '/var/tmp/portage/dev-perl/local-lib-1.004009/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-perl/local-lib-1.004009/temp/environment'. * S: '/var/tmp/portage/dev-perl/local-lib-1.004009/work/local-lib-1.004009' --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE "/var/log/sandbox/sandbox-27506.log" VERSION 1.0 FORMAT: F - Function called FORMAT: S - Access Status FORMAT: P - Path as passed to function FORMAT: A - Absolute Path (not canonical) FORMAT: R - Canonical Path FORMAT: C - Command Line F: open_wr S: deny P: /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/Config.pm A: /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/Config.pm R: /usr/lib64/perl5/vendor_perl/5.12.0/CPAN/Config.pm C: perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor INSTALLMAN3DIR=none DESTDIR=/var/tmp/portage/dev-perl/local-lib-1.004009/image/ -------------------------------------------------------------------------------- Reproducible: Always
Created attachment 232527 [details] local-lib-1.006000.ebuild Updated ebuild to latest version, and included patch to remove the check for cpan. This fixes the sandbox error, current ebuild installs; qlist dev-perl/local-lib /usr/lib64/perl5/vendor_perl/5.10.1/lib/core/only.pm /usr/lib64/perl5/vendor_perl/5.10.1/local/lib.pm /usr/share/doc/local-lib-1.006000/Changes.bz2
Created attachment 232529 [details, diff] local-lib-1.006000-CPAN.patch
(In reply to comment #2) > Created an attachment (id=232529) [details] > local-lib-1.006000-CPAN.patch > I'm a tad bit perplexed by this bug report: 1. your version of Perl changes a bit between varying stages of your report ( Does it happen on both 5.12.0 and 5.10.1? ) 2. What is the output you get with an ( unpatched ) local-lib-1.006000 ? ( on both respective perls ) Some of the things that are patched out by the suggested patch also confuse me, because some of them were not present in the 1.004009 release.
(In reply to comment #3) > (In reply to comment #2) > > Created an attachment (id=232529) [details] [details] > > local-lib-1.006000-CPAN.patch > > > > I'm a tad bit perplexed by this bug report: > > 1. your version of Perl changes a bit between varying stages of your report ( > Does it happen on both 5.12.0 and 5.10.1? ) Yes it happened on two different boxes, I created the ebuild and patch on my local box because it is easier. > > 2. What is the output you get with an ( unpatched ) local-lib-1.006000 ? ( on > both respective perls ) > It failed similar to the local-lib-1.004009.ebuild > Some of the things that are patched out by the suggested patch also confuse me, > because some of them were not present in the 1.004009 release. > This new release is from a different author. I am really not sure if this is the best way to go about fixing the issue I encountered, just offering a suggestion :)
Its interesting to note how paludis behaves in this situation, it seems to work fine. The _configtest in CPAN::Handler has the wonderfully helpful comment "This should never happen" above it. I think how paludis ( by no merit of paludis's own I think, just circumstantial ) behaves in this instance is preferable. It does spew a bit at the start about setting up a new CPAN repo, but the cpan repo only lives as long as the install process. <spam>.....</spam> commit: wrote '/tmp/portage/dev-perl-local-lib-1.006000/temp/.cpan/CPAN/MyConfig.pm' *** Module::AutoInstall version 1.03 *** Checking for Perl dependencies... [Core Features] - ExtUtils::MakeMaker ...loaded. (6.56 >= 6.31) - ExtUtils::Install ...loaded. (1.54 >= 1.43) - ExtUtils::CBuilder ...loaded. (0.2703) - ExtUtils::ParseXS ...loaded. (2.2205) - Module::Build ...loaded. (0.3607 >= 0.28) - CPAN ...loaded. (1.9402 >= 1.82) *** Module::AutoInstall configuration finished. Checking if your kit is complete... Looks good Writing Makefile for local::lib I currently don't have any insight as to what is occurring differently here, it looks to be something ENV driven though. Perhaps Tove has more experience with this sort of CPAN stuff?
Created attachment 232537 [details] paludis output Here is paludis doing it successfully, there's probably not much to gain informationwise from this log, but perhaps somebody who knows what they're looking for will see something.
This appears to be fixed. The patches we've had in place for well over a year now seem to be holding and avoiding the bad code that triggers the Access violation. Its not an elegant solution, but it may be the best we've got as long as upstream want to have local::lib doing magic during install. Marking as Test-Request for now, can anyone replicate this issue still?