-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error starting rsense in Windows #21
Comments
I have the same problem in windows 8 |
Me too. #17 seems related. |
having this issue on windows still |
I am having this issue too. If you look at windows.rb, it has a completely different interface than unix.rb. Either someone refactored the unix.rb and didn't refactor windows.rb or windows support was never properly added. Ugh. @headius You should at least consider raising an error in windows.rb to note that this gem doesn't support Windows and maybe ask if someone would like to support it by doing a pull request and give them the github link. |
Golly, I never saw this report. Will look into it. |
Ok, so the problem here is that rsense is using the The only way to fix this would be to try to unpack those actions and map them to Windows The error that @jonyyz would be difficult to provide, because rsense is just going after a class defined in unix.rb that doesn't exist in windows.rb. I could make it a dummy class, but then it would just fail later when rsense tries to call I could also just remove Windows support altogether and error out, but the library does a reasonable job of providing the So, what's a guy to do? |
tbh, I think the first thing the probably needs adjusted is your mindset. It sounds to me like you're lamenting the incompleteness of Windows POSIX compliance. To be quite honest, I haven't heard anyone talk about that in quite some time. The open source community in general seems to just take that as a given and many packages and libraries have worked around those issues. It's kind of like how Facebook just accepts that W3 standard support is always behind with web browsers so they used transpiling to work around it because we need things to work today. It's a form of being agile in today's rapidly changing technology landscape and also embracing the diverse ecosystem. I'm pretty sure a fix is possible because if you look at the documentation for ffi that you are consuming, there should be a way. It's just a matter of implementing the same interface as unix.rb and marshalling the proper calls. Have you attempted to prototype a solution to see how far you can get? I might be able to help if you run into specific issues. I don't have to time to figure this all out because I work at a very stressful job and I'm actually trying to level up my ruby skills hence it would be nice if we could get autocomplete-ruby to work in atom that depends on rsense which depends on spoon. You should be able to look at other projects to see how they are doing this and get some ideas or in the worst case scenario hit up some Microsoft MVP's that also have some ruby knowledge. They exist. Also have you looked this? https://docs.microsoft.com/en-us/cpp/c-runtime-library/spawn-wspawn-functions?view=vs-2019 |
As much as it pains me to say it (not much) spoon was never really intended to be a catch-all process launching API for Ruby. I originally released it as a demo of using FFI to call
There's also the built-in rsense could probably use the childprocess gem without too much trouble, but I don't know rsense internals enough to make that change myself. I could also rewire spoon to use childprocess to implement the FWIW I'd love to see spoon provide a |
Sorry folks, I'm going to close this. spoon's Windows support was contributed by another user and I'm not planning to do any work on it. Even if I did, the API of spoon doesn't really fit well with using win32 CreateProcess, and I'd have to essentially make a The best option is to get libraries on the childprocess gem, since it works on JRuby and on Windows. |
Starting rsense in Windows throws:
The text was updated successfully, but these errors were encountered: