combining dwarf failed: unknown load command 0x80000034 solution in GoLang

English 简体中文 繁体中文 ภาษาไทย Tiếng Việt
Summary

Developers encountering the "combining dwarf failed: unknown load command 0x80000034" error in Go programs, particularly when using Go 1.16 on a Mac M1 (ARM64) machine, have a few workarounds. The primary recommendation is to upgrade the Go version to 1.17, which often resolves the issue. If project constraints require staying on Go 1.16, an alternative solution involves installing the AMD64 build of Go 1.16 instead of the ARM64 version. This approach has been tested and proven effective for mitigating the error.

如果在執行某些 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 版本。根據我們的測試,這應該有效。

如果您仍然遇到上述問題,如果您已解決問題,請分享任何其他解決方案。

GO 1.16 0X80000034

  RELATED

No related programming articles found. Browse all programming tutorials and articles.

  COMMENT

1
Sushant
Mar 14, 2024 at 5:57 am

update flag CGO_ENABLED="0" in go env using below command

go env -w CGO_ENABLED="0"

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.