
@arnodelaet has joined the channel

Hey, I’m experimenting with <https://github.com/racket/distributed-places|distributed places> but I’m running into trouble making it all work on my Windows PC. Where would be the correct place to ask questions regarding this issue? My apologies if this is not the right place

This is a fine place to ask

Great!

I’m trying to get this <https://docs.racket-lang.org/guide/parallelism.html#%28part._distributed-places%29|hello world example> working on my Windows 10 desktop computer using DrRacket. However, I keep getting the uncaught exception: "ssh binary not found"
error. I must say I’m rather unexperienced when it comes to SHH (never had to use it much before) but here is what I already verified:
• I have openSSH Client installed • The .exe (binary) files are located at their default location C:\Windows\System32\OpenSSH • The above path is included in my PATH variable I’ve tracked down the <https://github.com/racket/distributed-places/blob/master/distributed-places-lib/racket/place/distributed.rkt|piece of code (line 153,>_<https://github.com/racket/distributed-places/blob/master/distributed-places-lib/racket/place/distributed.rkt| ssh-bin-path>_<https://github.com/racket/distributed-places/blob/master/distributed-places-lib/racket/place/distributed.rkt| function)> that raises the error. I’ve played around with this piece of code myself a bit and I’ve noticed that the regexp-split
just results in a list of length 1 which contains my whole un-splitted PATH string. I suppose real intention of this expression is to split all the different paths in the PATH variable. As there is also no fallback path defined for Windows the error is raised.
I might be very wrong with these findings as I can’t imagine this was never tested on Windows before. Most likely it is me doing something wrong. Is anyone else able to get this working on a Windows machine, if so, what am I doing wrong?

@arnodelaet that whole piece of code seems suspicious to me. Probably it (or at least the parts without fallback) should be replaced with using find-executable-path
.

What does (find-executable-path "ssh")
produce for you?

Interesting results:
> (find-executable-path "ssh")
#f
> (find-executable-path "ssh.exe")
#<path:C:\Windows\System32\OpenSSH\ssh.exe>

What version of Racket are you using?

So it finds it when I add the .exe although according to the documentation it should try that automatically

I’m using DrRacket version 8.0

and #lang racket/base

It says at the bottom of the docs there “Changed in version 8.1.0.7 of package base: Added search with ”.exe" on Windows."

Ah then that makes sense at least

I’ll quickly update to see if it changes something in regards to the other code that doesn’t work

Alright, the find-executable-path
now works as intended but the issue with the distributed places still persists, seems to be for the same exact reason as well

right, I think that code will not work on windows

Alright, that’s a bummer

Thanks for the help tho, appreciate it!

You could open an issue on that repository, or just try using find-executable-path
there

Yes, I’ll look into that tomorrow