-
-
Notifications
You must be signed in to change notification settings - Fork 180
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
Add Windows Support #7
Comments
Reading through golang/go#19282 it seems that Windows support for Go plugins is currently not in development and there are no development plans in the nearer future. Also the general sentiment in that issue thread seems to be that Go plugin support is flaky and half-baked even on platforms where it is supported (see also golang/go#20461 and golang/go#27751), so it might be better not to depend on the built-in Go plugin system. |
I was able to get it working on WSL. From a fresh install of Ubuntu WSL I just needed to install go and npm and I was up and running. From a browser on Windows just go to I will also mention that I ran into I am also running into an issue with the hot reloading where whenever I save a change I get:
and it hangs any further calls, although I'm still digging into why. |
@FeldrinH Since plugin builds will stay local and don't need to be closed, the mentioned constraints are acceptable for bud's purposes. Go plugins will be used to allow you to bring your own code generators, transformers and commands. For windows, build tags plus something like https://github.com/hashicorp/go-plugin will suffice. It'll just be slower to boot for window's users. @theeyed Could you send an ABRT signal to the bud process when it's hanging and share the stack trace? https://pro-tips-dot-com.tumblr.com/post/47677612115/kill-a-hung-go-process-and-print-stack-traces. That may help us narrow down the problem. The cross-link issue is also discussed in #30 and there's also a discussion about hanging WSL2 process happening in #38. |
|
Thanks Alex! I think I know the problem and it's related to the 0.0.0.0 issue you mentioned earlier. I have 0.0.0.0 hardcoded in a few places, specifically in the hot reload client. I'm changing the default to 127.0.0.1. PR up here: #41 |
So I think the hanging issue should be solved in v0.1.1. Could you try again? To upgrade, run: curl -sf curl https://raw.githubusercontent.com/livebud/bud/main/install.sh | sh |
After retrying on the latest version, with the bud/runtime/command/run/run.go Lines 86 to 89 in 7bcf01d
I was able to get around it by either removing the Lines 23 to 32 in 7bcf01d
|
Thanks for narrowing this down Alex! I just added a PR to hopefully address this. Since you're running Bud locally, do you mind pulling down the branch to confirm? Otherwise, no worries, I'll release a new version after CI passes. |
That did the trick. Last thing I'm looking through for WSL is it is currently failing to connect to the hotserver. |
Oh, interesting. So you're seeing errors on the client-side saying unable to connect to |
Added some details to #48 |
Since this issue has kind of meandered, I'll close it in favor of: #81 |
Windows support is currently blocked by:
Bud's compiler will also transition to using Go plugins, which also do not have Windows support yet:
Though we could use something like go-plugin for Windows.
I haven't tested it yet, but you should be able to use Bud with the Windows Subsystem for Linux (WSL).
If you get this working, please let us know how!
The text was updated successfully, but these errors were encountered: