| [reply] |
Hello,
I tried couple of days on Windows Strawberry with io:async for getting io:async:loop and timer running.
I tested with 5.32.x all failed by the requirement of Future-IO. always.
Always on fresh Strawberry installation on a Windows 10 system.
I did the Socket update too.
The installation stopped always including cpan -f io:async or cpan -fi io:async on the same point:
Running Build install for PEVANS/Future-IO-0.13.tar.gz
Building Future-IO
Installing C:\STRAWB~1\perl\site\lib\Future\IO.pm
Installing C:\STRAWB~1\perl\site\lib\Future\IO\ImplBase.pm
Installing C:\STRAWB~1\perl\site\lib\Future\IO\System.pm
Installing C:\STRAWB~1\perl\site\lib\Test\Future\IO\Impl.pm
PEVANS/Future-IO-0.13.tar.gz
C:\Strawberry\perl\bin\perl.exe ./Build install --uninst 1 -- OK
Stopping: 'install' failed for 'Test::Future::IO::Impl'.
It is always Future-IO which fails. Which is required for testing, maybe?
By an unknown reason io:async is now installed.
I installed it again and again, by using
cpan -if io:async or cpan -f io:async
all failed.
Once I executed on the pure cmd command line, because i was thinking the force does work and I did something wrong.
cpan force install io:async
I learned this command is wrong, it try to install the package "force" which was not found. But it installed a package: "install". For now I don`t know what it is. Afterwarrds it tries to install io:async and i got the
message io:async is already up to date.
I don not understand.
Now it is running and working with my actual cases, but I do not know if I be able to reproduce it, on my final Windows 10 System / Environment.
Thanks for any help or hint
carsten
| [reply] [d/l] [select] |
Please note: io:async is not the same thing as IO::Async -- it would not be able to find the first, but should find the second. To force in that client, cpan -f -i IO::Async (but forcing should be a last resort.)
However, given that Re^4: Unable to install module IO::Async::Loop on windows 10 strawberry Perl lists a successful combination, I'm not sure why you aren't trying that.
Please note: that successful combination used IO::Async v0.78, which was current in 2021. As seen at cpantesters, the current v0.802 doesn't have any passes on mswin32, and max versions with a pass shows that IO::Async last passed on mswin32 with v0.78 -- the same version mentioned elsewhere in this thread. So that means maybe you should try to install an older version of IO::Async rather than the most-recent.
So my recommendation to you, based on that:
- Since you said you have Strawberry 5.28.2, use that version rather than 5.32.2, as that's a "known working" version, based on other statements in this thread (though the max-versions shows 5.32.2 can succeed with IO::Async v0.78 as well)
- Update Socket as vr suggested: cpanm Socket
- Install the specific version of IO::Async v0.78: cpanm IO::Async@0.78
(I used cpanm client instead of cpan because it comes with Strawberry, I know it better, and the syntax for installing a specific revision is natural.)
Caveat: I haven't tried installing this myself. (I would have waited for vr to comment, but since it appears to have been 24 weeks since the last login... I don't think you want to wait...)
| [reply] [d/l] [select] |
You seem to have forced-installed your IO::Async, with result as good as described below. Calmly analyse logs, don't panic, the "force" option is there for a reason. Looks like Future::IO can depend on IO::Async, not the other way round -- with the latter providing implementation (one of) for the former. At some point on route to current 0.802 version, the IO::Async became to require Future::IO as pre-requisite, unnecessarily. Future::IO, great otherwise, seems to dislike Windows.
If absolutely loath to force, you can download IO-Async-0.802.tar.gz, unpack, delete line#30,
del t\70future-io.t
cpanm .
then enjoy your clean (according to stranger on Internet advice, worth as such, of course) installation
| [reply] [d/l] [select] |