Subject: | Makefile.PL uses YAML::Tiny before CPAN can install it |
Makefile.PL calls WriteMyMeta which invokes YAML::Tiny before CPAN has
the opportunity to install the prerequisite. Perhaps Module::Install
cannot bootstrap itself.
Steps to repro:
Don't have YAML::Tiny
$ /opt/perl-5.10.1/bin/perl -d Makefile.PL
Sample transcript follows
W3M211:Module-Install-0.79-pbabca root# /opt/perl-5.10.1/bin/perl -d
Makefile.PL
Loading DB routines from perl5db.pl version 1.32
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
main::(Makefile.PL:19): name 'Module-Install';
DB<1> b 59
DB<2> c
Warning: prerequisite File::Remove 1.42 not found.
at /opt/perl-5.10.1/lib/5.10.0/ExtUtils/MakeMaker.pm line 457
ExtUtils::MakeMaker::new('MM', 'HASH(0x8f8030)') called at
/opt/perl-5.10.1/lib/5.10.0/ExtUtils/MakeMaker.pm line 57
ExtUtils::MakeMaker::WriteMakefile('NAME', 'Module::Install', 'test',
'HASH(0x5acb50)', 'DISTNAME', 'Module-Install', 'AUTHOR', 'Adam Kennedy
<adamk@cpan.org>', 'DIR', ...) called at inc/Module/Install/Makefile.pm
line 188
Module::Install::Makefile::write('Module::Install::Makefile=HASH(0x997fd0)') called at inc/Module/Install/WriteAll.pm line 35
Module::Install::WriteAll::WriteAll(undef) called at Makefile.PL line 56
Warning: prerequisite Module::ScanDeps 0.89 not found.
at /opt/perl-5.10.1/lib/5.10.0/ExtUtils/MakeMaker.pm line 457
ExtUtils::MakeMaker::new('MM', 'HASH(0x8f8030)') called at
/opt/perl-5.10.1/lib/5.10.0/ExtUtils/MakeMaker.pm line 57
ExtUtils::MakeMaker::WriteMakefile('NAME', 'Module::Install', 'test',
'HASH(0x5acb50)', 'DISTNAME', 'Module-Install', 'AUTHOR', 'Adam Kennedy
<adamk@cpan.org>', 'DIR', ...) called at inc/Module/Install/Makefile.pm
line 188
Module::Install::Makefile::write('Module::Install::Makefile=HASH(0x997fd0)') called at inc/Module/Install/WriteAll.pm line 35
Module::Install::WriteAll::WriteAll(undef) called at Makefile.PL line 56
Warning: prerequisite PAR::Dist 0.29 not found.
at /opt/perl-5.10.1/lib/5.10.0/ExtUtils/MakeMaker.pm line 457
ExtUtils::MakeMaker::new('MM', 'HASH(0x8f8030)') called at
/opt/perl-5.10.1/lib/5.10.0/ExtUtils/MakeMaker.pm line 57
ExtUtils::MakeMaker::WriteMakefile('NAME', 'Module::Install', 'test',
'HASH(0x5acb50)', 'DISTNAME', 'Module-Install', 'AUTHOR', 'Adam Kennedy
<adamk@cpan.org>', 'DIR', ...) called at inc/Module/Install/Makefile.pm
line 188
Module::Install::Makefile::write('Module::Install::Makefile=HASH(0x997fd0)') called at inc/Module/Install/WriteAll.pm line 35
Module::Install::WriteAll::WriteAll(undef) called at Makefile.PL line 56
Warning: prerequisite YAML::Tiny 1.36 not found.
at /opt/perl-5.10.1/lib/5.10.0/ExtUtils/MakeMaker.pm line 457
ExtUtils::MakeMaker::new('MM', 'HASH(0x8f8030)') called at
/opt/perl-5.10.1/lib/5.10.0/ExtUtils/MakeMaker.pm line 57
ExtUtils::MakeMaker::WriteMakefile('NAME', 'Module::Install', 'test',
'HASH(0x5acb50)', 'DISTNAME', 'Module-Install', 'AUTHOR', 'Adam Kennedy
<adamk@cpan.org>', 'DIR', ...) called at inc/Module/Install/Makefile.pm
line 188
Module::Install::Makefile::write('Module::Install::Makefile=HASH(0x997fd0)') called at inc/Module/Install/WriteAll.pm line 35
Module::Install::WriteAll::WriteAll(undef) called at Makefile.PL line 56
Writing Makefile for Module::Install
main::(Makefile.PL:59): WriteMyMeta;
DB<2> n
Can't locate YAML/Tiny.pm in @INC (@INC contains: inc lib
/opt/perl-5.10.1/lib/5.10.0/darwin-2level /opt/perl-5.10.1/lib/5.10.0
/opt/perl-5.10.1/lib/site_perl/5.10.0/darwin-2level
/opt/perl-5.10.1/lib/site_perl/5.10.0 .) at
inc/Module/Install/Metadata.pm line 525.
at inc/Module/Install/Metadata.pm line 525
Module::Install::Metadata::write_mymeta('Module::Install::Metadata=HASH(0x9c0670)') called at inc/Module/Install/Metadata.pm line 501
Module::Install::Metadata::WriteMyMeta('Module::Install::Metadata=HASH(0x9c0670)') called at Makefile.PL line 59
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
DB<2> q