Golang:dyld:未找到符号:_SecCertificateCopyNormalizedSubjectContent

时间:2016-09-07 21:30:19

标签: macos go compilation macos-sierra

我正在通过运行此命令从OSX 10.12 Beta(16A312a)构建Golang 1.7(go version go1.7 darwin/amd64)应用程序 env GOOS=darwin GOARCH=amd64 /usr/local/go/bin/go build -ldflags=-s -o dist/program ${GOPATH}src/github.com/owner/repo/program.go

该程序似乎在OSX 10.7及更高版本上成功运行但在10.6.8中出现错误,并出现以下错误:

dyld: Symbol not found: _SecCertificateCopyNormalizedSubjectContent Referenced from: /tmp/program Expected in: flat namespace

我曾经从OSX 10.11编译同一个程序,它可以在10.6及以上版本上运行。

有任何帮助吗? 感谢

1 个答案:

答案 0 :(得分:0)

我遇到一个问题,其中perl模块成功构建,但后来扔掉了那个' dyld:'错误。在从脑袋撞到砖墙一两天后脑震荡后,我发现perl模块是32位的,试图动态链接到64位的dylib。调整perl模块以编译为64位解决了这个问题。

Upshot:这可能是一个32位的程序,试图说话'到64位dylib。