richterger / Perl-LanguageServer

Language Server for Perl
Other
224 stars 51 forks source link

Language Server dependency IO::AIO installation is failing on Windows 10 #89

Open iamitka opened 3 years ago

iamitka commented 3 years ago

Hi When I try to install Language Server one of the dependency IO::AIO is failing. I tried installing independently as well. Also I tried older version of IO::AIO but the same result.

The last code for https://github.com/gitpan/IO-AIO was updated 7 years back. Can someone help in resolving the issue? Really appreciate your help.

C:\Users*****>cpanm IO::AIO --> Working on IO::AIO Fetching http://www.cpan.org/authors/id/M/ML/MLEHMANN/IO-AIO-4.75.tar.gz ... OK Configuring IO-AIO-4.75 ... OK Building and testing IO-AIO-4.75 ... FAIL ! Installing IO::AIO failed. See C:\Users*****.cpanm\work\1619101212.22704\build.log for details. Retry with --force to force install it.

Visual Studio Output

IO::AIO: unable to initialize result pipe at C:/Strawberry/perl/lib/XSLoader.pm line 114. BEGIN failed--compilation aborted at C:/Strawberry/perl/site/lib/IO/AIO.pm line 200. Compilation failed in require at C:/Strawberry/perl/site/lib/Coro/AIO.pm line 64. BEGIN failed--compilation aborted at C:/Strawberry/perl/site/lib/Coro/AIO.pm line 64. Compilation failed in require at C:/Strawberry/perl/site/lib/Perl/LanguageServer.pm line 10. BEGIN failed--compilation aborted at C:/Strawberry/perl/site/lib/Perl/LanguageServer.pm line 10. Compilation failed in require. BEGIN failed--compilation aborted.

richterger commented 3 years ago

I cannot help you with details on windows, but maybe the build.log mentioned in output can give you more details

hakonhagland commented 3 years ago

Here is the output I get on Windows 10 with Strawberry Perl 5.30.1:

> cd IO-AIO-4.75
>perl Makefile.PL

***
*** Canary::Stability COMPATIBILITY AND SUPPORT CHECK
*** =================================================
***
*** Hi!
***
*** I do my best to provide predictable and reliable software.
***
*** However, in recent releases, P5P (who maintain perl) have been
*** introducing regressions that are sometimes subtle and at other times
*** catastrophic, often for personal preferences with little or no concern
*** for existing code, most notably CPAN.
***
*** For this reason, it has become very hard for me to maintain the level
*** of reliability and support I have committed myself to in the past, at
*** least with some perl versions: I simply can't keep up working around new
*** bugs or gratituous incompatibilities, and in turn you might suffer from
*** unanticipated problems.
***
*** Therefore I have introduced a support and compatibility check, the results
*** of which follow below, together with a FAQ and some recommendations.
***
*** This check is just to let you know that there might be a risk, so you can
*** make judgement calls on how to proceed - it will not keep the module from
*** installing or working.
***
*** The stability canary says: (nothing, it was driven away by harsh weather)
***
*** It seems you are running perl version 5.030001, likely the "official" or
*** "standard" version. While there is nothing wrong with doing that,
*** standard perl versions 5.022 and up are not supported by IO::AIO.
*** While this might be fatal, it might also be all right - if you run into
*** problems, you might want to downgrade your perl or switch to the
*** stability branch.
***
*** If everything works fine, you can ignore this message.
***
***
*** Stability canary mini-FAQ:
***
*** Do I need to do anything?
***    With luck, no. While some distributions are known to fail
***    already, most should probably work. This message is here
***    to alert you that your perl is not supported by IO::AIO,
***    and if things go wrong, you either need to downgrade, or
***    sidegrade to the stability variant of your perl version,
***    or simply live with the consequences.
***
*** What is this canary thing?
***    It's purpose is to check support status of IO::AIO with
***    respect to your perl version.
***
*** What is this "stability branch"?
***    It's a branch or fork of the official perl, by schmorp, to
***    improve stability and compatibility with existing modules.
***
*** How can I skip this prompt on automated installs?
***    Set PERL_CANARY_STABILITY_NOPROMPT=1 in your environment.
***    More info is in the Canary::Stability manpage.
***
*** Long version of this FAQ: http://stableperl.schmorp.de/faq.html
*** Stability Branch homepage: http://stableperl.schmorp.de/
***

Continue anyways?  [y] y

***
*** Your platform is not standards compliant. To get this module working, you need to
*** download and install win32 pthread (http://sourceware.org/pthreads-win32/).
***

Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for IO::AIO
Writing MYMETA.yml and MYMETA.json

C:\Users\hakon\perl\cpan-sources\IO-AIO-4.75.tar\IO-AIO-4.75>gmake
cp AIO.pm blib\lib/IO/AIO.pm
Running Mkbootstrap for AIO ()
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "AIO.bs"
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- AIO.bs blib\arch\auto\IO\AIO\AIO.bs 644
"C:\Strawberry\perl\bin\perl.exe" "C:\Strawberry\perl\lib\ExtUtils/xsubpp"  -typemap C:\STRAWB~1\perl\lib\ExtUtils\typemap -typemap C:\Users\hakon\perl\cpan-sources\IO-AIO-4.75.tar\IO-AIO-4.75\typemap  AIO.xs > AIO.xsc
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- AIO.xsc AIO.c
gcc -c   -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2   -DVERSION=\"4.75\" -DXS_VERSION=\"4.75\"  "-IC:\STRAWB~1\perl\lib\CORE"   AIO.c
In file included from AIO.xs:195:
libeio/eio.c:123: warning: "ioctl" redefined
   #define ioctl(fd,cmd,arg)    EIO_ENOSYS ()

In file included from AIO.xs:7:
C:\STRAWB~1\perl\lib\CORE/XSUB.h:595: note: this is the location of the previous definition
 #    define ioctl  PerlLIO_ioctl

In file included from AIO.xs:195:
libeio/eio.c:221: warning: "CreateHardLink" redefined
   #define CreateHardLink(neu,old,flags) 0 /* not really creating hardlink, still using relative paths? */

In file included from C:/Strawberry/c/x86_64-w64-mingw32/include/windows.h:70,
                 from C:/Strawberry/c/x86_64-w64-mingw32/include/winsock2.h:23,
                 from libeio/xthread.h:28,
                 from AIO.xs:1:
C:/Strawberry/c/x86_64-w64-mingw32/include/winbase.h:2138: note: this is the location of the previous definition
 #define CreateHardLink __MINGW_NAME_AW(CreateHardLink)

In file included from libeio/eio.c:408,
                 from AIO.xs:195:
libeio/etp.c: In function 'etp_proc':
libeio/etp.c:345:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   ts.tv_nsec = ((unsigned long)self & 1023UL) * (1000000000UL / 1024UL);
                 ^
AIO.xs: In function 'SvAIO_WD':
AIO.xs:528:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   return (aio_wd)(long)SvIVX (SvRV (sv));
          ^
AIO.xs: In function 'req_set_path':
AIO.xs:1033:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
           *wd = (aio_wd)(long)SvIVX (rv);
                 ^
AIO.xs: In function 'XS_IO__AIO_aio_link':
AIO.xs:1971:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         req->int3 = (long)wd2;
                     ^
AIO.xs: In function 'XS_IO__AIO_aio_rename2':
AIO.xs:1987:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         req->int3 = (long)wd2;
                     ^
AIO.xs: In function 'XS_IO__AIO_pidfd_send_signal':
AIO.xs:2678:2: error: unknown type name 'siginfo_t'; did you mean 'eio_ino_t'?
  siginfo_t si = { 0 };
  ^~~~~~~~~
  eio_ino_t
AIO.xs:2690:59: error: request for member 'si_code' in something not a structure or union
             if ((svp = hv_fetchs (hv, "code"     , 0))) si.si_code            =         SvIV (*svp);
                                                           ^
AIO.xs:2691:59: error: request for member 'si_pid' in something not a structure or union
             if ((svp = hv_fetchs (hv, "pid"      , 0))) si.si_pid             =         SvIV (*svp);
                                                           ^
AIO.xs:2692:59: error: request for member 'si_uid' in something not a structure or union
             if ((svp = hv_fetchs (hv, "uid"      , 0))) si.si_uid             =         SvIV (*svp);
                                                           ^
AIO.xs:2693:59: error: request for member 'si_value' in something not a structure or union
             if ((svp = hv_fetchs (hv, "value_int", 0))) si.si_value.sival_int =         SvIV (*svp);
                                                           ^
AIO.xs:2694:59: error: request for member 'si_value' in something not a structure or union
             if ((svp = hv_fetchs (hv, "value_ptr", 0))) si.si_value.sival_ptr = (void *)SvIV (*svp);
                                                           ^
gmake: *** [Makefile:339: AIO.o] Error 1
hoehrmann commented 3 years ago

http://www.cpantesters.org/cpan/report/bff6f658-6c35-1014-8029-09736460bdb8 suggests IO::AIO does not work under Windows out of the box, and as the error message indicates, siginfo_t is not supported by mingw, per https://www.gnu.org/software/gnulib/manual/html_node/signal_002eh.html.

richterger commented 3 years ago

I have it running with Strawberry Perl 5.26, also starting child processes does not work (so syntax check does not work). It's on my todo list, to test it with an up to date Strawberry Perl, but because of my limited time it may take some time...

Any help is welcome.

PPetky commented 3 years ago

Hi, on July 27 there was a new release 4.76 and I was able to install it manually

perl Makefile.PL make make test make install

on Strawbwrry Perl 5.32.1

CS2Us commented 3 years ago

Even though I face the same issue on Ubuntu 20.04, Perl 5.30, but i hope my experience can be helpful.

When i use this vscode extension but it tips of

Languge Server crashed in last 5 minutes

words like this from vscode.

Then i recognized i should install Perl Language Sever manually.

At first, I install IO::AIO perl module by: cpan -T IO::AIO. but failed and output:

Canary::Stability COMPATIBILITY AND SUPPORT CHECK

My perl version is 5.30, and compiled the IO::AIO module (version: 4.76). That is reason of the above compatibility problem:

standard perl versions 5.022 and up are not supported by IO::AIO.

Instead of install 4.76 IO::AIO module, i turn into git clone https://github.com/gitpan/IO-AIO.git, and compiled master branch directly. Finally it's worked, and then i install this Language Server successfully.


~/Desktop/Perl-LanguageServer: sudo make install
Manifying 2 pod documents
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/Workspace.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/DevTool.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/IO.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/SyntaxChecker.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/DebuggerProcess.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/Parser.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/Req.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/Methods.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/DebuggerInterface.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/Methods/DebugAdapter.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/Methods/DebugAdapterInterface.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/Methods/textDocument.pm
Installing /usr/local/share/perl/5.30.0/Perl/LanguageServer/Methods/workspace.pm
Installing /usr/local/man/man3/Perl::LanguageServer.3pm
Installing /usr/local/man/man3/Perl::LanguageServer::SyntaxChecker.3pm
Appending installation info to /usr/local/lib/x86_64-linux-gnu/perl/5.30.0/perllocal.pod
shoorick commented 2 years ago

I use Debian 10 (Buster). I've tried to install module Perl::LanguageServer with dh-make-perl --build --cpan (unsuccessfully at all) and with cpan. I've installed by hand modules IO::AIO (sudo apt libio-aio-perl) and AnyEvent::AIO and then I could install Perl::LanguageServer. It's a bit inconvenient. Is it trouble of your module or have I buggy cpan and dh-make-perl utilities?

davorg commented 2 years ago

I've just come across this problem too. In my opinion, the best solution is to migrate away from relying on Lehmannware. This CPAN author is known to be antagonistic to the team working on Perl itself and relying on his modules is a recipe for disaster. Please consider looking for an alternative to IO::AIO.

tarkhil commented 1 year ago

Okay, any ideas on the alternative?

jafd commented 1 year ago

Just chiming in that Coro, for some reason I'm unsure of, can't be built properly for EPEL 9 (fails its tests for Coro::Event; this doesn't happen on any other Fedora or EL, though; not in Fedora 33 which ships the same version of Perl). Since I'm developing a project in an EL9 environment, Perl::LanguageServer unfortunately can't be run in it.

I've reported the bug in RedHat's Bugzilla and will likely invest a minor effort into getting to the bottom of it, but it's not a hill I'm willing to die on, and since it's the only thing I care about that's using Coro,it looks like ceasing to use P::LS altogether could save me some time. Which is sad. :-(

jafd commented 1 year ago

@davorg: migrate away from relying on Lehmannware.

Look at the source: it's entrenched in Coro/IO::AIO so much that it's going to be a very significant effort to migrate it to pretty much anything else. As much as I can share the sentiment, it just looks like a Herculean effort to me...

hakonhagland commented 1 year ago

I tested now on Windows 11 with Strawberry Perl 5.38.0 and it cannot install IO::AIO

> cpanm -v IO::AIO
cpanm (App::cpanminus) 1.7046 on perl 5.038000 built for MSWin32-x64-multi-thread
Work directory is C:\Users\hakon/.cpanm/work/1694785623.12468
You have make C:\Strawberry\c\bin\gmake.exe
You have LWP 6.71
Falling back to Archive::Tar 3.02
Searching IO::AIO () on cpanmetadb ...
--> Working on IO::AIO
Fetching http://www.cpan.org/authors/id/M/ML/MLEHMANN/IO-AIO-4.8.tar.gz ... OK
Unpacking IO-AIO-4.8.tar.gz
Entering IO-AIO-4.8
Checking configure dependencies from META.json
Checking if you have Canary::Stability 2001 ... Yes (2013)
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.70)
Running Makefile.PL
Configuring IO-AIO-4.8 ...
***
*** Canary::Stability COMPATIBILITY AND SUPPORT CHECK
*** =================================================

[...]

gcc -c   -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -Os   -DVERSION=\"4.8\" -DXS_VERSION=\"4.8\"  "-IC:\STRAWB~1\perl\lib\CORE"   AIO.c
In file included from AIO.xs:205:
libeio/eio.c:123: warning: "ioctl" redefined
  123 |   #define ioctl(fd,cmd,arg)    EIO_ENOSYS ()
      |
In file included from AIO.xs:7:
C:\STRAWB~1\perl\lib\CORE/XSUB.h:570: note: this is the location of the previous definition
  570 | #    define ioctl               PerlLIO_ioctl
      |
libeio/eio.c:221: warning: "CreateHardLink" redefined
  221 |   #define CreateHardLink(neu,old,flags) 0 /* not really creating hardlink, still using relative paths? */
      |
In file included from C:/Strawberry/c/x86_64-w64-mingw32/include/windows.h:70,
                 from C:/Strawberry/c/x86_64-w64-mingw32/include/winsock2.h:23,
                 from libeio/xthread.h:28,
                 from AIO.xs:1:
C:/Strawberry/c/x86_64-w64-mingw32/include/winbase.h:2472: note: this is the location of the previous definition
 2472 | #define CreateHardLink __MINGW_NAME_AW(CreateHardLink)
      |
In file included from libeio/eio.c:408:
libeio/etp.c: In function 'etp_proc':
libeio/etp.c:345:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  345 |   ts.tv_nsec = ((unsigned long)self & 1023UL) * (1000000000UL / 1024UL);
      |                 ^
AIO.xs: In function 'SvAIO_WD':
AIO.xs:543:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  543 |   return (aio_wd)(long)SvIVX (SvRV (sv));
      |          ^
AIO.xs: In function 'req_invoke':
AIO.xs:778:30: error: incompatible types when assigning to type 'struct w32_stat' from type 'struct _stat64'
  778 |               PL_statcache = *(EIO_STRUCT_STAT *)(req->ptr2);
      |                              ^
[...]
hakonhagland commented 1 year ago

@davorg: migrate away from relying on Lehmannware.

What are the alternatives to using the IO::AIO module?

davorg commented 1 year ago

@davorg: migrate away from relying on Lehmannware.

What are the alternatives to using the IO::AIO module?

I'm afraid I don't know.

hakonhagland commented 1 year ago

What are the alternatives to using the IO::AIO module?

Have somebody tested IO::Async ? I see that it has two test failures for Perl 5.37.8 on Windows: http://www.cpantesters.org/cpan/report/28e443c5-6d79-1014-8029-e9f2efaa1848, but the module does at least compile on Windows.

richterger commented 1 year ago

@davorg, regarding "migrate away from relying on Lehmannware.": Marc has created a very good working ecosystem for Perl which is implemments things that massivly hyped in other languages like goroutines in go and async in rust. You can do all this since a long time with AnyEvent and Coro in Perl. So unless you are implementing something better or you like to stay in ths last millemium and doing programming on bash level, maybe it's a good idea to honor what Marc did for Perl (My two cents).

Regaring IO::Async: It has a total different interface and will not work with the rest of Perl::LangaugeServer and I would expected that is has the same problem with non blocking stdio on windows (but I don't know).

Gettig IO::AIO to compile with Straberrry Perl shouldn't be to hard, but Perl::langaugeServer is a spare time project for me and I am not working with perl on windows, so I have no need to get it working on windows.

If getting this to work is of value for you (or for your bussiness), you can pay me (or somebodyelse) for doing it for you. I have currently not the time, to do this kind of investigation for windows for free.

That why the README clearly says: Known Issues Does not yet work on windows, due to issues with reading from stdin. I wasn't able to find a reliable way to do a non-blocking read from stdin on windows. I would be happy, if anyone knows how to do this in Perl.

Anyway, Perl::LanguageServer runs without problems inside of Windows Subsystem for Linux (WSL).

hakonhagland commented 12 months ago

Anyway, Perl::LanguageServer runs without problems inside of Windows Subsystem for Linux (WSL).

@richterger Tested this now and it seems to work: https://gist.github.com/hakonhagland/15800c09d36ba8ee034ca1b962ad33e2.

sdondley commented 7 months ago

This isn't just happening on windows. See https://www.cpantesters.org/distro/I/IO-AIO.html?oncpan=1&distmat=1&version=4.8&grade=3

I'm running alpine and having no success.

Delhpi commented 5 months ago

I use windows 7 64,also

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\lenovo\Documents>cpanm -v cpanm (App::cpanminus) 1.7047 on perl 5.039010 built for MSWin32-x64-multi-threa d Work directory is C:\Users\lenovo/.cpanm/work/1714913154.8992 You have make I:\Strawberry\c\bin\gmake.exe You have LWP 6.77 Falling back to Archive::Tar 3.02_001 Usage: cpanm [options] Module [...]

Try cpanm --help or man cpanm for more options.

C:\Users\lenovo\Documents>cpanm -n -M https://mirrors.aliyun.com/CPAN/ Perl::LanguageServer --> Working on Perl::LanguageServer Fetching https://mirrors.aliyun.com/CPAN/authors/id/G/GR/GRICHTER/Perl-LanguageServer-2.6.2.tar.gz ... OK Configuring Perl-LanguageServer-v2.6.2 ... OK ==> Found dependencies: Hash::SafeKeys, AnyEvent::AIO, Class::Refresh, IO::AIO,Compiler::Lexer, AnyEvent, Coro --> Working on Hash::SafeKeys Fetching https://mirrors.aliyun.com/CPAN/authors/id/M/MO/MOB/Hash-SafeKeys-0.04.tar.gz ... OK Configuring Hash-SafeKeys-0.04 ... OK Building Hash-SafeKeys-0.04 ... OK Successfully installed Hash-SafeKeys-0.04 --> Working on AnyEvent::AIO Fetching https://mirrors.aliyun.com/CPAN/authors/id/M/ML/MLEHMANN/AnyEvent-AIO-1.1.tar.gz ... OK Configuring AnyEvent-AIO-1.1 ... OK ==> Found dependencies: IO::AIO, AnyEvent --> Working on IO::AIO Fetching https://mirrors.aliyun.com/CPAN/authors/id/M/ML/MLEHMANN/IO-AIO-4.81.tar.gz ... OK Configuring IO-AIO-4.81 ... OK Building IO-AIO-4.81 ... FAIL ! Installing IO::AIO failed. See C:\Users\lenovo.cpanm\work\1714913228.8084\build.log for details. Retry with --force to force install it. --> Working on AnyEvent Fetching https://mirrors.aliyun.com/CPAN/authors/id/M/ML/MLEHMANN/AnyEvent-7.17.tar.gz ... OK Configuring AnyEvent-7.17 ... OK Building AnyEvent-7.17 ... OK Successfully installed AnyEvent-7.17 ! Installing the dependencies failed: Module 'IO::AIO' is not installed ! Bailing out the installation for AnyEvent-AIO-1.1. --> Working on Class::Refresh Fetching https://mirrors.aliyun.com/CPAN/authors/id/D/DO/DOY/Class-Refresh-0.07.tar.gz ... OK Configuring Class-Refresh-0.07 ... OK ==> Found dependencies: Class::Unload, Devel::OverrideGlobalRequire --> Working on Class::Unload Fetching https://mirrors.aliyun.com/CPAN/authors/id/I/IL/ILMARI/Class-Unload-0.11.tar.gz ... OK Configuring Class-Unload-0.11 ... OK Building Class-Unload-0.11 ... OK Successfully installed Class-Unload-0.11 --> Working on Devel::OverrideGlobalRequire Fetching https://mirrors.aliyun.com/CPAN/authors/id/D/DA/DAGOLDEN/Devel-OverrideGlobalRequire-0.001.tar.gz ... OK Configuring Devel-OverrideGlobalRequire-0.001 ... OK Building Devel-OverrideGlobalRequire-0.001 ... OK Successfully installed Devel-OverrideGlobalRequire-0.001 Building Class-Refresh-0.07 ... OK Successfully installed Class-Refresh-0.07 --> Working on Compiler::Lexer Fetching https://mirrors.aliyun.com/CPAN/authors/id/G/GO/GOCCY/Compiler-Lexer-0.23.tar.gz ... OK ==> Found dependencies: Module::Build::XSUtil --> Working on Module::Build::XSUtil Fetching https://mirrors.aliyun.com/CPAN/authors/id/H/HI/HIDEAKIO/Module-Build-XSUtil-0.19.tar.gz ... OK Configuring Module-Build-XSUtil-0.19 ... OK ==> Found dependencies: Devel::CheckCompiler --> Working on Devel::CheckCompiler Fetching https://mirrors.aliyun.com/CPAN/authors/id/S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz ... OK Configuring Devel-CheckCompiler-0.07 ... OK Building Devel-CheckCompiler-0.07 ... OK Successfully installed Devel-CheckCompiler-0.07 Building Module-Build-XSUtil-0.19 ... OK Successfully installed Module-Build-XSUtil-0.19 Configuring Compiler-Lexer-0.23 ... OK Building Compiler-Lexer-0.23 ... OK Successfully installed Compiler-Lexer-0.23 --> Working on Coro Fetching https://mirrors.aliyun.com/CPAN/authors/id/M/ML/MLEHMANN/Coro-6.57.tar. gz ... OK Configuring Coro-6.57 ... OK ==> Found dependencies: Guard --> Working on Guard Fetching https://mirrors.aliyun.com/CPAN/authors/id/M/ML/MLEHMANN/Guard-1.023.ta r.gz ... OK Configuring Guard-1.023 ... OK Building Guard-1.023 ... OK Successfully installed Guard-1.023 Building Coro-6.57 ... FAIL ! Installing Coro failed. See C:\Users\lenovo.cpanm\work\1714913228.8084\build.log for details. Retry with --force to force install it. ! Installing the dependencies failed: Module 'AnyEvent::AIO' is not installed, Module 'Coro' is not installed, Module 'IO::AIO' is not installed ! Bailing out the installation for Perl-LanguageServer-v2.6.2. 9 distributions installed

C:\Users\lenovo\Documents>

Delhpi commented 4 months ago

Replacing it with another module of the same type is sufficient

https://metacpan.org/pod/PLS