如果在运行某些Go程序时遇到以下错误:
combining dwarf failed: unknown load command 0x80000034
这可能是因为您在Mac M1机器上运行Go 1.16。如果您检查go version
,它可能会告诉您正在运行arm版本的Go。
go version go1.16.10 darwin/arm64
在这种情况下,您可以尝试以下方法来解决此问题。
尝试将Go版本升级到1.17并再次运行代码。如果由于某些原因您必须坚持使用Go 1.16,这不是一个选项,您可以尝试安装amd版本的Go 1.16。根据我们的测试,这应该有效。
如果您仍然遇到上述问题,如果您解决了问题,请分享任何其他解决方案。
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.