如果在執行某些 Go 程式時遇到以下錯誤:
combining dwarf failed: unknown load command 0x80000034
這可能是因為您在 Mac M1 機器上執行 Go 1.16。如果您檢查go version
,它可能會告訴您正在執行 Go 的 arm 版本。
go version go1.16.10 darwin/arm64
在這種情況下,您可以嘗試以下方法來解決此問題。
嘗試將 Go 版本升級到 1.17 並再次執行程式碼。如果由於某些原因您必須堅持使用 Go 1.16,則此方法不可行,您可以嘗試安裝 Go 1.16 的 amd 版本。根據我們的測試,這應該有效。
如果您仍然遇到上述問題,如果您已解決問題,請分享任何其他解決方案。
update flag CGO_ENABLED="0" in go env using below command
it must be 1 right now and in Mac M1 this creates issue while compiling both go and c binaries together, disabling this flag makes it such that build is now done ignoring any external C libraries which will succeed.