我试图让我的 Go 程序在 chroot
jail 中作为一个独立的二进制文件运行。当我在 chroot
jail 中运行该程序时,它立即终止并显示以下错误消息:Killed: 9
。我正在使用这个脚本构建:
#!/bin/sh -e
export CGO_ENABLED=0
go build -ldflags=-s -o ./dist/contained ./source/main.go
使用 otool -L ./dist/contained
查看是否有任何库链接到它证实了我的怀疑:
./dist/contained:
/usr/lib/libSystem.B.dylib (compatibility version 0.0.0, current version 0.0.0)
我的问题是:如何让/usr/lib/libSystem.B.dylib 及其所有依赖项静态链接到 Go 程序?我似乎遵循了所有说明我在其他地方看到过静态链接,所以我不明白为什么还有动态链接的文件。
最佳答案
从 Go 1.12 开始,您不能在 macOS 上使用 - 请参阅 https://github.com/golang/go/issues/17490了解详情。
关于go - 静态链接Go程序到/usr/lib/libSystem.B.dylib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890415/