Summary: | lang/perl5.20: Argument "2.49_01" isn't numeric | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Dušan Vejnovič <freebsd> |
Component: | Individual Port(s) | Assignee: | freebsd-perl (Nobody) <perl> |
Status: | Closed Overcome By Events | ||
Severity: | Affects Many People | CC: | freebsd, freebsd, jbtakk, koobs, mva |
Priority: | --- | Keywords: | needs-qa |
Version: | Latest | Flags: | koobs:
maintainer-feedback?
(perl) |
Hardware: | Any | ||
OS: | Any | ||
See Also: | https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200480 |
Description
Dušan Vejnovič
2015-05-21 16:56:09 UTC
This bug is a showstopper here. won't build: automake autoconf any p5 port AFAIK this affects a great minority or the majority of ports I've installed. won't run gprename (etc etc) especially CLI ones that depend on perl I've posted details to the freebsd-perl and freebsd-questions lists within the past week... See three near-identical build failures below, for example perl5-5.20.2_4 10.1-STABLE r280322 Script started on Fri May 22 06:39:37 2015 command: make build ===> Found saved configuration for p5-Module-Signature-0.79 ===> p5-Module-Signature-0.79 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by p5-Module-Signature-0.79 for building ===> Extracting for p5-Module-Signature-0.79 => SHA256 Checksum OK for Module-Signature-0.79.tar.gz. ===> Patching for p5-Module-Signature-0.79 ===> p5-Module-Signature-0.79 depends on package: p5-PAR-Dist>=0 - found ===> p5-Module-Signature-0.79 depends on executable: gpgv2 - found ===> p5-Module-Signature-0.79 depends on executable: gcc49 - found ===> p5-Module-Signature-0.79 depends on file: /usr/local/bin/as - found ===> p5-Module-Signature-0.79 depends on file: /usr/local/bin/perl5.20.2 - found ===> Configuring for p5-Module-Signature-0.79 Invalid version format (non-numeric data) at /usr/local/lib/perl5/5.20/vars.pm line 3. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.20/vars.pm line 3. Compilation failed in require at /usr/local/lib/perl5/site_perl/inc/Module/Install.pm line 14. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/inc/Module/Install.pm line 14. Compilation failed in require at ./Makefile.PL line 2. BEGIN failed--compilation aborted at ./Makefile.PL line 2. *** Error code 255 Stop. make[1]: stopped in /usr/ports/security/p5-Module-Signature *** Error code 1 Stop. make: stopped in /usr/ports/security/p5-Module-Signature Script done on Fri May 22 06:39:38 2015 Script started on Fri May 22 06:40:08 2015 command: make build ===> License ART10 GPLv1 accepted by the user ===> p5-IO-AIO-4.32 depends on file: /usr/local/sbin/pkg - found => IO-AIO-4.32.tar.gz doesn't seem to exist in /usr/ports/distfiles/. => Attempting to fetch http://cpan.metacpan.org/modules/by-module/IO/IO-AIO-4.32.tar.gz --2015-05-22 06:40:08-- http://cpan.metacpan.org/modules/by-module/IO/IO-AIO-4.32.tar.gz Resolving cpan.metacpan.org (cpan.metacpan.org)... 23.235.47.192, 199.27.79.192 Connecting to cpan.metacpan.org (cpan.metacpan.org)|23.235.47.192|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 150475 (147K) [application/x-gzip] Saving to: 'IO-AIO-4.32.tar.gz' IO-AIO-4.32.tar.gz 0%[ ] 0 --.-KB/s IO-AIO-4.32.tar.gz 20%[========> ] 29.70K 148KB/s IO-AIO-4.32.tar.gz 39%[=================> ] 57.98K 145KB/s IO-AIO-4.32.tar.gz 59%[===========================> ] 87.67K 144KB/s IO-AIO-4.32.tar.gz 79%[====================================> ] 117.37K 145KB/s IO-AIO-4.32.tar.gz 100%[==============================================>] 146.95K 146KB/s in 1.0s 2015-05-22 06:40:09 (146 KB/s) - 'IO-AIO-4.32.tar.gz' saved [150475/150475] ===> Fetching all distfiles required by p5-IO-AIO-4.32 for building ===> Extracting for p5-IO-AIO-4.32 => SHA256 Checksum OK for IO-AIO-4.32.tar.gz. ===> Patching for p5-IO-AIO-4.32 ===> p5-IO-AIO-4.32 depends on package: p5-common-sense>=0 - found ===> p5-IO-AIO-4.32 depends on executable: gcc49 - found ===> p5-IO-AIO-4.32 depends on file: /usr/local/bin/as - found ===> p5-IO-AIO-4.32 depends on file: /usr/local/bin/perl5.20.2 - found ===> Configuring for p5-IO-AIO-4.32 Invalid version format (non-numeric data) at ./Makefile.PL line 1. BEGIN failed--compilation aborted at ./Makefile.PL line 1. *** Error code 255 Stop. make: stopped in /usr/ports/devel/p5-IO-AIO Script done on Fri May 22 06:40:09 2015 Script started on Fri May 22 06:40:30 2015 command: make build ===> p5-Devel-Caller-2.06_1 depends on file: /usr/local/sbin/pkg - found => Devel-Caller-2.06.tar.gz doesn't seem to exist in /usr/ports/distfiles/. => Attempting to fetch http://distcache.FreeBSD.org/ports-distfiles/Devel-Caller-2.06.tar.gz --2015-05-22 06:40:30-- http://distcache.freebsd.org/ports-distfiles/Devel-Caller-2.06.tar.gz Resolving distcache.freebsd.org (distcache.freebsd.org)... 149.20.53.28, 2001:4f8:3:ffe0:406a:0:16:1c Connecting to distcache.freebsd.org (distcache.freebsd.org)|149.20.53.28|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 6540 (6.4K) [application/octet-stream] Saving to: 'Devel-Caller-2.06.tar.gz' Devel-Caller-2.06.tar.gz 0%[ ] 0 --.-KB/s Devel-Caller-2.06.tar.gz 100%[==============================================>] 6.39K --.-KB/s in 0.04s 2015-05-22 06:40:31 (165 KB/s) - 'Devel-Caller-2.06.tar.gz' saved [6540/6540] ===> Fetching all distfiles required by p5-Devel-Caller-2.06_1 for building ===> Extracting for p5-Devel-Caller-2.06_1 => SHA256 Checksum OK for Devel-Caller-2.06.tar.gz. ===> Patching for p5-Devel-Caller-2.06_1 ===> p5-Devel-Caller-2.06_1 depends on package: p5-PadWalker>=0.08 - found ===> p5-Devel-Caller-2.06_1 depends on executable: gcc49 - found ===> p5-Devel-Caller-2.06_1 depends on file: /usr/local/bin/as - found ===> p5-Devel-Caller-2.06_1 depends on file: /usr/local/bin/perl5.20.2 - found ===> Configuring for p5-Devel-Caller-2.06_1 Invalid version format (non-numeric data) at /usr/local/lib/perl5/site_perl/ExtUtils/MakeMaker.pm line 6. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/ExtUtils/MakeMaker.pm line 6. Compilation failed in require at ./Makefile.PL line 4. BEGIN failed--compilation aborted at ./Makefile.PL line 4. *** Error code 255 Stop. make: stopped in /usr/ports/devel/p5-Devel-Caller Script done on Fri May 22 06:40:31 2015 This is a "use locale" delta between 5.18 5.20 from what I've read on the web. Also, it may be absent on systems where LANG and/or LC_ALL are set to where it does not make problems. and/or all modules in site_perl should be modified to the correct behavior, one of which may be adding "use locale" ... Totally inexperienced in all this -- so unsure of a fix. Correctly assign to perl@ Marcus, should auto-assigner have correctly assigned this to perl@? If so, there may be an issue with port names that include dots (.) You must have quite a strange setup. Does this work ? $ perl -e 'print 3 >= 2.49_01' 1 $ (for me, it produces the same result on 5.8, 5.18, 5.20 and 5.22) what do you have in your environment ? and your /etc/make.conf Do J B's first & second replies are related to OP (problem in fork.pm)? If not, J B should file a separate PR, and J B's comments should be culled from this PR(200370). The "X isn't numeric" message is reproducible when apparently-non-number is quoted && warnings pragma is in effect ... # perl -Mwarnings -e 'print 3 >= "2.49_01" ' Argument "2.49_01" isn't numeric in numeric ge (>=) at -e line 1. 1 It is certainly not surprising to find a program/module version being quoted. (In reply to parv from comment #8) > The "X isn't numeric" message is reproducible when apparently-non-number is > quoted && warnings pragma is in effect ... > > # perl -Mwarnings -e 'print 3 >= "2.49_01" ' > Argument "2.49_01" isn't numeric in numeric ge (>=) at -e line 1. > 1 > > > It is certainly not surprising to find a program/module version being quoted. But it's still only a warning, it does not break anything, it's Perl telling you "you're coding like a moron, but I get what you mean" : $ perl -Mwarnings -e 'print 3 <=> "2.49_01" ' Argument "2.49_01" isn't numeric in numeric comparison (<=>) at -e line 1. 1 $ perl -Mwarnings -e 'print 2 <=> "2.49_01" ' Argument "2.49_01" isn't numeric in numeric comparison (<=>) at -e line 1. -1 $ The problem is in forks module itself ... https://rt.cpan.org/Public/Bug/Display.html?id=102730 ... mentioned in still open 3-month old ticket. (In reply to J. B. from comment #1) > Invalid version format (non-numeric data) at > /usr/local/lib/perl5/5.20/vars.pm line 3. What is on line 3 of that file ? if it's not "use 5.006;" you have a different file than should be. If it's the same, could you run "make -dx" and tell us what is the last command that's run, it should be something like this: /usr/bin/env ac_cv_path_PERL=/usr/local/bin/perl ac_cv_path_PERL_PATH=/usr/local/bin/perl XDG_DATA_HOME=/usr/ports/devel/p5-AnyData/work XDG_CONFIG_HOME=/usr/ports/devel/p5-AnyData/work HOME=/usr/ports/devel/p5-AnyData/work SHELL=/bin/sh CONFIG_SHELL=/bin/sh PERL_EXTUTILS_AUTOINSTALL=--skipdeps /usr/local/bin/perl5.20.2 ./Makefile.PL INSTALLDIRS=site CC=cc 'CCFLAGS=-O2 -pipe -march=pentium4 -fstack-protector -fno-strict-aliasing' PREFIX=/usr/local INSTALLPRIVLIB=/usr/local/lib INSTALLARCHLIB=/usr/local/lib (I ran it in devel/p5-AnyData, but it should be similar.) Does it run /usr/local/bin/perl5.20.2 ? (In reply to parv from comment #10) > The problem is in forks module itself ... > > https://rt.cpan.org/Public/Bug/Display.html?id=102730 > > > ... mentioned in still open 3-month old ticket. Mmmm, yes, sorry, I got mixed up with the two problems reported here, the forks.pm warning is annoying, but it's not a problem, everything still works: root@pkg-aragorn:/wrkdirs/usr/ports/devel/p5-forks/work/forks-0.36 # make test PERL_DL_NONLAZY=1 /usr/local/bin/perl5.20.2 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/forks00-requirements.t .. ok t/forks00-sigtrap.t ....... ok t/forks01.t ............... Argument "2.49_01" isn't numeric in numeric ge (>=) at /wrkdirs/usr/ports/devel/p5-forks/work/forks-0.36/blib/lib/forks.pm line 1570. # # These tests exercise general API compatibility and behavior. # t/forks01.t ............... ok t/forks02.t ............... Argument "2.49_01" isn't numeric in numeric ge (>=) at /wrkdirs/usr/ports/devel/p5-forks/work/forks-0.36/blib/lib/forks.pm line 1570. [.........] All tests successful. Files=14, Tests=396, 158 wallclock secs ( 0.12 usr 0.04 sys + 6.84 cusr 2.21 csys = 9.21 CPU) Result: PASS Upgraded the v10 problematic system to an already-working r281990 (CURRENT). Perl is working again. FWIW even pkg is working, originally "pkg upgrade" had problems. |