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/"

Reply via email to