Skip Menu |

This queue is for tickets about the Algorithm-CheckDigits CPAN distribution.

Report information
The Basics
Id: 114347
Status: resolved
Priority: 0/
Queue: Algorithm-CheckDigits

People
Owner: mamawe [...] cpan.org
Requestors: pwood [...] christianbook.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: v1.3.0
Fixed in: v1.3.2



Subject: Build fails during testing phase
When I am running the test suite for this module, it fails because Pod::Usage is not installed: t/script-checkdigits.t .. Can't locate object method "initialize" via package "Pod::Usage" at /usr/local/lib/perl5/5.8.3/Pod/Usage.pm line 534. t/script-checkdigits.t .. 1/5 # Failed test 'run with -help' # at t/script-checkdigits.t line 13. # got: '65280' # expected: '0' Can't locate object method "initialize" via package "Pod::Usage" at /usr/local/lib/perl5/5.8.3/Pod/Usage.pm line 534. When I install Pod::Usage manually, I am able to complete the tests. I would suggest adding Pod::Usage as a build requirement: --- Build.PL.orig Thu May 12 08:26:51 2016 +++ Build.PL Thu May 12 08:20:36 2016 @@ -9,6 +9,7 @@ build_requires => { 'Probe::Perl' => 0, 'Test::More' => 0, + 'Pod::Usage' => 0, }, configure_requires => { 'Module::Build' => 0.38 }, create_makefile_pl => 'small',
On 2016-05-12 08:27:20, https://openid-provider.appspot.com/pwood@christianbook.com wrote: Show quoted text
> When I am running the test suite for this module, it fails because > Pod::Usage is not installed: > > t/script-checkdigits.t .. Can't locate object method "initialize" via > package "Pod::Usage" at /usr/local/lib/perl5/5.8.3/Pod/Usage.pm line > 534. > t/script-checkdigits.t .. 1/5 > # Failed test 'run with -help' > # at t/script-checkdigits.t line 13. > # got: '65280' > # expected: '0' > Can't locate object method "initialize" via package "Pod::Usage" at > /usr/local/lib/perl5/5.8.3/Pod/Usage.pm line 534. > > When I install Pod::Usage manually, I am able to complete the tests. I > would suggest adding Pod::Usage as a build requirement: > > --- Build.PL.orig Thu May 12 08:26:51 2016 > +++ Build.PL Thu May 12 08:20:36 2016 > @@ -9,6 +9,7 @@ > build_requires => { > 'Probe::Perl' => 0, > 'Test::More' => 0, > + 'Pod::Usage' => 0, > }, > configure_requires => { 'Module::Build' => 0.38 }, > create_makefile_pl => 'small',
Pod::Usage is supposed to be part of a complete perl installation: $ corelist Pod::Usage Pod::Usage was first released with perl v5.6.0
On 2016-05-15 15:04:28, SREZIC wrote: Show quoted text
> On 2016-05-12 08:27:20, https://openid- > provider.appspot.com/pwood@christianbook.com wrote:
> > When I am running the test suite for this module, it fails because > > Pod::Usage is not installed: > > > > t/script-checkdigits.t .. Can't locate object method "initialize" via > > package "Pod::Usage" at /usr/local/lib/perl5/5.8.3/Pod/Usage.pm line > > 534. > > t/script-checkdigits.t .. 1/5 > > # Failed test 'run with -help' > > # at t/script-checkdigits.t line 13. > > # got: '65280' > > # expected: '0' > > Can't locate object method "initialize" via package "Pod::Usage" at > > /usr/local/lib/perl5/5.8.3/Pod/Usage.pm line 534. > > > > When I install Pod::Usage manually, I am able to complete the tests. > > I > > would suggest adding Pod::Usage as a build requirement: > > > > --- Build.PL.orig Thu May 12 08:26:51 2016 > > +++ Build.PL Thu May 12 08:20:36 2016 > > @@ -9,6 +9,7 @@ > > build_requires => { > > 'Probe::Perl' => 0, > > 'Test::More' => 0, > > + 'Pod::Usage' => 0, > > }, > > configure_requires => { 'Module::Build' => 0.38 }, > > create_makefile_pl => 'small',
> > > Pod::Usage is supposed to be part of a complete perl installation: > > $ corelist Pod::Usage > > Pod::Usage was first released with perl v5.6.0
Actually the problem is that Pod::Usage is there, but it seems to be buggy. I see the same error in a perl 5.8.1 installation with Pod::Usage 1.16: $ perl5.8.1 -MPod::Usage -e 'Pod::Usage->new' Can't locate object method "initialize" via package "Pod::Usage" at /opt/perl-5.8.1/lib/5.8.1/Pod/Usage.pm line 532. The earliest working version could be 1.30, because initialize() is only called if it's really there: https://metacpan.org/source/MAREKR/Pod-Parser-1.30/lib/Pod/Usage.pm#L547 So the correct fix would be to put 'Pod::Usage' => 1.30, in the requirements.
v1.3.2 contains the fix from SREZIC.