Skip to content
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

request: add windows/arm64 build for Windows on ARM #7445

Closed
rubin55 opened this issue Mar 8, 2021 · 4 comments
Closed

request: add windows/arm64 build for Windows on ARM #7445

rubin55 opened this issue Mar 8, 2021 · 4 comments
Labels
enhancement New features or improvements of some kind, as opposed to a problem (bug) frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion needs-triage New issues needed to be validated

Comments

@rubin55
Copy link

rubin55 commented Mar 8, 2021

Include required information

Really like its sister issue #7128, add windows/arm64 support and provide a download for Syncthing on Windows on ARM.

Go is very close to official build support and there's an official build that's also being used for Wireguard, see:

golang/go#36439
https://github.com/thongtech/go-windows-arm

@rubin55 rubin55 added enhancement New features or improvements of some kind, as opposed to a problem (bug) needs-triage New issues needed to be validated labels Mar 8, 2021
@calmh
Copy link
Member

calmh commented Mar 9, 2021

Yep. If and when this lands in Go we'll do builds, automatically even. Currently this isn't an actionable issue so I'm closing, but rest assured there will be builds when the compiler builds them.

@rubin55
Copy link
Author

rubin55 commented Mar 13, 2021

Just a note for when you guys get to this. You will run into two issues:

  1. go-ole: Compiling for Windows Arm has errors go-ole/go-ole#202
  2. goversioninfo: cmd/compile: unknown ARM relocation type 7 golang/go#38020

I was able to fix 1. by simply creating the variant and variant-date files for arm with the correct build-directive. I was not able to fix the error I got with goversioninfo (unknown ARM relocation type 7). It should be something obvious though. The golang issue does not provide a fix (it's about someone building on Linux on ARM, where goversioninfo seems to be invoked unintendedly).

Building without goversioninfo gives a working syncthing.exe. I just tested this within my own environment (I built tag v1.14.0) and it works great so far (maybe good to know).

@rasa
Copy link
Member

rasa commented Sep 15, 2021

go-ole/go-ole#223 has been merged. Once shirou/gopsutil#1132 is merged, we should be able to target windows/arm and windows/arm64.

@calmh
Copy link
Member

calmh commented Sep 17, 2021

Builds with the OLE update:

https://build.syncthing.net/buildConfiguration/Syncthing_BuildWindows/110898?buildTab=artifacts&guest=1

Didn't look at what breakage the gopsutil stuff is.

@calmh calmh added the frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion label Aug 11, 2022
@syncthing syncthing locked and limited conversation to collaborators Aug 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New features or improvements of some kind, as opposed to a problem (bug) frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion needs-triage New issues needed to be validated
Projects
None yet
Development

No branches or pull requests

4 participants