Skip Menu |

This queue is for tickets about the Tcl-pTk CPAN distribution.

Report information
The Basics
Id: 128627
Status: resolved
Priority: 0/
Queue: Tcl-pTk

People
Owner: CAC [...] cpan.org
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.95
Fixed in: 0.96



Subject: Can't locate sys/ioctl.ph
Self-compiled perls typically don't have the .ph files available. On these systems the fileevent tests fail: ... Can't locate sys/ioctl.ph in @INC (did you run h2ph?) (@INC contains: ....) at /home/eserte/.cpan/build/2019022508/Tcl-pTk-0.95-_dMEoq/blib/lib/Tcl/pTk/Widget.pm line 2149. Unable to flush stdout: Broken pipet/fileevent.t ................. Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Can't locate sys/ioctl.ph in @INC (did you run h2ph?) (@INC contains: ....) at /home/eserte/.cpan/build/2019022508/Tcl-pTk-0.95-_dMEoq/blib/lib/Tcl/pTk/Widget.pm line 2149. Unable to flush stdout: Broken pipet/fileevent2.t ................ Dubious, test returned 2 (wstat 512, 0x200) Failed 1/1 subtests ...
On Mon Feb 25 14:04:15 2019, SREZIC wrote:
Show quoted text
> Self-compiled perls typically don't have the .ph files available. On
> these systems the fileevent tests fail:
>
> ...
> Can't locate sys/ioctl.ph in @INC (did you run h2ph?) (@INC contains:
> ....) at /home/eserte/.cpan/build/2019022508/Tcl-pTk-0.95-
> _dMEoq/blib/lib/Tcl/pTk/Widget.pm line 2149.
> Unable to flush stdout: Broken pipet/fileevent.t .................
> Dubious, test returned 2 (wstat 512, 0x200)
> Failed 2/2 subtests
> Can't locate sys/ioctl.ph in @INC (did you run h2ph?) (@INC contains:
> ....) at /home/eserte/.cpan/build/2019022508/Tcl-pTk-0.95-
> _dMEoq/blib/lib/Tcl/pTk/Widget.pm line 2149.
> Unable to flush stdout: Broken pipet/fileevent2.t ................
> Dubious, test returned 2 (wstat 512, 0x200)
> Failed 1/1 subtests
> ...

Thanks for reporting this, I was not aware of this issue affecting Linux and self-compiled Perls specifically, even though I was aware it affected BSD/macOS (one of the reasons I decided to skip fileevent tests on those platforms).

A better solution to this will probably involve eval { require 'sys/ioctl.ph' } and skipping if $@ catches anything, then I can just leave the tests as TODO on BSD/macOS.
Here's what I ended up with: https://github.com/chrstphrchvz/perl-tcl-ptk/commit/75abce83f7e

For reference, I had also asked on PerlMonks why I couldn't put a require 'sys/ioctl.ph' statement in the test without breaking FIONREAD() usage inside Tcl::pTk: https://www.perlmonks.org/?node_id=1230761

I will probably upload another release to see if this and the other top reason for FAIL reports are now addressed.