cpan-authors / IPC-Run

https://metacpan.org/pod/IPC::Run
Other
21 stars 38 forks source link

Test fail on Debian stretch container #137

Open lacek opened 4 years ago

lacek commented 4 years ago

The problem could be reproduced on 2 different hosts:

  1. Ubuntu 18.04.2 LTS
    • Kernel: 4.15.0-46-generic
    • Docker: 18.09.3
  2. MacOS 10.14.6
    • Docker Desktop: 2.2.0.5 (43884)
    • Docker Engine: 19.03.8

Steps to reproduce:

docker run -it --rm debian:stretch-backports bash
apt-get update
apt-get install -y --no-install-recommends cpanminus make
cpanm IPC::Run

stdout from cpanm:

--> Working on IPC::Run
Fetching http://www.cpan.org/authors/id/T/TO/TODDR/IPC-Run-20180523.0.tar.gz ... OK
Configuring IPC-Run-20180523.0 ... OK
Building and testing IPC-Run-20180523.0 ... FAIL
! Installing IPC::Run failed. See /root/.cpanm/work/1587116390.411/build.log for details. Retry with --force to force install it.

build.log:

cpanm (App::cpanminus) 1.7042 on perl 5.024001 built for x86_64-linux-gnu-thread-multi
Work directory is /root/.cpanm/work/1587116390.411
You have make /usr/bin/make
Falling back to HTTP::Tiny 0.056_001
You have /bin/tar: tar (GNU tar) 1.29
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
Searching IPC::Run () on cpanmetadb ...
--> Working on IPC::Run
Fetching http://www.cpan.org/authors/id/T/TO/TODDR/IPC-Run-20180523.0.tar.gz
-> OK
Unpacking IPC-Run-20180523.0.tar.gz
Entering IPC-Run-20180523.0
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.10_02)
Configuring IPC-Run-20180523.0
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for IPC::Run
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Test::More 0.47 ... Yes (1.001014)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.10_02)
Building and testing IPC-Run-20180523.0
cp lib/IPC/Run/Timer.pm blib/lib/IPC/Run/Timer.pm
cp lib/IPC/Run/IO.pm blib/lib/IPC/Run/IO.pm
cp lib/IPC/Run/Debug.pm blib/lib/IPC/Run/Debug.pm
cp lib/IPC/Run/Win32Helper.pm blib/lib/IPC/Run/Win32Helper.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/Win32IO.pm blib/lib/IPC/Run/Win32IO.pm
Manifying 7 pod documents
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/perl" "-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/autoflush.t ........................ ok
t/binmode.t .......................... ok
t/bogus.t ............................ ok
t/eintr.t ............................ ok
t/filter.t ........................... ok
t/harness.t .......................... ok
t/io.t ............................... ok
t/kill_kill.t ........................ ok
t/parallel.t ......................... ok
t/pty.t .............................. skipped: IO::Pty not installed
t/pump.t ............................. ok
t/readonly.t ......................... skipped: Readonly is require for this test to work.
t/run.t .............................. ok
t/run_stdin-callback-return-array.t .. ok
t/signal.t ........................... ok
t/timeout.t .......................... ok
t/timer.t ............................ ok
t/utf8.t ............................. ok
Constant subroutine IPPROTO_TCP redefined at /usr/lib/x86_64-linux-gnu/perl/5.24/Socket.pm line 4294967295.
No such file or directory: getprotobyname('tcp') at t/win32_compile.t line 90.
Compilation failed in require at t/win32_compile.t line 90.
BEGIN failed--compilation aborted at t/win32_compile.t line 90.
t/win32_compile.t ....................
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
t/windows_search_path.t .............. ok

Test Summary Report
-------------------
t/win32_compile.t                  (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=25, Tests=680, 15 wallclock secs ( 0.15 usr  0.05 sys +  1.28 cusr  0.46 csys =  1.94 CPU)
Result: FAIL
Failed 1/25 test programs. 0/680 subtests failed.
Makefile:878: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255
-> FAIL Installing IPC::Run failed. See /root/.cpanm/work/1587116390.411/build.log for details. Retry with --force to force install it.
ytnobody commented 4 years ago

Today I encountered same issue. It seems t/win32_compile.t must be skipped on non-Windows environment.

tomaszov commented 9 months ago

Hi, Could you pls help me how to do that? I'm trying to build Perl-bundle-CPAN_5.36.1 with Easybuild in a docker container (Ubuntu 22.04), and I get this:

No such file or directory: getprotobyname('tcp') at t/win32_compile.t line 109. Compilation failed in require at t/win32_compile.t line 109. BEGIN failed--compilation aborted at t/win32_compile.t line 109.

Today I encountered same issue. It seems t/win32_compile.t must be skipped on non-Windows environment.