Search code examples
perltimeoutinstallationperl-ipc-run

SIGBREAK during tests while installing IPC::Run on Windows 10 x64


I can't install IPC::Run on Windows 10 x64:

cpan> install IPC::Run
Running install for module 'IPC::Run'
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/T/TO/TODDR/CHECKSUMS
Checksum for E:\Perl\cpan\sources\authors\id\T\TO\TODDR\IPC-Run-0.94.tar.gz ok
IPC-Run-0.94/
IPC-Run-0.94/abuse/
IPC-Run-0.94/Changes
IPC-Run-0.94/eg/
IPC-Run-0.94/lib/
IPC-Run-0.94/LICENSE
IPC-Run-0.94/Makefile.PL
IPC-Run-0.94/MANIFEST
IPC-Run-0.94/META.json
IPC-Run-0.94/META.yml
IPC-Run-0.94/README
IPC-Run-0.94/t/
IPC-Run-0.94/TODO
IPC-Run-0.94/t/97_meta.t
IPC-Run-0.94/t/98_pod.t
IPC-Run-0.94/t/98_pod_coverage.t
IPC-Run-0.94/t/99_perl_minimum_version.t
IPC-Run-0.94/t/adopt.t
IPC-Run-0.94/t/binmode.t
IPC-Run-0.94/t/bogus.t
IPC-Run-0.94/t/filter.t
IPC-Run-0.94/t/harness.t
IPC-Run-0.94/t/io.t
IPC-Run-0.94/t/kill_kill.t
IPC-Run-0.94/t/lib/
IPC-Run-0.94/t/parallel.t
IPC-Run-0.94/t/pty.t
IPC-Run-0.94/t/pump.t
IPC-Run-0.94/t/run.t
IPC-Run-0.94/t/signal.t
IPC-Run-0.94/t/timeout.t
IPC-Run-0.94/t/timer.t
IPC-Run-0.94/t/win32_compile.t
IPC-Run-0.94/t/windows_search_path.t
IPC-Run-0.94/t/lib/Test.pm
IPC-Run-0.94/lib/IPC/
IPC-Run-0.94/lib/IPC/Run/
IPC-Run-0.94/lib/IPC/Run.pm
IPC-Run-0.94/lib/IPC/Run/Debug.pm
IPC-Run-0.94/lib/IPC/Run/IO.pm
IPC-Run-0.94/lib/IPC/Run/Timer.pm
IPC-Run-0.94/lib/IPC/Run/Win32Helper.pm
IPC-Run-0.94/lib/IPC/Run/Win32IO.pm
IPC-Run-0.94/lib/IPC/Run/Win32Pump.pm
IPC-Run-0.94/eg/factorial
IPC-Run-0.94/eg/factorial_pipe
IPC-Run-0.94/eg/factorial_scalar
IPC-Run-0.94/eg/run_daemon
IPC-Run-0.94/eg/runsh
IPC-Run-0.94/eg/runsu
IPC-Run-0.94/eg/synopsis_scripting
IPC-Run-0.94/abuse/blocking_debug_with_sub_coprocess
IPC-Run-0.94/abuse/blocking_writes
IPC-Run-0.94/abuse/broken_pipe_on_bad_executable_name
IPC-Run-0.94/abuse/timers
Configuring T/TO/TODDR/IPC-Run-0.94.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for IPC::Run
Writing MYMETA.yml and MYMETA.json
  TODDR/IPC-Run-0.94.tar.gz
  E:\Perl\bin\perl.exe Makefile.PL INSTALLDIRS=site -- OK
Running make for T/TO/TODDR/IPC-Run-0.94.tar.gz
cp lib/IPC/Run/Win32IO.pm blib\lib\IPC\Run\Win32IO.pm
cp lib/IPC/Run/Win32Helper.pm blib\lib\IPC\Run\Win32Helper.pm
cp lib/IPC/Run/Debug.pm blib\lib\IPC\Run\Debug.pm
cp lib/IPC/Run/Win32Pump.pm blib\lib\IPC\Run\Win32Pump.pm
cp lib/IPC/Run.pm blib\lib\IPC\Run.pm
cp lib/IPC/Run/IO.pm blib\lib\IPC\Run\IO.pm
cp lib/IPC/Run/Timer.pm blib\lib\IPC\Run\Timer.pm
  TODDR/IPC-Run-0.94.tar.gz
  E:\BIOINF~1\perl\site\bin\dmake.exe -- OK
Running make test
E:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/97_meta.t .................. skipped: Author tests not required for installation
t/98_pod.t ................... skipped: Author tests not required for installation
t/98_pod_coverage.t .......... skipped: Author tests not required for installation
t/99_perl_minimum_version.t .. skipped: Author tests not required for installation
t/adopt.t .................... skipped: adopt not implemented yet
t/binmode.t .................. ok
t/bogus.t .................... ok
t/filter.t ................... ok
t/harness.t .................. ok
t/io.t ....................... ok
t/kill_kill.t ................ skipped: Temporarily ignoring test failure on Win32
t/parallel.t ................. skipped: Parallel tests are dangerous on MSWin32
t/pty.t ...................... skipped: IO::Pty not installed
t/pump.t ..................... ok
t/run.t ...................... ok
t/signal.t ................... skipped: Skipping on Win32
t/timeout.t .................. 9/26 Terminating on signal SIGBREAK(21)
Terminating on signal SIGBREAK(21)
Terminating on signal SIGBREAK(21)
Terminating on signal SIGBREAK(21)
Terminating on signal SIGBREAK(21)
Terminating on signal SIGBREAK(21)

Then it presents me with a prompt...

Terminate batch job (Y/N)? N

...after which it (obviously) terminates. It looks like I had pressed Ctrl-Break several times during the installation but I didn't. The behaviour is repeatable. Does anyone have an idea of what's going on?


Solution

  • This is a bug, and there is an outstanding ticket for it

    I suggest that you just force the installation with

    cpan> force install IPC::Run
    

    which will cause it to run the tests but ignore the result and go ahead and complete the installation anyway

    Alternatively, you can run the installation manually as described in perlmodinstall, but skipping the test phase

    cpan> look IPC::Run
    C:\strawberry\cpan\build\IPC-Run-0.94-0>perl Makefile.PL
    C:\strawberry\cpan\build\IPC-Run-0.94-0>dmake
    C:\strawberry\cpan\build\IPC-Run-0.94-0>dmake install
    

    This is assuming you are running Strawberry Perl. You may have to use a different make tool for ActivePerl