http://qs1969.pair.com?node_id=11134391

programmingzeal has asked for the wisdom of the Perl Monks concerning the following question:

I am having problems when installing module IO::Async::Loop on windows 10 strawberry Perl. Can anybody help? Here is the output log.
Microsoft Windows [Version 10.0.17763.1613] (c) 2018 Microsoft Corporation. All rights reserved. cpan Unable to get Terminal Size. The Win32 GetConsoleScreenBufferInfo call + didn't work. The COLUMNS and LINES environment variables didn't work +. at C:\Strawberry\perl\vendor\lib/Term/ReadLine/readline.pm line 410 +. cpan shell -- CPAN exploration and modules installation (v2.20) Enter 'h' for help. cpan> install IO::Async::Loop Fetching with LWP: http://cpan.strawberryperl.com/authors/01mailrc.txt.gz Fetching with LWP: http://cpan.strawberryperl.com/modules/02packages.details.txt.gz Fetching with LWP: http://cpan.strawberryperl.com/modules/03modlist.data.gz Database was generated on Sun, 27 Jun 2021 04:42:28 GMT Updating database file ... Done! Running install for module 'IO::Async::Loop' Checksum for C:\Strawberry\cpan\sources\authors\id\P\PE\PEVANS\IO-Asyn +c-0.78.tar.gz ok Scanning cache C:\Strawberry\cpan\build for sizes ...................................................................... +......DONE Configuring P/PE/PEVANS/IO-Async-0.78.tar.gz with Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'IO-Async' version '0.78' PEVANS/IO-Async-0.78.tar.gz C:\Strawberry\perl\bin\perl.exe Build.PL -- OK Running Build for P/PE/PEVANS/IO-Async-0.78.tar.gz Building IO-Async PEVANS/IO-Async-0.78.tar.gz C:\Strawberry\perl\bin\perl.exe ./Build -- OK Running Build test t\00use.t .................... ok t\01timequeue.t .............. ok t\02os.t ..................... ok t\03loop-magic.t ............. ok t\04notifier.t ............... ok t\05notifier-loop.t .......... ok t\06notifier-mixin.t ......... ok t\07notifier-future.t ........ ok t\10loop-poll-io.t ........... ok t\10loop-select-io.t ......... ok t\11loop-poll-timer.t ........ ok t\11loop-select-timer.t ...... ok t\12loop-poll-signal.t ....... skipped: This OS does not have signals t\12loop-select-signal.t ..... skipped: This OS does not have signals t\13loop-poll-idle.t ......... ok t\13loop-select-idle.t ....... ok t\14loop-poll-process.t ...... ok t\14loop-select-process.t .... ok t\15loop-poll-control.t ...... ok t\15loop-select-control.t .... ok t\16loop-poll-metrics.t ...... ok t\16loop-select-metrics.t .... ok t\18loop-poll-legacy.t ....... ok t\18loop-select-legacy.t ..... ok t\19loop-future.t ............ ok t\19test.t ................... ok t\20handle.t ................. ok t\21stream-1read.t ........... ok t\21stream-2write.t .......... ok t\21stream-3split.t .......... ok t\21stream-4encoding.t ....... ok t\22timer-absolute.t ......... ok t\22timer-countdown.t ........ ok t\22timer-periodic.t ......... ok t\23signal.t ................. skipped: This OS does not have signals t\24listener.t ............... ok t\25socket.t ................. ok t\26pid.t .................... ok t\27file.t ................... ok t\28filestream.t ............. ok t\30loop-fork.t .............. skipped: POSIX fork() is not available t\31loop-spawnchild.t ........ skipped: POSIX fork() is not available t\32loop-spawnchild-setup.t .. skipped: POSIX fork() is not available t\33process.t ................ skipped: POSIX fork() is not available t\34process-handles.t ........ skipped: POSIX fork() is not available t\35loop-openprocess.t ....... skipped: POSIX fork() is not available t\36loop-runchild.t .......... skipped: POSIX fork() is not available t\37loop-child-root.t ........ skipped: POSIX fork() is not available t\38loop-thread.t ............ ok t\39loop-runproccess.t ....... skipped: POSIX fork() is not available t\40channel.t ................ ok t\41routine.t ................ ok t\42function.t ............... ok t\50resolver.t ............... ok t\51loop-connect.t ........... 1/? Socket::pack_sockaddr_un not implem +ented on this architecture at C:\Strawberry\cpan\build\IO-Async-0.78- +2\blib\lib/IO/Async/OS.pm line 521. # Tests were run but no plan was declared and done_testing() was not s +een. # Looks like your test exited with 25 just after 24. t\51loop-connect.t ........... Dubious, test returned 25 (wstat 6400, +0x1900) All 24 subtests passed t\52loop-listen.t ............ ok t\53loop-extend.t ............ ok t\60protocol.t ............... ok t\61protocol-stream.t ........ ok t\62protocol-linestream.t .... ok t\63handle-connect.t ......... ok t\64handle-bind.t ............ ok t\70future-io.t .............. 1/? Nothing was ready after 10 second w +ait; called at C:\Strawberry\cpan\build\IO-Async-0.78-2\blib\lib/IO/A +sync/Test.pm line 214 # Tests were run but no plan was declared and done_testing() was not s +een. # Looks like your test exited with 255 just after 3. t\70future-io.t .............. Dubious, test returned 255 (wstat 65280 +, 0xff00) All 3 subtests passed t\99pod.t .................... ok Test Summary Report ------------------- t\51loop-connect.t (Wstat: 6400 Tests: 24 Failed: 0) Non-zero exit status: 25 Parse errors: No plan found in TAP output t\70future-io.t (Wstat: 65280 Tests: 3 Failed: 0) Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=64, Tests=1233, 141 wallclock secs ( 0.48 usr + 0.66 sys = 1.1 +4 CPU) Result: FAIL Failed 2/64 test programs. 0/1233 subtests failed. PEVANS/IO-Async-0.78.tar.gz C:\Strawberry\perl\bin\perl.exe ./Build test -- NOT OK //hint// to see the cpan-testers results for installing this module, t +ry: reports PEVANS/IO-Async-0.78.tar.gz Stopping: 'install' failed for 'IO::Async::Loop'. Failed during this command: PEVANS/IO-Async-0.78.tar.gz : make_test NO cpan>
  • Comment on Unable to install module IO::Async::Loop on windows 10 strawberry Perl
  • Download Code

