Skip Menu |

This queue is for tickets about the Class-MethodMaker CPAN distribution.

Report information
The Basics
Id: 13755
Status: resolved
Worked: 15 min
Priority: 0/
Queue: Class-MethodMaker

People
Owner: fluffy [...] cpan.org
Requestors: mcummings [...] gentoo.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 2.07
Fixed in: 2.11



Subject: tests generated via Build.pl broken
Building C::MM with the included Build.PL results in a version that is unable to pass tests (see top paste). Building it old school works still though (see bottom paste). I've tried this with Module::Build 2.611 on both perl 5.8.6 and 5.8.7 Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.7/Module/Build/Base.pm line 1455. Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.7/Module/Build/Base.pm line 1586. Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.7/Module/Build/Base.pm line 1592. Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.7/Module/Build/Base.pm line 1455. Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.7/Module/Build/Base.pm line 1586. Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.7/Module/Build/Base.pm line 1592. t/0-signature..............gpg: Signature made Sun Apr 10 06:25:09 2005 EDT using DSA key ID C57858AD gpg: Can't check signature: public key not found t/0-signature..............ok t/array....................Argument "2.121_04" isn't numeric in subroutine entry at t/array.t line 12. t/array....................ok t/basic....................Argument "2.121_04" isn't numeric in subroutine entry at t/basic.t line 11. t/basic....................ok t/diffclass................ok t/hash.....................Argument "2.121_04" isn't numeric in subroutine entry at t/hash.t line 12. t/hash.....................ok t/new......................ok t/redefine-warnings........ok t/scalar...................ok t/v1_abstract..............ok t/v1_boolean...............Wrong C::MM: 1.11 t/v1_boolean...............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-19 Failed 19/19 tests, 0.00% okay t/v1_code..................ok t/v1_copy..................ok t/v1_counter...............Wrong C::MM: 1.11 t/v1_counter...............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-11 Failed 11/11 tests, 0.00% okay t/v1_get_concat............Wrong C::MM: 1.11 t/v1_get_concat............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-13 Failed 13/13 tests, 0.00% okay t/v1_get_set...............ok t/v1_get_set_hi............ok t/v1_hash..................ok t/v1_key_attrib............Wrong C::MM: 1.11 t/v1_key_attrib............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-17 Failed 17/17 tests, 0.00% okay t/v1_key_with_create.......Wrong C::MM: 1.11 t/v1_key_with_create.......dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-18 Failed 18/18 tests, 0.00% okay t/v1_list..................ok t/v1_method................ok t/v1_new...................ok t/v1_new_hash_with_init....ok t/v1_object................ok t/v1_object_list...........ok t/v1_object_tie_hash.......Wrong C::MM: 1.11 t/v1_object_tie_hash.......dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-8 Failed 8/8 tests, 0.00% okay t/v1_object_tie_list.......Wrong C::MM: 1.11 t/v1_object_tie_list.......dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-12 Failed 12/12 tests, 0.00% okay t/v1_set_once..............Unrecognised option: set_once to get_set at t/v1_set_once.t line 7 BEGIN failed--compilation aborted at t/v1_set_once.t line 18. t/v1_set_once..............dubious Test returned status 9 (wstat 2304, 0x900) t/v1_set_once_static.......Unrecognised option: set_once to get_set at t/v1_set_once_static.t line 6 BEGIN failed--compilation aborted at t/v1_set_once_static.t line 12. t/v1_set_once_static.......dubious Test returned status 9 (wstat 2304, 0x900) t/v1_singleton.............Wrong C::MM: 1.11 t/v1_singleton.............dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-8 Failed 8/8 tests, 0.00% okay t/v1_static_get_set........ok t/v1_static_hash...........ok t/v1_static_list...........ok t/v1_tie_hash..............ok t/v1_tie_list..............ok t/v1_tie_scalar............ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/v1_boolean.t 255 65280 19 38 200.00% 1-19 t/v1_counter.t 255 65280 11 22 200.00% 1-11 t/v1_get_concat.t 255 65280 13 26 200.00% 1-13 t/v1_key_attrib.t 255 65280 17 34 200.00% 1-17 t/v1_key_with_create.t 255 65280 18 36 200.00% 1-18 t/v1_object_tie_hash.t 255 65280 8 16 200.00% 1-8 t/v1_object_tie_list.t 255 65280 12 24 200.00% 1-12 t/v1_set_once.t 9 2304 ?? ?? % ?? t/v1_set_once_static.t 9 2304 ?? ?? % ?? t/v1_singleton.t 255 65280 8 16 200.00% 1-8 Failed 10/36 test scripts, 72.22% okay. 106/1640 subtests failed, 93.54% okay. versus and old school perl Makefile.PL routine: /usr/bin/perl5.8.7 "-MExtUtils::Command::MM" "-e" "test_harnes s(0, 'blib/lib', 'blib/arch')" t/*.t t/0-signature..............gpg: Signature made Sun Apr 10 06:25:09 2005 EDT usin g DSA key ID C57858AD gpg: Can't check signature: public key not found t/0-signature..............ok t/array....................Argument "2.121_04" isn't numeric in subroutine entry at t/array.t line 12. t/array....................ok t/basic....................Argument "2.121_04" isn't numeric in subroutine entry at t/basic.t line 11. t/basic....................ok t/diffclass................ok t/hash.....................Argument "2.121_04" isn't numeric in subroutine entry at t/hash.t line 12. t/hash.....................ok t/new......................ok t/redefine-warnings........ok t/scalar...................ok t/v1_abstract..............ok t/v1_boolean...............ok t/v1_code..................ok t/v1_copy..................ok t/v1_counter...............ok t/v1_get_concat............ok t/v1_get_set...............ok t/v1_get_set_hi............ok t/v1_hash..................ok t/v1_key_attrib............ok t/v1_key_with_create.......ok t/v1_list..................ok t/v1_method................ok t/v1_new...................ok t/v1_new_hash_with_init....ok t/v1_object................ok t/v1_object_list...........ok t/v1_object_tie_hash.......ok t/v1_object_tie_list.......ok t/v1_set_once..............ok t/v1_set_once_static.......ok t/v1_singleton.............ok t/v1_static_get_set........ok t/v1_static_hash...........ok t/v1_static_list...........ok t/v1_tie_hash..............ok t/v1_tie_list..............ok t/v1_tie_scalar............ok All tests successful. Files=36, Tests=1755, 4 wallclock secs ( 3.41 cusr + 0.31 csys = 3.72 CPU)
Subject: @INC generated via Build.pl broken
From: mcummings [...] gentoo.org
Taking a fresh peak at my output, I noticed it was loading the C::MM from my last install (1.11). I uninstalled that version, and now it merely complains on those failed tests about not being able to locate C::MM at all. Looking at the path that its using for @INC, it seems to be missing the BUILD_DIR/lib directory completely: t/v1_boolean...............Can't locate Class/MethodMaker.pm in @INC (@INC conta ins: /var/tmp/portage/Class-MethodMaker-2.07/work/Class-MethodMaker-2.07/blib/li b /var/tmp/portage/Class-MethodMaker-2.07/work/Class-MethodMaker-2.07/blib/arch /var/tmp/portage/Class-MethodMaker-2.07/work/Class-MethodMaker-2.07/_build/lib / etc/perl /usr/lib/perl5/site_perl/5.8.7/i686-linux /usr/lib/perl5/site_perl/5.8. 7/i686-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.4/i686- linux /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.4/i686-linux / usr/lib/perl5/site_perl/5.8.6/i686-linux /usr/lib/perl5/site_perl/5.8.6 /usr/lib /perl5/site_perl/5.8.6/i686-linux /usr/lib/perl5/site_perl/5.8.7/i686-linux /usr /lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_pe rl/5.8.4/i686-linux /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8. 6/i686-linux /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.7/i686-linu x /usr/lib/perl5/vendor_perl/5.8.7/i686-linux /usr/lib/perl5/vendor_perl/5.8.7 / usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.6/i686-linux /usr /lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.6/i686-linux /usr/li b/perl5/vendor_perl/5.8.7/i686-linux /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/p erl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_pe rl/5.8.6/i686-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.7/i686-linux / usr/lib/perl5/5.8.7/i686-linux /usr/lib/perl5/5.8.7 /usr/local/lib/site_perl . / etc/perl /usr/lib/perl5/site_perl/5.8.7/i686-linux /usr/lib/perl5/site_perl/5.8. 7 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.4/i686-linux /usr/ lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i686-linux /usr/lib/per l5/site_perl /usr/lib/perl5/vendor_perl/5.8.7/i686-linux /usr/lib/perl5/vendor_p erl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.6 /usr /lib/perl5/vendor_perl/5.8.6/i686-linux /usr/lib/perl5/vendor_perl /usr/lib/perl 5/5.8.7/i686-linux /usr/lib/perl5/5.8.7 /usr/local/lib/site_perl /usr/lib/perl5/ site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.4/i686-linux /usr/lib/perl5/site_pe rl/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i686-linux .) at t/v1_boolean.t line 7. BEGIN failed--compilation aborted at t/v1_boolean.t line 7. So it looks like the Build that is being generated is just lacking the pointer to ./lib :)
From: mcummings [...] gentoo.org
Attached patch fixes the Build.PL to correctly load the local lib - everything runs smoothly afterwards :)
--- Build.PL.orig 2005-07-19 06:55:12.000000000 -0400 +++ Build.PL 2005-07-19 06:55:16.000000000 -0400 @@ -1,7 +1,7 @@ use Module::Build; -use File::Spec::Functions qw( catfile ); +use File::Spec::Functions qw( catfile catdir ); -use lib '.'; +use lib File::Spec->catdir('lib'); use Generate qw( %GENERATE ); my $class = Module::Build->subclass
From: mcummings [...] gentoo.org
[guest - Tue Jul 19 07:00:16 2005]: Show quoted text
> Attached patch fixes the Build.PL to correctly load the local lib - > everything runs smoothly afterwards :) >
Sorry to be so vocal on this (thought I had it) - this still isn't generating an installed MethodMaker.pm (or any .pm's actually), just passing the tests at this point. Will try and get this fixed, sorry for the bothers, -mike
I can't reproduce this as is, but I think it's probably related to an odd disk install layout. I've reverted to MakeMaker's default layout by default, and made the odd one an option. There was also some other weirdness with Build.PL and autosplit, which is fixed with Module::Build 0.26, so I've made that a requirement, too. I'm pretty sure that'll fix the issue; if not, let me know.
[FLUFFY - Sat Nov 26 07:29:23 2005]: Show quoted text
> I'm pretty sure that'll fix the issue; if not, let me know.
With the version of Class::MethodMaker on cpan (2.07) and Module::Build 0.2611, I still see the following while attempting to run tests (similar I believe to the output the freebsd maintainer reported last week)
Download outp
application/octet-stream 14k

Message body not shown because it is not plain text.

This bug is related to the long enduring broken Build.PL. As some kind of "reality sync" I "fixed" all those related bugs by dropping Build.PL from the distribution. Regards, Steffen -- Steffen Schwigon <ss5@renormalist.net> Dresden Perl Mongers <http://dresden-pm.org/> Deutscher Perl-Workshop <http://www.perl-workshop.de/>