Skip Menu |

This queue is for tickets about the IO-Socket-IP CPAN distribution.

Report information
The Basics
Id: 92107
Status: resolved
Priority: 0/
Queue: IO-Socket-IP

People
Owner: Nobody in particular
Requestors: ether [...] cpan.org
leonerd-cpan [...] leonerd.org.uk
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.25
Fixed in: 0.26



Subject: $VERSION set too late for 'use base' when using Acme::Override::INET
With Acme::Override::INET installed there's a 3-way cyclic dependency IO::Socket::IP -> IO::Socket -> IO::Socket::INET -> IO::Socket::IP This breaks because IO::Socket::IP does use base 'IO::Socket' before it sets its $VERSION, causing IO::Socket::IP does not define $IO::Socket::IP::VERSION--version check failed at /home/leo/lib/perl5/IO/Socket/INET.pm line 28. -- Paul Evans
On Mon Jan 13 06:53:01 2014, PEVANS wrote: Show quoted text
> With Acme::Override::INET installed there's a 3-way cyclic dependency > > IO::Socket::IP -> IO::Socket -> IO::Socket::INET -> IO::Socket::IP > > This breaks because IO::Socket::IP does use base 'IO::Socket' before > it sets its $VERSION, causing > > IO::Socket::IP does not define $IO::Socket::IP::VERSION--version check > failed at /home/leo/lib/perl5/IO/Socket/INET.pm line 28.
Solution: set $VERSION in BEGIN before use base Patch attached. -- Paul Evans
Subject: rt92107.patch
=== modified file 'lib/IO/Socket/IP.pm' --- lib/IO/Socket/IP.pm 2014-01-11 17:20:50 +0000 +++ lib/IO/Socket/IP.pm 2014-01-13 11:54:11 +0000 @@ -4,12 +4,16 @@ # (C) Paul Evans, 2010-2014 -- leonerd@leonerd.org.uk package IO::Socket::IP; +# $VERSION needs to be set before use base 'IO::Socket' +# - https://rt.cpan.org/Ticket/Display.html?id=92107 +BEGIN { + $VERSION = '0.25'; +} use strict; use warnings; use base qw( IO::Socket ); -our $VERSION = '0.25'; use Carp;
Subject: IO::Socket::SSL failed tests while IO::Socket::IP was installed
After uninstalling IO::Socket::SSL, tests passed. Building and testing IO-Socket-SSL-1.963 cp lib/IO/Socket/SSL/Intercept.pm blib/lib/IO/Socket/SSL/Intercept.pm cp lib/IO/Socket/SSL.pm blib/lib/IO/Socket/SSL.pm cp lib/IO/Socket/SSL/Utils.pm blib/lib/IO/Socket/SSL/Utils.pm Manifying blib/man3/IO::Socket::SSL.0 Manifying blib/man3/IO::Socket::SSL::Intercept.0 Manifying blib/man3/IO::Socket::SSL::Utils.0 PERL_DL_NONLAZY=1 /Users/ether/perl5/perlbrew/perls/18.2/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01loadmodule.t ........... ok IO::Socket::IP defines neither package nor VERSION--version check failed at /Users/ether/.perlbrew/libs/18.2@std/lib/perl5/IO/Socket/INET.pm line 38. BEGIN failed--compilation aborted at /Users/ether/.perlbrew/libs/18.2@std/lib/perl5/IO/Socket/INET.pm line 38. Compilation failed in require at /Users/ether/perl5/perlbrew/perls/18.2/lib/5.18.2/darwin-2level/IO/Socket.pm line 22. Compilation failed in require at /Users/ether/.cpanm/work/1389750215.50978/IO-Socket-SSL-1.963/blib/lib/IO/Socket/SSL.pm line 16. BEGIN failed--compilation aborted at /Users/ether/.cpanm/work/1389750215.50978/IO-Socket-SSL-1.963/blib/lib/IO/Socket/SSL.pm line 16. Compilation failed in require at t/io-socket-inet6.t line 10. BEGIN failed--compilation aborted at t/io-socket-inet6.t line 10. t/io-socket-inet6.t ........ Dubious, test returned 255 (wstat 65280, 0xff00) No subtests run t/dhe.t .................... ok t/ecdhe.t .................. ok t/compatibility.t .......... ok t/auto_verify_hostname.t ... ok t/core.t ................... ok t/cert_no_file.t ........... ok t/io-socket-ip.t ........... ok t/npn.t .................... ok t/memleak_bad_handshake.t .. ok t/sessions.t ............... ok t/sni.t .................... ok t/startssl-failed.t ........ ok t/startssl.t ............... ok t/sysread_write.t .......... ok t/verify_hostname.t ........ ok t/mitm.t ................... ok t/readline.t ............... ok t/signal-readline.t ........ ok t/start-stopssl.t .......... ok t/acceptSSL-timeout.t ...... ok t/connectSSL-timeout.t ..... ok t/nonblock.t ............... ok Test Summary Report ------------------- t/io-socket-inet6.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=24, Tests=348, 23 wallclock secs ( 0.19 usr 0.09 sys + 4.20 cusr 1.07 csys = 5.55 CPU) Result: FAIL Failed 1/24 test programs. 0/348 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing IO::Socket::SSL failed. See /Users/ether/.cpanm/work/1389750215.50978/build.log for details. Retry with --force to force install it. -> FAIL Installing the dependencies failed: Module 'IO::Socket::SSL' is not installed
On Tue Jan 14 22:19:57 2014, ETHER wrote: Show quoted text
> IO::Socket::IP defines neither package nor VERSION--version check > failed at > /Users/ether/.perlbrew/libs/18.2@std/lib/perl5/IO/Socket/INET.pm line > 38.
See https://rt.cpan.org/Ticket/Display.html?id=92107 (duplicate) -- Paul Evans
There's a "merge with other ticket" option in RT, in one of the links in the upper right of the ticket metadata. That way both URLs go to the same ticket, so both reporters will be informed regarding the ticket's progress.
Fixed by 0.26 -- Paul Evans
Please merge this ticket into #92107.