Subject: | CPAN::Reporter::PrereqCheck broken for Tk + perl 5.15.8 |
CPAN::Reporter::PrereqCheck cannot get the version of Tk anymore:
$ echo Tk | perl5.14.1 `perl5.14.1 -S perldoc -l
CPAN::Reporter::PrereqCheck`
Tk 1 804.030
$ echo Tk | perl5.15.8 `perl5.15.8 -S perldoc -l
CPAN::Reporter::PrereqCheck`
Tk 0 broken
This is visible in test reports for distributions using Tk, e.g. for
Tk-FlatCheckbox:
OK (5.14.2):
http://www.cpantesters.org/cpan/report/94515f24-65e4-11e1-a078-c92ea1f8bb33
broken (5.15.8):
http://www.cpantesters.org/cpan/report/0544d978-65e4-11e1-8d46-1226a1f8bb33
I think that PrereqCheck is doing a require on a file to accomplish
the check. This used to work:
$ perl5.14.1 -e 'require
"/home/cpansand/var/ctps/5141RC1/install/perl-5.14.1-RC1/lib/site_perl/5.14.1/i386-freebsd/Tk.pm"'
(no output, no error)
But with 5.15.8 it does not work anymore:
$ perl5.15.8 -e 'require
"/usr/perl5.15.8/lib/site_perl/5.15.8/i386-freebsd/Tk.pm"'
Can't locate object method "Construct" via package "Tk::Widget" at
/usr/perl5.15.8/lib/site_perl/5.15.8/i386-freebsd/Tk/Frame.pm line 13.
Compilation failed in require at (eval 17) line 2.
...propagated at /usr/perl5.15.8/lib/5.15.8/base.pm line 84.
BEGIN failed--compilation aborted at
/usr/perl5.15.8/lib/site_perl/5.15.8/i386-freebsd/Tk/Toplevel.pm line 10.
Compilation failed in require at (eval 15) line 2.
...propagated at /usr/perl5.15.8/lib/5.15.8/base.pm line 84.
BEGIN failed--compilation aborted at
/usr/perl5.15.8/lib/site_perl/5.15.8/i386-freebsd/Tk/MainWindow.pm line 5.
Compilation failed in require at
/usr/perl5.15.8/lib/site_perl/5.15.8/i386-freebsd/Tk.pm line 192.
Compilation failed in require at (eval 11) line 2.
...propagated at /usr/perl5.15.8/lib/5.15.8/base.pm line 84.
BEGIN failed--compilation aborted at
/usr/perl5.15.8/lib/site_perl/5.15.8/i386-freebsd/Tk/Widget.pm line 12.
Compilation failed in require at
/usr/perl5.15.8/lib/site_perl/5.15.8/i386-freebsd/Tk.pm line 190.
Compilation failed in require at -e line 1.
However, require on a bareword still works:
$ perl5.15.8 -e 'require Tk'
This may be either a bug in perl 5.15.x, or maybe even an intended
behavior change which needs to addressed in CPAN::Reporter, or something
completely different.
Regards,
Slaven