Subject: | Makefile.PL error (does not install) and tests fail |
Hi,
first let me thank you for creating this nice module! Unfortunately,
version 0.08 does not install properly on my system (and cpantesters is
accusing the same problem). Here's the output:
-------------------8<-------------------
cpan[1]> install Parse::ErrorString::Perl
CPAN: Storable loaded ok (v2.18)
Going to read /root/.cpan/Metadata
Database was generated on Sun, 28 Dec 2008 02:28:28 GMT
Running install for module 'Parse::ErrorString::Perl'
Running make for P/PS/PSHANGOV/Parse-ErrorString-Perl-0.08.tar.gz
CPAN: Digest::SHA loaded ok (v5.47)
CPAN: File::Which loaded ok (v0.05)
CPAN: Compress::Zlib loaded ok (v2.015)
Checksum for
/root/.cpan/sources/authors/id/P/PS/PSHANGOV/Parse-ErrorString-Perl-0.08.tar.gz
ok
Scanning cache /root/.cpan/build for sizes
DONE
Parse-ErrorString-Perl-0.08
Parse-ErrorString-Perl-0.08/Build.PL
Parse-ErrorString-Perl-0.08/Changes
Parse-ErrorString-Perl-0.08/Makefile.PL
Parse-ErrorString-Perl-0.08/MANIFEST
Parse-ErrorString-Perl-0.08/META.yml
Parse-ErrorString-Perl-0.08/README
Parse-ErrorString-Perl-0.08/bin
Parse-ErrorString-Perl-0.08/bin/check_perldiag
Parse-ErrorString-Perl-0.08/lib
Parse-ErrorString-Perl-0.08/lib/Parse
Parse-ErrorString-Perl-0.08/lib/Parse/ErrorString
Parse-ErrorString-Perl-0.08/lib/Parse/ErrorString/Perl.pm
Parse-ErrorString-Perl-0.08/t
Parse-ErrorString-Perl-0.08/t/00-load.t
Parse-ErrorString-Perl-0.08/t/01-errors.t
Parse-ErrorString-Perl-0.08/t/02-diagnostics.t
Parse-ErrorString-Perl-0.08/t/03-split_diagnostics.t
Parse-ErrorString-Perl-0.08/t/04-perldiag.t
Parse-ErrorString-Perl-0.08/t/05-stacktrace.t
Parse-ErrorString-Perl-0.08/t/06-short_filename.t
CPAN: File::Temp loaded ok (v0.21)
CPAN: YAML loaded ok (v0.68)
CPAN: Module::Build loaded ok (v0.31)
CPAN.pm: Going to build P/PS/PSHANGOV/Parse-ErrorString-Perl-0.08.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for Parse::ErrorString::Perl
cp lib/Parse/ErrorString/Perl.pm blib/lib/Parse/ErrorString/Perl.pm
make: *** No rule to make target `bin\check_perldiag', needed by
`blib/script/bin\check_perldiag'. Stop.
PSHANGOV/Parse-ErrorString-Perl-0.08.tar.gz
make -- NOT OK
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Failed during this command:
PSHANGOV/Parse-ErrorString-Perl-0.08.tar.gz : make NO
cpan[2]>
-------------------8<-------------------
(I'm using Linux, by the way)
I was able to fix this by manually downloading
"Parse-ErrorString-Perl-0.08.tar.gz" and editing Makefile.PL, changing this:
---------8<-------------
'EXE_FILES' => [
'bin\\check_perldiag'
],
---------8<-------------
into this:
---------8<-------------
'EXE_FILES' => [
'bin/check_perldiag'
],
---------8<-------------
But although the "make" command runs ok, the "make test" issues the
following error:
---------8<-------------
# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-load.................1/1 # Testing Parse::ErrorString::Perl 0.08,
Perl 5.010000, /usr/bin/perl
t/00-load.................ok
t/01-errors...............ok
t/02-diagnostics..........ok
t/03-split_diagnostics....ok
t/04-perldiag.............ok
t/05-stacktrace...........ok
t/06-short_filename.......1/4
# Failed test 'msg_short_script short path'
# at t/06-short_filename.t line 15.
# Looks like you failed 1 test of 4.
t/06-short_filename....... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests
Test Summary Report
-------------------
t/06-short_filename (Wstat: 256 Tests: 4 Failed: 1)
Failed test: 2
Non-zero exit status: 1
Files=7, Tests=82, 5 wallclock secs ( 0.12 usr 0.01 sys + 4.68 cusr
0.16 csys = 4.97 CPU)
Result: FAIL
Failed 1/7 test programs. 1/82 subtests failed.
make: *** [test_dynamic] Error 1
---------8<-------------
Apparently, for the tested error string:
"Use of uninitialized value $empty in length at
c:\my\very\long\path\to\this\perl\script\called\error.pl line 6."
, the "file" method should return only "error.pl" but is instead
returning "c:\my\very\long\path\to\this\perl\script\called\error.pl"
I don't know if the latter is an error of your module or of File::Spec,
but since it's your test suit I thought you should at least have another
look at it.
Anyway, thanks! I hope this helps you to fix it soon :)
Cheers,
-b