Subject: | 'use version' created installation problem |
Distribution: Module-Starter-0.02
$ perl -v
This is perl, v5.8.4 built for darwin-2level
$ uname -a
Darwin Macintosh.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc
Error message generated by 'make test':
[Module-Starter-PBP-0.0.2 535]$ perl Makefile.PL;make;make test
Checking if your kit is complete...
Looks good
Warning: prerequisite version 0 not found.
Could not eval '
package ExtUtils::MakeMaker::_version;
no strict;
local $VERSION;
$VERSION=undef; do {
use version; $VERSION = qv('0.0.2');
}; $VERSION
' in lib/Module/Starter/PBP.pm: Can't locate version.pm in @INC (@INC
contains: /usr/local/lib/perl5/site_perl/5.8.4/darwin-2level
/usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl
/usr/local/lib/perl5/5.8.4/darwin-2level /usr/local/lib/perl5/5.8.4
/usr/local/lib/perl5/site_perl/5.8.4/darwin-2level
/usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl .) at
(eval 9) line 7, <FH> line 4.
BEGIN failed--compilation aborted at (eval 9) line 7, <FH> line 4.
WARNING: Setting VERSION via file 'lib/Module/Starter/PBP.pm' failed
at /usr/local/lib/perl5/5.8.4/ExtUtils/MakeMaker.pm line 486
Writing Makefile for Module::Starter::PBP
cp lib/Module/Starter/PBP.pm blib/lib/Module/Starter/PBP.pm
Manifying blib/man3/Module::Starter::PBP.3
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00.load.........NOK 1
# Failed test (t/00.load.t at line 4)
# Tried to use 'Module::Starter::PBP'.
# Error: Can't locate version.pm in @INC (@INC contains:
# /Users/jimk/Documents/Downloads/Module-Starter-PBP-0.0.2/blib/lib
# /Users/jimk/Documents/Downloads/Module-Starter-PBP-0.0.2/blib/arch
# /usr/local/lib/perl5/site_perl/5.8.4/darwin-2level
# /usr/local/lib/perl5/site_perl/5.8.4/darwin-2level
# /usr/local/lib/perl5/site_perl/5.8.4
# /usr/local/lib/perl5/site_perl/5.8.4/darwin-2level
# /usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl
# /usr/local/lib/perl5/5.8.4/darwin-2level
# /usr/local/lib/perl5/5.8.4/darwin-2level /usr/local/lib/perl5/5.8.4 .
# /usr/local/lib/perl5/5.8.4/darwin-2level /usr/local/lib/perl5/5.8.4
# /usr/local/lib/perl5/site_perl/5.8.4/darwin-2level
# /usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl .)
# at
# /Users/jimk/Documents/Downloads/Module-Starter-PBP-0.0.2/blib/lib/Module/Starter/PBP.pm
# line 4.
# BEGIN failed--compilation aborted at t/00.load.t line 4.
# Compilation failed in require at (eval 3) line 2.
# BEGIN failed--compilation aborted at (eval 3) line 2.
Use of uninitialized value in concatenation (.) or string at t/00.load.t line
7.
# Testing Module::Starter::PBP
# Looks like you failed 1 test of 1.
t/00.load.........dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
t/pod-coverage....ok 1/1# Module::Starter::PBP: no public symbols defined
t/pod-coverage....ok
t/pod.............ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/00.load.t 1 256 1 1 100.00% 1
Failed 1/3 test scripts, 66.67% okay. 1/3 subtests failed, 66.67% okay.
make: *** [test_dynamic] Error 2
Diagnosis:
PBP recommends use of 'use version' pragma and this module takes its own advice. However, 'version' pragma is non-core at 5.8 level, as evinced by:
$ corelist version
version was first released with perl 5.009
Hence, any package which uses it should have its Make/Buildfile prompt user to install latest version of version.pm. 'version' *is* listed in the PREREQ_PM key in the M::S::PBP Makefile.PL, but, for reasons unknown, I was not prompted to install 'version' by 'make'.