Replies are listed 'Best First'.
Re: Unable to install module IO::Async::Loop on windows 10 strawberry Perl
by hippo (Bishop) on Jun 28, 2021 at 15:38 UTC

    The matrix shows a majority of failures on MSWin32 (and no passes at all on cygwin). There is also a bug report which includes a comment by Wes Malone with what appears to be the same problem as you have.


    🦛

Re: Unable to install module IO::Async::Loop on windows 10 strawberry Perl
by syphilis (Archbishop) on Jun 29, 2021 at 01:04 UTC
    Can anybody help?

    What is the output of perl -V ?

    On Windows 7, with Strawberry Perls 5.26.0 (MSWin32-x86-multi-thread-64int), 5.26.0 (MSWin32-x64-multi-thread) and 5.32.0 (MSWin32-x64-multi-thread) the module is building, testing and installing fine for me.

    Cheers,
    Rob

    PS: you could install the module by running cpan -fi IO::Async::Loop if you're not worried about the failing tests.

      An additional positive effect of force-install (cpan -f) is that it will force-recompile XS-dependent modules and bring them up-to-date with current perl and system libraries unsuspectingly upgraded. If all else fails, it is worth force-installing all cpan modules. I don't know how to do that in Windows.

      bw, bliako

      The output of perl -V is as follows:
      perl -V Summary of my perl5 (revision 5 version 28 subversion 0) configuration +: Platform: osname=MSWin32 osvers=10.0.17134.112 archname=MSWin32-x64-multi-thread uname='Win32 strawberry-perl 5.28.0.1 #1 Sat Jun 23 13:55:45 2018 +x64' config_args='undef' hint=recommended useposix=true d_sigaction=undef useithreads=define usemultiplicity=define use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='gcc' ccflags =' -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANS +I_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLIC +IT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields' optimize='-s -O2' cppflags='-DWIN32' ccversion='' gccversion='7.1.0' gccosandvers='' intsize=4 longsize=4 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long long' ivsize=8 nvtype='double' nvsize=8 Off_t='long long' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='g++' ldflags ='-s -L"C:\Strawberry\perl\lib\CORE" -L"C:\Strawberry\c\li +b"' libpth=C:\Strawberry\c\lib C:\Strawberry\c\x86_64-w64-mingw32\lib +C:\Strawberry\c\lib\gcc\x86_64-w64-mingw32\7.1.0 libs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 + -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 - +lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomd +lg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_ +32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 libc= so=dll useshrplib=true libperl=libperl528.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs dlext=xs.dll d_dlsymun=undef ccdlflags=' ' cccdlflags=' ' lddlflags='-mdll -s -L"C:\Strawberry\perl\lib\CORE" -L"C:\Strawber +ry\c\lib"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF Built under MSWin32 Compiled at Jun 23 2018 14:00:04 @INC: C:/Strawberry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/lib
      After upgrading Socket by cpan> install Socket command I tried to force install it and the output I got is as follows:
      cpan -fi IO::Async::Loop CPAN: CPAN::SQLite loaded ok (v0.211) Database was generated on Mon, 28 Jun 2021 11:46:57 GMT Running install for module 'IO::Async::Loop' CPAN: Digest::SHA loaded ok (v6.02) CPAN: Compress::Zlib loaded ok (v2.081) Checksum for C:\Strawberry\cpan\sources\authors\id\P\PE\PEVANS\IO-Asyn +c-0.78.tar.gz ok CPAN: Archive::Tar loaded ok (v2.30) CPAN: YAML::XS loaded ok (v0.70) CPAN: CPAN::Meta::Requirements loaded ok (v2.140) CPAN: Parse::CPAN::Meta loaded ok (v2.150010) CPAN: CPAN::Meta loaded ok (v2.150010) CPAN: Module::CoreList loaded ok (v5.20210220) Configuring P/PE/PEVANS/IO-Async-0.78.tar.gz with Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'IO-Async' version '0.78' PEVANS/IO-Async-0.78.tar.gz C:\Strawberry\perl\bin\perl.exe Build.PL -- OK Running Build for P/PE/PEVANS/IO-Async-0.78.tar.gz Building IO-Async PEVANS/IO-Async-0.78.tar.gz C:\Strawberry\perl\bin\perl.exe ./Build -- OK Running Build test t\00use.t .................... ok t\01timequeue.t .............. ok t\02os.t ..................... ok t\03loop-magic.t ............. ok t\04notifier.t ............... ok t\05notifier-loop.t .......... ok t\06notifier-mixin.t ......... ok t\07notifier-future.t ........ ok t\10loop-poll-io.t ........... ok t\10loop-select-io.t ......... ok t\11loop-poll-timer.t ........ ok t\11loop-select-timer.t ...... ok t\12loop-poll-signal.t ....... skipped: This OS does not have signals t\12loop-select-signal.t ..... skipped: This OS does not have signals t\13loop-poll-idle.t ......... ok t\13loop-select-idle.t ....... ok t\14loop-poll-process.t ...... ok t\14loop-select-process.t .... ok t\15loop-poll-control.t ...... ok t\15loop-select-control.t .... ok t\16loop-poll-metrics.t ...... ok t\16loop-select-metrics.t .... ok t\18loop-poll-legacy.t ....... ok t\18loop-select-legacy.t ..... ok t\19loop-future.t ............ ok t\19test.t ................... ok t\20handle.t ................. ok t\21stream-1read.t ........... ok t\21stream-2write.t .......... ok t\21stream-3split.t .......... ok t\21stream-4encoding.t ....... ok t\22timer-absolute.t ......... ok t\22timer-countdown.t ........ ok t\22timer-periodic.t ......... ok t\23signal.t ................. skipped: This OS does not have signals t\24listener.t ............... ok t\25socket.t ................. ok t\26pid.t .................... ok t\27file.t ................... ok t\28filestream.t ............. ok t\30loop-fork.t .............. skipped: POSIX fork() is not available t\31loop-spawnchild.t ........ skipped: POSIX fork() is not available t\32loop-spawnchild-setup.t .. skipped: POSIX fork() is not available t\33process.t ................ skipped: POSIX fork() is not available t\34process-handles.t ........ skipped: POSIX fork() is not available t\35loop-openprocess.t ....... skipped: POSIX fork() is not available t\36loop-runchild.t .......... skipped: POSIX fork() is not available t\37loop-child-root.t ........ skipped: POSIX fork() is not available t\38loop-thread.t ............ ok t\39loop-runproccess.t ....... skipped: POSIX fork() is not available t\40channel.t ................ ok t\41routine.t ................ ok t\42function.t ............... ok t\50resolver.t ............... ok t\51loop-connect.t ........... ok t\52loop-listen.t ............ ok t\53loop-extend.t ............ ok t\60protocol.t ............... ok t\61protocol-stream.t ........ ok t\62protocol-linestream.t .... ok t\63handle-connect.t ......... ok t\64handle-bind.t ............ ok t\70future-io.t .............. 1/? Nothing was ready after 10 second w +ait; called at C:\Strawberry\cpan\build\IO-Async-0.78-5\blib\lib/IO/A +sync/Test.pm line 214 # Tests were run but no plan was declared and done_testing() was not s +een. # Looks like your test exited with 255 just after 3. t\70future-io.t .............. Dubious, test returned 255 (wstat 65280 +, 0xff00) All 3 subtests passed t\99pod.t .................... ok Test Summary Report ------------------- t\70future-io.t (Wstat: 65280 Tests: 3 Failed: 0) Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=64, Tests=1248, 142 wallclock secs ( 0.64 usr + 0.59 sys = 1.2 +3 CPU) Result: FAIL Failed 1/64 test programs. 0/1248 subtests failed. PEVANS/IO-Async-0.78.tar.gz C:\Strawberry\perl\bin\perl.exe ./Build test -- NOT OK //hint// to see the cpan-testers results for installing this module, t +ry: reports PEVANS/IO-Async-0.78.tar.gz Running Build install Building IO-Async Installing C:\Strawberry\perl\site\lib\Future\IO\Impl\IOAsync.pm Installing C:\Strawberry\perl\site\lib\IO\Async.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Channel.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Debug.pm Installing C:\Strawberry\perl\site\lib\IO\Async\File.pm Installing C:\Strawberry\perl\site\lib\IO\Async\FileStream.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Function.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Future.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Handle.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Listener.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Loop.pm Installing C:\Strawberry\perl\site\lib\IO\Async\LoopTests.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Metrics.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Notifier.pm Installing C:\Strawberry\perl\site\lib\IO\Async\OS.pm Installing C:\Strawberry\perl\site\lib\IO\Async\PID.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Process.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Protocol.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Resolver.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Routine.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Signal.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Socket.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Stream.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Test.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Timer.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Internals\ChildManager +.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Internals\Connector.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Internals\TimeQueue.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Loop\Poll.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Loop\Select.pm Installing C:\Strawberry\perl\site\lib\IO\Async\OS\cygwin.pm Installing C:\Strawberry\perl\site\lib\IO\Async\OS\linux.pm Installing C:\Strawberry\perl\site\lib\IO\Async\OS\MSWin32.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Protocol\LineStream.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Protocol\Stream.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Timer\Absolute.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Timer\Countdown.pm Installing C:\Strawberry\perl\site\lib\IO\Async\Timer\Periodic.pm PEVANS/IO-Async-0.78.tar.gz C:\Strawberry\perl\bin\perl.exe ./Build install --uninst 1 -- OK Stopping: 'install' failed for 'IO::Async::Loop'.
      Hence, standing on same position as before.
