On 7/16/06, Nicholas Clark <[EMAIL PROTECTED]> wrote:
Sorry if I'm behind the times on this one, or doing something stupid, but when I try to install Module::Build (0.2803) from the CPAN shell on 5.8.x it fails. Trying by hand I get:$ /home/nick/snap5.8.x-28443/bin/perl5.8.8 Build.PL Base class package "version" is empty. (Perhaps you need to 'use' the module which defines that package first.) at lib/Module/Build/Version.pm line 2 BEGIN failed--compilation aborted at lib/Module/Build/Version.pm line 2. Compilation failed in require at lib/Module/Build/ModuleInfo.pm line 11. BEGIN failed--compilation aborted at lib/Module/Build/ModuleInfo.pm line 11. Compilation failed in require at lib/Module/Build/Base.pm line 18. BEGIN failed--compilation aborted at lib/Module/Build/Base.pm line 18. Compilation failed in require at lib/Module/Build.pm line 14. BEGIN failed--compilation aborted at lib/Module/Build.pm line 14. Compilation failed in require at Build.PL line 10. BEGIN failed--compilation aborted at Build.PL line 10. So I try to install version.pm by hand: $ /home/nick/snap5.8.x-28443/bin/perl5.8.8 -MCPAN -eshell Terminal does not support AddHistory. cpan shell -- CPAN exploration and modules installation (v1.7602) ReadLine support available (try 'install Bundle::CPAN') cpan> install version CPAN: Storable loaded ok Going to read /home/nick/.cpan/Metadata Database was generated on Sun, 16 Jul 2006 01:29:12 GMT Running install for module version Running make for J/JP/JPEACOCK/version-0.64.tar.gz CPAN: Digest::MD5 loaded ok CPAN: Compress::Zlib loaded ok Checksum for /home/nick/.cpan/sources/authors/id/J/JP/JPEACOCK/version-0.64.tar.gz ok Scanning cache /home/nick/.cpan/build for sizes x version-0.64/ x version-0.64/t/ x version-0.64/t/02derived.t x version-0.64/t/coretests.pm x version-0.64/t/03require.t x version-0.64/t/01base.t x version-0.64/lib/ x version-0.64/lib/version.pod x version-0.64/lib/version/ x version-0.64/lib/version/typemap x version-0.64/lib/version.pm x version-0.64/vperl/ x version-0.64/vperl/vpp.pm x version-0.64/vutil/ x version-0.64/vutil/ppport.h x version-0.64/vutil/vxs.pm x version-0.64/vutil/vxs.xs x version-0.64/vutil/vutil.c x version-0.64/vutil/vutil.h x version-0.64/README x version-0.64/Changes x version-0.64/Build.PL x version-0.64/Makefile.PL x version-0.64/META.yml x version-0.64/MANIFEST Removing previously used /home/nick/.cpan/build/version-0.64 CPAN.pm: Going to build J/JP/JPEACOCK/version-0.64.tar.gz This module requires Module::Build to install itself. Install Module::Build from CPAN? [y] If I answer yes, it's slightly more surprising than you expect - the CPAN shell loops back round to the point of asking the same question. I assumed after 3 loops that this would be infinite. So how do I install Module::Build?
It SHOULD be the following: cpan> look version $ perl Makefile.PL $ make $ make test $ make install $ exit cpan> install Module::Build But unfortunately John hasn't provided a proper EUMM compatibility Makefile.PL so this route is impossible. IMO anything that Module::Build depends on needs to have a _Real_ EUMM compatibility makefile to allow a backout for issues like this. Notably Pathtools used to require exactly this process to get it to install on Win32, nowadays with the later EU:I releases its easier (which was actually one of the prime motivators of the EU:I releases...) Also, CPAN should be set up so that if a module fails install with MB and contains a bundled Makefile.PL it should automatically try to install using Makefile.PL, of course as the Makefile.PL in version.pm is basically a note saying "Install Module::Build" it wouldnt help. Which just adds weight to the oft repeated argument against this type of Makefile.PL Yves -- perl -Mre=debug -e "/just|another|perl|hacker/"
