golang版本< 1.5 - 有很多静态链接示例,文章和食谱。那么> = 1.5呢? (谷歌搜索没有返回任何有用的结果,我的搜索条件。)任何人有任何建议如何产生一个静态链接的二进制文件,可以在一个基本的rkt(从CoreOS)容器内执行?如何创建一个静态链接golang可执行文件1.5+
我去:
$go version
go version go1.5 linux/amd64
,当我尝试运行我的容器:
sudo rkt --insecure-skip-verify run /tmp/FastBonusReport.aci
我得到:
[38049.477658] FastBonusReport[4]: Error: Unable to open "/lib64/ld-linux-x86-64.so.2": No such file or directory
表明在容器中的可执行文件根据此lib,因此不是静态的。
我的清单看起来像:
cat <<EOF > /tmp/${myapp}/manifest
{
"acKind": "ImageManifest",
"acVersion": "0.9.0",
"name": "${lowermyapp}",
"labels": [
{"name": "os", "value": "linux"},
{"name": "arch", "value": "amd64"}
],
"app": {
"exec": [
"/bin/${myapp}"
],
"user": "0",
"group": "0"
}
}
EOF
我的命令行来构建二进制的样子:
go build ${myapp}.go
这article有几个例子golang < 1.5。然后在CoreOS网站上有这个getting started文章。
你能告诉我们你是如何构建你的应用程序?这个过程并没有真正改变。 – JimB
,我添加了一些文章链接。 – Richard
你有设置'CGO_ENABLED = 0'吗? – JimB