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.

In case there is below error encountered while running some go program:

combining dwarf failed: unknown load command 0x80000034

This may be due to that you are running go 1.16 on a Mac M! machine. If you go to check go version, it may tell you that you are running an arm version of go.

go version go1.16.10 darwin/arm64

In such cases, you can try below methods to workaround the issue.

Try to upgrade the go version to 1.17 and run the code again. If this is not an option for you because you have to stick to go 1.16 for some reason, you may try to install an amd version of go 1.16. This should work per what we have tested.

If you still have issue with above, please share any other solution in case you solved it. 

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.