Re: Unable to install module IO::Async::Loop on windows 10 strawberry Perl
by Anonymous Monk on Jun 29, 2021 at 01:28 UTC
    Your issue is caused by outdated Socket.pm. Update it by running cpan Socket or cpanm Socket

      Add the force-reinstall (-f) flag to do it unconditionally.

      I tried upgrading Socket by cpan> install Socket command. It did upgrade Socket sorry I forgot to capture console output. But invain, the required module is not installed.

        I can confirm, that, using "fresh/clean" Strawberry Perl 5.28.0.1 -- i.e. your version -- the installation of IO::Async fails. That's not the case with Strawberry Perl 5.28.2.1 though, where IO::Async installs OK.

        To follow AM's advice, upgrading Socket issuing cpanm Socket under 5.28.0.1 did fix the issue.

        I see, however, that

        t\70future-io.t .............. skipped: Future::IO is not available

        in my case, but not in yours. How come this distribution was installed at your side? It's not required for IO::Async (nor Future, etc.) and its pod says it can be problematic with Win32. I'd suggest to uninstall it, or at least to backup/rename ImplBase.pm, to allow "clean" (i.e. unenforced) IO::Async installation.

      Thanks it did the trick.
Re: Unable to install module IO::Async::Loop on windows 10 strawberry Perl
by pritesh_ugrankar (Monk) on Jun 28, 2021 at 21:04 UTC

    Hi,

    I tried to install the same module. I'm on Windows 10 too. Perl 5.32.1:

    This is perl 5, version 32, subversion 1 (v5.32.1) built for MSWin32-x +64-multi-thread Copyright 1987-2021, Larry Wall Perl may be copied only under the terms of either the Artistic License + or the GNU General Public License, which may be found in the Perl 5 source ki +t. Complete documentation for Perl, including FAQ lists, should be found +on this system using "man perl" or "perldoc perl". If you have access to + the Internet, point your browser at http://www.perl.org/, the Perl Home Pa +ge.

    I tried to install the module, but looks like it was installed earlier may be as a pre req for another module.

    >cpanm IO::Async::Loop IO::Async::Loop is up to date. (0.78)

    May be this is an issue with a particular version of Perl.

      May be this is an issue with a particular version of Perl

      It could also be that IO::Async::Loop was force-installed on your machine ( eg by running cpan -fi IO::Async::Loop ).
      When force is used the module will be installed even if the tests fail.

      If I wanted to install this module, using force is precisely what I would do if those tests failed.
      However, on my Strawberry Perl-5.32.0, use of force was not necessary.

      Cheers,
      Rob

        Hi,

        No, I never had to use the force option to install modules till date (thankfully)...mostly it's been installing missing modules and then all goes well. Strawberry Perl is indeed a Godsend in that regard.

A reply falls below the community's threshold of quality. You may see it by logging in.