arnodelaet
2021-11-11 16:15:25

@arnodelaet has joined the channel


arnodelaet
2021-11-11 16:19:38

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


samth
2021-11-11 16:24:37

This is a fine place to ask


arnodelaet
2021-11-11 17:06:50

Great!


arnodelaet
2021-11-11 17:06:51

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?


samth
2021-11-11 17:13:11

@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.


samth
2021-11-11 17:13:41

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


arnodelaet
2021-11-11 17:30:07

Interesting results:

&gt; (find-executable-path "ssh") #f &gt; (find-executable-path "ssh.exe") #&lt;path:C:\Windows\System32\OpenSSH\ssh.exe&gt;


samth
2021-11-11 17:30:32

What version of Racket are you using?


arnodelaet
2021-11-11 17:30:39

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


arnodelaet
2021-11-11 17:31:17

I’m using DrRacket version 8.0


arnodelaet
2021-11-11 17:31:39

and #lang racket/base


samth
2021-11-11 17:34:05

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."


arnodelaet
2021-11-11 17:34:21

Ah then that makes sense at least


arnodelaet
2021-11-11 17:35:24

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


arnodelaet
2021-11-11 17:41:14

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


samth
2021-11-11 17:43:24

right, I think that code will not work on windows


arnodelaet
2021-11-11 20:55:45

Alright, that’s a bummer


arnodelaet
2021-11-11 20:55:52

Thanks for the help tho, appreciate it!


samth
2021-11-11 21:00:54

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


arnodelaet
2021-11-11 21:12:19

Yes, I’ll look into that tomorrow