Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 19406
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: paul [...] city-fan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 0.28
  • 0.2801
Fixed in: 0.2806



Subject: Test suite fails in various ways on old Red Hat/Fedora distributions
Whilst trying to update various boxes at $WORKPLACE, I've found that I can only get the testsuite to run in my RPM packages of Module::Build in Fedora Core 4 and 5. On older distributions, the testsuite fails in a variety of different ways: Fedora Core 3 (perl 5.8.5): Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.76939 + umask 022 + cd /nis-home/phowarth/BUILD/BUILD + cd Module-Build-0.2801 + TEST_SIGNATURE=0 + ./Build test t/basic...........ok t/compat..........ok 2/60Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 3# Failed test (t/compat.t at line 180) t/compat..........NOK 4# Failed test (t/compat.t at line 181) make: *** No targets specified and no makefile found. Stop. t/compat..........NOK 5# Failed test (t/compat.t at line 56) make: *** No rule to make target `test'. Stop. t/compat..........NOK 6# Failed test (t/compat.t at line 63) t/compat..........NOK 7# Failed test (t/compat.t at line 64) # 'MAKE TEST # ' # doesn't match '(?-xism:DONE\.|SUCCESS)' make: *** No rule to make target `realclean'. Stop. t/compat..........NOK 8# Failed test (t/compat.t at line 66) Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 9# Failed test (t/compat.t at line 180) t/compat..........NOK 10# Failed test (t/compat.t at line 181) make: *** No rule to make target `realclean'. Stop. t/compat..........ok 12/60Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 13# Failed test (t/compat.t at line 180) t/compat..........NOK 14# Failed test (t/compat.t at line 181) make: *** No targets specified and no makefile found. Stop. t/compat..........NOK 15# Failed test (t/compat.t at line 56) make: *** No rule to make target `test'. Stop. t/compat..........NOK 16# Failed test (t/compat.t at line 63) t/compat..........NOK 17# Failed test (t/compat.t at line 64) # 'MAKE TEST # ' # doesn't match '(?-xism:DONE\.|SUCCESS)' make: *** No rule to make target `realclean'. Stop. t/compat..........NOK 18# Failed test (t/compat.t at line 66) Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 19# Failed test (t/compat.t at line 180) t/compat..........NOK 20# Failed test (t/compat.t at line 181) make: *** No rule to make target `realclean'. Stop. t/compat..........NOK 38# Failed test (t/compat.t at line 101) # 'Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # ' # doesn't match '(?-xism:Foo/Builder.pm)' t/compat..........NOK 41# Failed test (t/compat.t at line 101) # 'Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # ' # doesn't match '(?-xism:Foo/Builder.pm)' t/compat..........ok 42/60Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 43# Failed test (t/compat.t at line 109) t/compat..........ok 44/60Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 45# Failed test (t/compat.t at line 109) Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 46# Failed test (t/compat.t at line 126) t/compat..........NOK 48# Failed test (t/compat.t at line 130) # got: 'site' # expected: 'core' t/compat..........NOK 49# Failed test (t/compat.t at line 131) # got: undef # expected: '1' t/compat..........NOK 50# Failed test (t/compat.t at line 132) # got: '/usr/lib/perl5/site_perl/5.8.5' # expected: '/nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/t/libdir' t/compat..........NOK 51# Failed test (t/compat.t at line 133) # got: undef # expected: '-DPERL_POLLUTE' make: *** No rule to make target `test'. Stop. t/compat..........NOK 52# Failed test (t/compat.t at line 138) t/compat..........NOK 53# Failed test (t/compat.t at line 140) # '# make test # ' # doesn't match '(?-xism:(?:# ok \d+\s+)+)' make: *** No rule to make target `test'. Stop. t/compat..........NOK 54# Failed test (t/compat.t at line 144) t/compat..........NOK 55# Failed test (t/compat.t at line 146) # '# make test TEST_VERBOSE=0 # ' # doesn't match '(?-xism:(?:# .+basic\.+ok\s+(?:[\d.]+\s*m?s\s*)?)# All tests)' t/compat..........ok 56/60make: *** No rule to make target `realclean'. Stop. t/compat..........ok 58/60Couldn't run Build.PL: Argument list too long at /nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 59# Failed test (t/compat.t at line 168) t/compat..........ok 60/60make: *** No rule to make target `realclean'. Stop. # Looks like you failed 30 tests of 60. t/compat..........dubious Test returned status 30 (wstat 7680, 0x1e00) DIED. FAILED tests 3-10, 13-20, 38, 41, 43, 45-46, 48-55, 59 Failed 30/60 tests, 50.00% okay Red Hat Linux 9 (perl 5.8.0) Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.92020 + umask 022 + cd /nis-home/phowarth/BUILD/BUILD + cd Module-Build-0.2801 + TEST_SIGNATURE=0 + ./Build test Can't locate the perl binary used to run this script in (/usr/bin /usr/bin /usr/bin /usr/local/bin /usr/kerberos/bin /bin /usr/bin /usr/X11R6/bin) error: Bad exit status from /var/tmp/rpm-tmp.92020 (%check) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.92020 (%check) Unfortunately my perl skills aren't sufficiently honed for me to be able to diagnose these issues myself. In all cases though, the only perl on the system is /usr/bin/perl.
This bug has reared its ugly head before. The problem is that RH-FC installs its perl RPMs with hugely long @INC paths, and when we pass this path on the command line in various places in M::B, it's too long for the shell. Lemme bring this issue up on the development list again and see what we can come up with. -Ken
On Sun May 28 15:26:13 2006, KWILLIAMS wrote: Show quoted text
> This bug has reared its ugly head before. The problem is that RH-FC > installs its perl RPMs with > hugely long @INC paths, and when we pass this path on the command line > in various places in > M::B, it's too long for the shell.
I think this was done for compatibility with perl modules built on old perl versions. However, the same approach is there on FC4 and FC5, both of which work OK. It does explain the FC3 problem, but what about the RHL9 issue, which appears to me to be a different issue? Paul.
On Sun May 28 16:07:01 2006, guest wrote: Show quoted text
> It does explain the FC3 problem, but what about the > RHL9 issue, which appears to me to be a different issue?
Yeah, it does look like a different issue. I've never seen that one before, I'm not sure what's going on there. One thing you *might* want to try is setting the LANG environment variable to "C" or just the empty string and trying again. I've seen some problems with the default locale on RH that that usually fixes. -Ken
From: Paul Howarth <paul [...] city-fan.org>
On Sun May 28 23:10:04 2006, KWILLIAMS wrote: Show quoted text
> On Sun May 28 16:07:01 2006, guest wrote:
> > It does explain the FC3 problem, but what about the > > RHL9 issue, which appears to me to be a different issue?
> > Yeah, it does look like a different issue. I've never seen that one > before, I'm not sure what's > going on there. One thing you *might* want to try is setting the LANG > environment variable to > "C" or just the empty string and trying again. I've seen some > problems with the default locale > on RH that that usually fixes.
Thanks; that's fixed that issue (might be worth mentioning that tip in a README perhaps?). So, current state of play is: M::B 0.2801: OK on RHL9, FC1, FC2, RHEL3 with LANG=C Fails (@INC too long) on RHEL4, FC3 OK on FC4, FC5 Paul.
From: stevengs [...] web.de
On Mo. 29. Mai 2006, 05:15:44, guest wrote: Show quoted text
> On Sun May 28 23:10:04 2006, KWILLIAMS wrote:
> > On Sun May 28 16:07:01 2006, guest wrote:
> > > It does explain the FC3 problem, but what about the > > > RHL9 issue, which appears to me to be a different issue?
> > > > Yeah, it does look like a different issue. I've never seen that one > > before, I'm not sure what's > > going on there. One thing you *might* want to try is setting the LANG > > environment variable to > > "C" or just the empty string and trying again. I've seen some > > problems with the default locale > > on RH that that usually fixes.
> > Thanks; that's fixed that issue (might be worth mentioning that tip in a > README perhaps?). > > So, current state of play is: > M::B 0.2801: > OK on RHL9, FC1, FC2, RHEL3 with LANG=C > Fails (@INC too long) on RHEL4, FC3 > OK on FC4, FC5 > > Paul. >
I am experiencing the same exact behaviour. On attempting to install Module-Build-0.2801 on RHEL4 on a SunFire X4100 System (SUN Dual Opteron) the test returns the following output: Manifying blib/lib/Module/Build/Authoring.pod -> blib/libdoc/Module::Build::Authoring.3pm Manifying blib/lib/Module/Build/Compat.pm -> blib/libdoc/Module::Build::Compat.3pm [root@TDN1M27MGS0L Module-Build-0.2801]# LANG="C" ./Build test t/basic...........Warning: Removing existing directory '/tmp/test/Module-Build-0.2801/t/_tmp/Simple' t/basic...........ok t/compat..........ok 2/60Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # Failed test in t/compat.t at line 180. t/compat..........NOK 3 # Failed test 'Makefile should exist' # in t/compat.t at line 181. t/compat..........NOK 4make: *** No targets specified and no makefile found. Stop. t/compat..........NOK 5 # Failed test in t/compat.t at line 56. make: *** No rule to make target `test'. Stop. t/compat..........NOK 6# Failed test in t/compat.t at line 63. # Failed test in t/compat.t at line 64. t/compat..........NOK 7# 'MAKE TEST # ' # doesn't match '(?-xism:DONE\.|SUCCESS)' make: *** No rule to make target `realclean'. Stop. # Failed test in t/compat.t at line 66. t/compat..........NOK 8Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # Failed test in t/compat.t at line 180. # Failed test 'Makefile should exist' # in t/compat.t at line 181. t/compat..........NOK 10make: *** No rule to make target `realclean'. Stop. t/compat..........ok 12/60Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # Failed test in t/compat.t at line 180. t/compat..........NOK 13 # Failed test 'Makefile should exist' t/compat..........NOK 14# in t/compat.t at line 181. make: *** No targets specified and no makefile found. Stop. t/compat..........NOK 15 # Failed test in t/compat.t at line 56. make: *** No rule to make target `test'. Stop. # Failed test in t/compat.t at line 63. # Failed test in t/compat.t at line 64. # 'MAKE TEST # ' # doesn't match '(?-xism:DONE\.|SUCCESS)' t/compat..........NOK 17make: *** No rule to make target `realclean'. Stop. t/compat..........NOK 18 # Failed test in t/compat.t at line 66. Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # Failed test in t/compat.t at line 180. t/compat..........NOK 19 # Failed test 'Makefile should exist' t/compat..........NOK 20# in t/compat.t at line 181. make: *** No rule to make target `realclean'. Stop. t/compat..........ok 36/60 # Failed test in t/compat.t at line 101. # 'Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # ' # doesn't match '(?-xism:Foo/Builder.pm)' t/compat..........ok 39/60 # Failed test in t/compat.t at line 101. # 'Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # ' # doesn't match '(?-xism:Foo/Builder.pm)' t/compat..........ok 42/60Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 43 # Failed test in t/compat.t at line 109. t/compat..........ok 44/60Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # Failed test in t/compat.t at line 109. t/compat..........NOK 45Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. # Failed test in t/compat.t at line 126. t/compat..........ok 47/60 t/compat..........NOK 48# Failed test in t/compat.t at line 130. # got: 'site' # expected: 'core' t/compat..........NOK 49# Failed test in t/compat.t at line 131. # got: undef # expected: '1' t/compat..........NOK 50# Failed test in t/compat.t at line 132. # got: '/usr/lib/perl5/site_perl/5.8.5' # expected: '/tmp/test/Module-Build-0.2801/t/libdir' t/compat..........NOK 51# Failed test in t/compat.t at line 133. # got: undef # expected: '-DPERL_POLLUTE' make: *** No rule to make target `test'. Stop. t/compat..........NOK 52 # Failed test in t/compat.t at line 138. t/compat..........NOK 53 # Failed test 'Should be verbose' # in t/compat.t at line 140. # '# make test # ' # doesn't match '(?-xism:(?:# ok \d+\s+)+)' make: *** No rule to make target `test'. Stop. t/compat..........NOK 54# Failed test in t/compat.t at line 144. t/compat..........NOK 55# Failed test 'Should be non-verbose' # in t/compat.t at line 146. # '# make test TEST_VERBOSE=0 # ' # doesn't match '(?-xism:(?:# .+basic\.+ok\s+(?:[\d.]+\s*m?s\s*)?)# All tests)' t/compat..........ok 56/60make: *** No rule to make target `realclean'. Stop. t/compat..........ok 58/60Couldn't run Build.PL: Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Compat.pm line 200. t/compat..........NOK 59# Failed test in t/compat.t at line 168. Use of uninitialized value in pattern match (m//) at t/compat.t line 169. at t/compat.t line 169 eval ' #line 169 t/compat.t $test = $this =~ /$usable_regex/ ? 1 : 0 ;' called at /usr/lib/perl5/5.8.5/Test/Builder.pm line 751 Test::Builder::_regex_ok('Test::Builder=HASH(0x6710c0)', 'undef', 'Regexp=SCALAR(0xd297f0)', '!~', 'Tildes should be expanded') called at /usr/lib/perl5/5.8.5/Test/Builder.pm line 678 Test::Builder::unlike('Test::Builder=HASH(0x6710c0)', 'undef', 'Regexp=SCALAR(0xd297f0)', 'Tildes should be expanded') called at /usr/lib/perl5/5.8.5/Test/More.pm line 390 Test::More::unlike('undef', 'Regexp=SCALAR(0xd297f0)', 'Tildes should be expanded') called at t/compat.t line 169 t/compat..........ok 60/60make: *** No rule to make target `realclean'. Stop. # Looks like you failed 30 tests of 60. t/compat..........dubious Test returned status 30 (wstat 7680, 0x1e00) DIED. FAILED tests 3-10, 13-20, 38, 41, 43, 45-46, 48-55, 59 Failed 30/60 tests, 50.00% okay t/destinations....ok 8/113 skipped: various reasons t/ext.............ok t/extend..........ok t/files...........ok t/install.........ok t/manifypods......ok t/mbyaml..........ok t/metadata........ok t/metadata2.......ok t/moduleinfo......ok t/notes...........ok t/parents.........ok t/pod_parser......ok t/ppm.............ok t/runthrough......ok 13/32Can't exec "/usr/bin/perl": Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Base.pm line 3927. Can't exec "/usr/bin/perl": Argument list too long at /tmp/test/Module-Build-0.2801/blib/lib/Module/Build/Base.pm line 3927. t/runthrough......ok 4/32 skipped: Windows only test t/signature.......skipped all skipped: $ENV{TEST_SIGNATURE} is not set t/tilde...........ok t/versions........ok t/xs..............ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/compat.t 30 7680 60 30 50.00% 3-10 13-20 38 41 43 45-46 48-55 59 1 test and 12 subtests skipped. Failed 1/21 test scripts, 95.24% okay. 30/704 subtests failed, 95.74% okay. This output is returned, regardless of whether the LANG environment variable is set to "C" or the empty string. Is there a workaround? Best Regards Steven
Show quoted text
> This output is returned, regardless of whether the LANG environment > variable is set to "C" or the empty string. Is there a workaround? > > Best Regards > Steven >
Steven - I'm a perl newbie so just trying random things, but I got around the problem by updating Test::Harness to latest version. John
From: Paul Howarth <paul [...] city-fan.org>
On Tue Jun 06 08:08:43 2006, guest wrote: Show quoted text
>
> > This output is returned, regardless of whether the LANG environment > > variable is set to "C" or the empty string. Is there a workaround? > > > > Best Regards > > Steven > >
> > > Steven - I'm a perl newbie so just trying random things, but I got > around the problem by updating Test::Harness to latest version.
Unfortunately this isn't a viable option for many RHEL users because there isn't a clean, rpm-based way of doing this update - the Test::Harness module is bundled in the Red Hat/Fedora perl rpm and so a full update of that package would be needed. Whilst the module could be done manually from source, it would lose the benefits of the rpm package management database, dependency tracking etc.
On Mon May 22 07:19:52 2006, guest wrote: Show quoted text
> Whilst trying to update various boxes at $WORKPLACE, I've found that I > can only get the testsuite to run in my RPM packages of Module::Build > in > Fedora Core 4 and 5. On older distributions, the testsuite fails in a > variety of different ways: > > Fedora Core 3 (perl 5.8.5): > Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.76939 > + umask 022 > + cd /nis-home/phowarth/BUILD/BUILD > + cd Module-Build-0.2801 > + TEST_SIGNATURE=0 > + ./Build test > t/basic...........ok > t/compat..........ok 2/60Couldn't run Build.PL: Argument list too long > at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > t/compat..........NOK 3# Failed test (t/compat.t at line 180) > t/compat..........NOK 4# Failed test (t/compat.t at line 181) > make: *** No targets specified and no makefile found. Stop. > t/compat..........NOK 5# Failed test (t/compat.t at line 56) > make: *** No rule to make target `test'. Stop. > t/compat..........NOK 6# Failed test (t/compat.t at line 63) > t/compat..........NOK 7# Failed test (t/compat.t at line 64) > # 'MAKE TEST > # ' > # doesn't match '(?-xism:DONE\.|SUCCESS)' > make: *** No rule to make target `realclean'. Stop. > t/compat..........NOK 8# Failed test (t/compat.t at line 66) > Couldn't run Build.PL: Argument list too long at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > t/compat..........NOK 9# Failed test (t/compat.t at line 180) > t/compat..........NOK 10# Failed test (t/compat.t at line 181) > make: *** No rule to make target `realclean'. Stop. > t/compat..........ok 12/60Couldn't run Build.PL: Argument list too > long > at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > t/compat..........NOK 13# Failed test (t/compat.t at line 180) > t/compat..........NOK 14# Failed test (t/compat.t at line 181) > make: *** No targets specified and no makefile found. Stop. > t/compat..........NOK 15# Failed test (t/compat.t at line 56) > make: *** No rule to make target `test'. Stop. > t/compat..........NOK 16# Failed test (t/compat.t at line 63) > t/compat..........NOK 17# Failed test (t/compat.t at line 64) > # 'MAKE TEST > # ' > # doesn't match '(?-xism:DONE\.|SUCCESS)' > make: *** No rule to make target `realclean'. Stop. > t/compat..........NOK 18# Failed test (t/compat.t at line 66) > Couldn't run Build.PL: Argument list too long at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > t/compat..........NOK 19# Failed test (t/compat.t at line 180) > t/compat..........NOK 20# Failed test (t/compat.t at line 181) > make: *** No rule to make target `realclean'. Stop. > t/compat..........NOK 38# Failed test (t/compat.t at line 101) > # 'Couldn't run Build.PL: Argument list too long at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > # ' > # doesn't match '(?-xism:Foo/Builder.pm)' > t/compat..........NOK 41# Failed test (t/compat.t at line 101) > # 'Couldn't run Build.PL: Argument list too long at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > # ' > # doesn't match '(?-xism:Foo/Builder.pm)' > t/compat..........ok 42/60Couldn't run Build.PL: Argument list too > long > at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > t/compat..........NOK 43# Failed test (t/compat.t at line 109) > t/compat..........ok 44/60Couldn't run Build.PL: Argument list too > long > at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > t/compat..........NOK 45# Failed test (t/compat.t at line 109) > Couldn't run Build.PL: Argument list too long at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > t/compat..........NOK 46# Failed test (t/compat.t at line 126) > t/compat..........NOK 48# Failed test (t/compat.t at line 130) > # got: 'site' > # expected: 'core' > t/compat..........NOK 49# Failed test (t/compat.t at line 131) > # got: undef > # expected: '1' > t/compat..........NOK 50# Failed test (t/compat.t at line 132) > # got: '/usr/lib/perl5/site_perl/5.8.5' > # expected: > '/nis-home/phowarth/BUILD/BUILD/Module-Build-0.2801/t/libdir' > t/compat..........NOK 51# Failed test (t/compat.t at line 133) > # got: undef > # expected: '-DPERL_POLLUTE' > make: *** No rule to make target `test'. Stop. > t/compat..........NOK 52# Failed test (t/compat.t at line 138) > t/compat..........NOK 53# Failed test (t/compat.t at line 140) > # '# make test > # ' > # doesn't match '(?-xism:(?:# ok \d+\s+)+)' > make: *** No rule to make target `test'. Stop. > t/compat..........NOK 54# Failed test (t/compat.t at line 144) > t/compat..........NOK 55# Failed test (t/compat.t at line 146) > # '# make test TEST_VERBOSE=0 > # ' > # doesn't match '(?-xism:(?:# > .+basic\.+ok\s+(?:[\d.]+\s*m?s\s*)?)# > All tests)' > t/compat..........ok 56/60make: *** No rule to make target > `realclean'. > Stop. > t/compat..........ok 58/60Couldn't run Build.PL: Argument list too > long > at > /nis-home/phowarth/BUILD/BUILD/Module-Build- > 0.2801/blib/lib/Module/Build/Compat.pm > line 200. > t/compat..........NOK 59# Failed test (t/compat.t at line 168) > t/compat..........ok 60/60make: *** No rule to make target > `realclean'. > Stop. > # Looks like you failed 30 tests of 60. > t/compat..........dubious > Test returned status 30 (wstat 7680, 0x1e00) > DIED. FAILED tests 3-10, 13-20, 38, 41, 43, 45-46, 48-55, 59 > Failed 30/60 tests, 50.00% okay > > > Red Hat Linux 9 (perl 5.8.0) > Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.92020 > + umask 022 > + cd /nis-home/phowarth/BUILD/BUILD > + cd Module-Build-0.2801 > + TEST_SIGNATURE=0 > + ./Build test > Can't locate the perl binary used to run this script in (/usr/bin > /usr/bin /usr/bin /usr/local/bin /usr/kerberos/bin /bin /usr/bin > /usr/X11R6/bin) > error: Bad exit status from /var/tmp/rpm-tmp.92020 (%check) > > > RPM build errors: > Bad exit status from /var/tmp/rpm-tmp.92020 (%check) > > > Unfortunately my perl skills aren't sufficiently honed for me to be > able > to diagnose these issues myself. In all cases though, the only perl on > the system is /usr/bin/perl.
On Sun May 28 15:26:13 2006, KWILLIAMS wrote: Show quoted text
> This bug has reared its ugly head before. The problem is that RH-FC > installs its perl RPMs with > hugely long @INC paths, and when we pass this path on the command line > in various places in > M::B, it's too long for the shell.
I've notice it (or something) seems to be taking each element of @INC, and adding several variations of it - almost like something does: @INC = map { $_, "$_/5.8.1", "$_/5.8.2", "$_/5.8.3" etc }( @INC ); I'm not sure what's doing this but it means @INC grows exponentially. I noticed this because I have a module called Foo which overrode the M::B test 'Foo' package, but failed on a 'use', and so listed @INC.
I found a workaround on FC3... yum install perl-Module-Build - not the latest version but was enough for me to install Log::Dispatch, which is what I was trying to install!
Show quoted text
> Failed Test Stat Wstat Total Fail Failed List of Failed >
------------------------------------------------------------------------------- Show quoted text
> t/compat.t 30 7680 60 30 50.00% 3-10 13-20 38 41 43 45-46 > 48-55 59 > 1 test and 12 subtests skipped. > Failed 1/21 test scripts, 95.24% okay. 30/704 subtests failed, 95.74% > okay. > > This output is returned, regardless of whether the LANG environment > variable is set to "C" or the empty string. Is there a workaround? > > Best Regards > Steven >
I have exactly the same problem here, under Redhat Enterprise Linux ES 4. I tried the different tricks that have apparently worked for others, like setting the environment variables LC_ALL or LANG to C, but it did not help at all. Is there a patch we can apply? This problem is specific to Redhat. I did the same job under FreeBSD 6.1 just before, without any problem.
From: MATISSE [...] cpan.org
I ran into this bug yesterday on a Redhat Enterprise AS system - the most recent version I think - which has perl 5.8.5 with the ultra-long @INC. I compiled my own copy of Perl 5.8.8 from source, and M::B built without error using that Perl, which has a "normal" @INC. The next issue for me is to see if a patch could be created for M::B to work around this problem, or if I need to build my own Perl for this machine.
From: MATISSE [...] cpan.org
I've been able to work on this a bit between other tasks, and have a crude hack that goes some way to fixing the problem - although not completely. I'll add another comment with a patch later today or tomorrow.
Subject: Re: [rt.cpan.org #19406] Test suite fails in various ways on old Red Hat/Fedora distributions
Date: Thu, 01 Feb 2007 18:09:12 +0000
To: bug-Module-Build [...] rt.cpan.org
From: Paul Howarth <paul [...] city-fan.org>
On Thu, 2007-02-01 at 11:56 -0500, via RT wrote: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=19406 > > > I've been able to work on this a bit between other tasks, and have a > crude hack that goes some way to fixing the problem - although not > completely. I'll add another comment with a patch later today or tomorrow.
Strangely enough M::B 0.2806 is running just fine on all the distributions I've tried as long as the test suite is run using the "C" locale; is the patch a fix for other locales? Paul.
From: MATISSE [...] cpan.org
On Thu Feb 01 13:09:36 2007, paul@city-fan.org wrote: Show quoted text
> Strangely enough M::B 0.2806 is running just fine on all the > distributions I've tried as long as the test suite is run using the "C" > locale; is the patch a fix for other locales? > > Paul. >
I've tried building 0.2805 after setting LANG=C and still get the problem. But maybe that's not what I need to do? % export LANG=C % locale LANG=C LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL= The attached patch is *NOT* a proper fix, merely something that begins to point the way towards a proper fix. BTW: I'm on RHE Linux: Linux rdclxsrv184 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:56:28 EST 2006 x86_64 x86_64 x86_64 GNU/Linux Perl v5.8.5 built for x86_64-linux-thread-multi
diff -ruw Module-Build-0.2805/lib/Module/Build/Base.pm Module-Build-0.2805.testing/lib/Module/Build/Base.pm --- Module-Build-0.2805/lib/Module/Build/Base.pm 2006-07-29 20:07:23.000000000 -0700 +++ Module-Build-0.2805.testing/lib/Module/Build/Base.pm 2006-12-18 16:43:19.000000000 -0800 @@ -1288,8 +1288,21 @@ my $self = shift; my %seen; - $seen{$_}++ foreach $self->_default_INC; - return grep !$seen{$_}++, @INC; + foreach my $path ( $self->_default_INC ) { + $seen{$path}++; + } + my @added_to_inc; + foreach my $path ( @INC ) { + if ( ! exists $seen{$path} ) { + if ( -d $path ) { + push @added_to_inc, $path; + } + $seen{$path} = 1; + } + } + unshift @added_to_inc, 'lib', 't/lib'; + + return @added_to_inc; } # Determine the default @INC for this Perl
here's the patch I attached to the last reply - for some reason it was uploaded as "application/octet-stream" instead of text/plain The idea here is to remove paths from @INC that point to non-existent directories. This isn't a good fix because some directories such as lib/blib should be in @INC but will not exist until later in the build process. diff -ruw Module-Build-0.2805/lib/Module/Build/Base.pm Module-Build-0.2805.testing/lib/Module/Build/Base.pm --- Module-Build-0.2805/lib/Module/Build/Base.pm 2006-07-29 20:07:23.000000000 -0700 +++ Module-Build-0.2805.testing/lib/Module/Build/Base.pm 2006-12-18 16:43:19.000000000 -0800 @@ -1288,8 +1288,21 @@ my $self = shift; my %seen; - $seen{$_}++ foreach $self->_default_INC; - return grep !$seen{$_}++, @INC; + foreach my $path ( $self->_default_INC ) { + $seen{$path}++; + } + my @added_to_inc; + foreach my $path ( @INC ) { + if ( ! exists $seen{$path} ) { + if ( -d $path ) { + push @added_to_inc, $path; + } + $seen{$path} = 1; + } + } + unshift @added_to_inc, 'lib', 't/lib'; + + return @added_to_inc; }
Doh! I just saw the Change log for M::B 0.2806 and saw this: - On some systems (haven't identified the actual problem yet) $ENV{PERL5LIB} can grow to enormous enough sizes that we can't launch any more subprocesses because the environment table is full. This is the now-infamous "Couldn't run Build.PL: Argument list too long" error. Now we detect such situations and trim the directory list to only include directories that actually exist, listed only once each. Not the ideal solution, but it should work. so I see that Ken took a similar approach as the patch I uploaded - i need to retest on our system using 0.2806
From: MATISSE [...] cpan.org
Seems fixed in 0.2806 I tested Module-Build-0.2806 with Perl 5.8.5 in Red Hat Enterprise Linux rdclxsrv184 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:56:28 EST 2006 x86_64 x86_64 x86_64 GNU/Linux I think this bug can be marked closed, fixed in 0.2806
On Thu Feb 08 13:57:54 2007, MATISSE wrote: Show quoted text
> I tested Module-Build-0.2806 with Perl 5.8.5 in Red Hat Enterprise
Linux Show quoted text
> rdclxsrv184 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:56:28 EST 2006
x86_64 Show quoted text
> > I think this bug can be marked closed, fixed in 0.2806
Thank you for reporting back. This ticket also consolidates the following two tickets: http://rt.cpan.org/Ticket/Display.html?id=23834 http://rt.cpan.org/Ticket/Display.html?id=21870 Also see: http://www.nntp.perl.org/group/perl.module.build/2006/07/msg201.html http://www.nntp.perl.org/group/perl.module.build/2006/12/msg461.html