Re: MakeMaker warning
On Dec 26, 2007 12:37 PM, Michael G Schwern [EMAIL PROTECTED] wrote: Gabor Szabo wrote: might be slightly unrelated to QAsorry In the future, MakeMaker issues go to [EMAIL PROTECTED] Sorry for that. After installing JOSHUA/Net-Telnet-Cisco-1.10.tar.gz if I run perl Makefile.PL on an unrelated Makefile.PL that requires 'Net::Telnet::Cisco' = '1.10' I get a warning Argument 1.3.1 isn't numeric in numeric lt () at /opt/perl510/lib/5.10.0/ExtUtils/MakeMaker.pm line 414. I did not get this warning before installing Net::Telnet::Cisco Strange thing is that when I ack for 1.3.1 the only place I found it is /opt/perl510/lib/site_perl/5.10.0/Sys/HostIP.pm 7:$VERSION = '1.3.1'; So my diagnostics pointing at Net::Telnet::Cisco might be incorrect. So which module is at fault here? The warning is absolutely correct, 1.3.1 isn't numeric. Nor is it a version object as it probably should be. So that much of Sys::HostIP is wrong. As to why it's happening in your apparently unrelated Makefile.PL, I can't say. Double check that somewhere down the line you're not listing Sys::HostIP as a prereq. Yes, I have forgotten to mention that Sys::HostIP is also in the prereq list in my Makefile.PL. The strange thing is that I seem to get the warning only after I install Net::Telnet::Cisco. Is there a place with definition of what a VERSION value can be ? I looked at the docs of ExtUtils::MakeMaker. It mentions version numbers under VERSION_FROM but only as examples it has examples like 1.2.3 though not in a string format like '1.2.3'. CPANTS thinks it is a correct version number: http://cpants.perl.org/dist/kwalitee/Sys-HostIP Maybe the way CPANTS check isn't correct but I think there is some mismatch. yeah, now its relevant to this mailing list :-) Gabor
Re: MakeMaker warning
Gabor Szabo wrote: Is there a place with definition of what a VERSION value can be ? Anything which compares sanely as a number plus the X.YY_ZZ alpha convention (which MM converts to a number). I guess that's never stated explicitly. I'd welcome a section on $VERSION in ExtUtils::MakeMaker::Tutorial, VERSION_FROM isn't really the right place for it. I looked at the docs of ExtUtils::MakeMaker. It mentions version numbers under VERSION_FROM but only as examples it has examples like 1.2.3 though not in a string format like '1.2.3'. 1.2.3 is an ill fated version string (not to be confused with version objects) introduced in 5.6. I don't think they actually work anyway... no they don't. I'll remove them. CPANTS thinks it is a correct version number: http://cpants.perl.org/dist/kwalitee/Sys-HostIP Maybe the way CPANTS check isn't correct but I think there is some mismatch. It's using CPAN::DistnameInfo which is looking at formatting details. All MakeMaker cares about is capabilities. So there's likely to be some mismatch. It's also not clear that CPAN::DistnameInfo cares about vetting the $VERSION so much as simply extracting it. A simple test for capabilities would be this: $version =~ s/(\d+)\.(\d+)_(\d+)/$1.$2$3/; # turn X.YY_ZZ into X.YYZZ { local $SIG{__WARN__} = sub { die Bad version: @_ }; () = $version = 0; } -- Stabbing you in the face so you don't have to.
Re: MakeMaker warning
Gabor Szabo wrote: might be slightly unrelated to QAsorry In the future, MakeMaker issues go to [EMAIL PROTECTED] After installing JOSHUA/Net-Telnet-Cisco-1.10.tar.gz if I run perl Makefile.PL on an unrelated Makefile.PL that requires 'Net::Telnet::Cisco' = '1.10' I get a warning Argument 1.3.1 isn't numeric in numeric lt () at /opt/perl510/lib/5.10.0/ExtUtils/MakeMaker.pm line 414. I did not get this warning before installing Net::Telnet::Cisco Strange thing is that when I ack for 1.3.1 the only place I found it is /opt/perl510/lib/site_perl/5.10.0/Sys/HostIP.pm 7:$VERSION = '1.3.1'; So my diagnostics pointing at Net::Telnet::Cisco might be incorrect. So which module is at fault here? The warning is absolutely correct, 1.3.1 isn't numeric. Nor is it a version object as it probably should be. So that much of Sys::HostIP is wrong. As to why it's happening in your apparently unrelated Makefile.PL, I can't say. Double check that somewhere down the line you're not listing Sys::HostIP as a prereq. -- Look at me talking when there's science to do. When I look out there it makes me glad I'm not you. I've experiments to be run. There is research to be done On the people who are still alive. -- Jonathan Coulton, Still Alive