delve
delve copied to clipboard
Support for arm64 windows machines
Please answer the following before submitting your issue:
Note: Please include any substantial examples (debug session output, stacktraces, etc) as linked gists.
- What version of Delve are you using (
dlv version)? - What version of Go are you using? (
go version)? go1.14.7 - What operating system and processor architecture are you using? Windows 64-bit ARM
- What did you do?
- What did you expect to see? expected dlv to install
- What did you see instead? $ go get github.com/go-delve/delve/cmd/dlv service\debugger\debugger.go:26:2: found packages native (proc.go) and your_operating_system_and_architecture_combination_is_not_supported_by_delve (support_sentinel.go) in C:\Users\viggn\Desktop\go\src\github.com\go-delve\delve\pkg\proc\native
This also applies to the raspberry pi 4 / raspbian so maybe an os/linux label would also be appropriate here.
The golang seems doesn‘t support windows/arm64 for now. So, what is this issue's porpose?
Regarding the comment from @hengwu0
The golang seems doesn‘t support
windows/arm64for now. So, what is this issue's porpose?
Golang supports cross-compiling to a Windows ARM target without issue: export GOOS=windows export GOARCH=arm export GOARM=7 export CGO_ENABLED=0
And most of the common dev tools, such as language server, etc. install without problem, but the dlv package fails with the following errors:
Installing 1 tool at C:\Users\thedave\Projects\go\bin in module mode. dlv
Installing github.com/go-delve/delve/cmd/dlv FAILED { "killed": false, "code": 1, "signal": null, "cmd": "C:\Users\thedave\go\bin\go.exe get -v github.com/go-delve/delve/cmd/dlv", "stdout": "", "stderr": "go: found github.com/go-delve/delve/cmd/dlv in github.com/go-delve/delve v1.5.1\n..\..\..\..\..\Projects\go\pkg\mod\github.com\go-delve\[email protected]\service\debugger\debugger.go:26:2: found packages native (proc.go) and your_operating_system_and_architecture_combination_is_not_supported_by_delve (support_sentinel.go) in C:\Users\thedave\Projects\go\pkg\mod\github.com\go-delve\[email protected]\pkg\proc\native\n" }
1 tools failed to install.
dlv: failed to install dlv(github.com/go-delve/delve/cmd/dlv): Error: Command failed: C:\Users\thedave\go\bin\go.exe get -v github.com/go-delve/delve/cmd/dlv go: found github.com/go-delve/delve/cmd/dlv in github.com/go-delve/delve v1.5.1 ..........\Projects\go\pkg\mod\github.com\go-delve\[email protected]\service\debugger\debugger.go:26:2: found packages native (proc.go) and your_operating_system_and_architecture_combination_is_not_supported_by_delve (support_sentinel.go) in C:\Users\thedave\Projects\go\pkg\mod\github.com\go-delve\[email protected]\pkg\proc\native no output
Firstly, sorry that dlv doesn't support arm64 windows for now. Secondly, arm and arm64 are different ARCHs. If your issue is about arm on windows, please create another issue page.
Please answer the following before submitting your issue:
Note: Please include any substantial examples (debug session output, stack traces, etc) as linked Gists.
- What version of Delve are you using (
dlv version)? - What version of Go are you using? (
go version)?go version go1.16.1 windows/arm64 - What operating system and processor architecture are you using?
Windows 10 10.0.19042 Build 19042CPU:[01]: ARMv8 (64-bit) Family 8 Model 805 Revision D0E Qualcomm Technologies Inc ~2995 Mhz - What did you do?
- What did you expect to see?
expected
dlvto install - What did you see instead?
dlv: failed to install dlv(github.com/go-delve/delve/cmd/dlv): Error: Command failed: C:\Go\bin\go.exe get -v github.com/go-delve/delve/cmd/dlv
C:\Users\akazz\Documents\Workspace\Go\pkg\mod\github.com\go-delve\[email protected]\service\debugger\debugger.go:26:2: found packages native (proc.go) and your_operating_system_and_architecture_combination_is_not_supported_by_delve (support_sentinel.go) in C:\Users\akazz\Documents\Workspace\Go\pkg\mod\github.com\go-delve\[email protected]\pkg\proc\native
no output
Tips: just build main brunch of golang with
GOARCH=arm64 GOOS=windowsand you will getwindows/arm64product.
I had the same issue: golang version 1.15.2 vscode version: 1.52.2
right now seems to have been solved with: go get github.com/go-delve/delve/cmd/dlv run in terminal (still... I am not sure why...)
Maybe you did the same folly as me The operating system and processor architecture I used is Windows 64-bit ARM, but the version of Go I installed is go1.15.7.windows-386.msi. They crashed. I changed the pack to go1.15.7.windows-amd64.msi, it worked.
I just tried installing delve with go get github.com/go-delve/delve/cmd/dlv, which I believe attempts to install delve 1.7.3, on my Surface Pro X (arm64) and got the same error as the OP.
After a little investigation I must say that I find this strange, because the file support_sentinel.go states that it should NOT be included and therefore should NOT throw this error, when being build on arm64 windows.
//+build !linux,!darwin,!windows,!freebsd linux,!amd64,!arm64,!386 darwin,!amd64,!arm64 windows,!amd64 freebsd,!amd64 I believe this means: include this file while building, when not on arm64 windows.
So technically it should not throw this error when go env GOARCH GOOS reports to be on arm64 and windows, which my machine does.
I tried deleting support_sentinel.go which bypasses the check, and then a lot of other errors popped up, so there is still something wrong here.
EDIT: Probably delve just does not support windows arm64 yet. My fiddling has been pointless.
The golang seems doesn‘t support
windows/arm64for now. So, what is this issue's porpose?
It does now. Go version 1.7 has an official windows arm64 installer.
Hopefully this means that delve will follow soon?
Maybe you did the same folly as me The operating system and processor architecture I used is Windows 64-bit ARM, but the version of Go I installed is go1.15.7.windows-386.msi. They crashed. I changed the pack to go1.15.7.windows-amd64.msi, it worked.
it worked,ths
Maybe you did the same folly as me The operating system and processor architecture I used is Windows 64-bit ARM, but the version of Go I installed is go1.15.7.windows-386.msi. They crashed. I changed the pack to go1.15.7.windows-amd64.msi, it worked.
it worked,ths
It is irrelevant weather Go AMD64 works on your arm64 machine because then it just runs in the emulator. I tried the same thing and for me delve did still not work, so it remains doubtful. In any case, the whole point here is, that now there is a Go version for arm64 namely go1.17.5.windows-arm64.msi and with that one (which is the correct one for a Windows arm64 machine) delve does not work. Hence my comments on this issue.