golang Version < 1.5 - es gibt viele statische Verknüpfung Beispiele, Beiträge und Rezepte. Was ist mit> = 1.5? (Die Google-Suche hat für meine Suchbegriffe keine nützlichen Ergebnisse geliefert.) Gibt es irgendwelche Empfehlungen, wie man eine statisch verknüpfte Binärdatei erzeugt, die in einem einfachen rkt-Container (aus CoreOS) ausgeführt werden kann?Wie erstellt man eine statisch verknüpfte Golang ausführbare Datei mit go 1.5+
mein gehen:
$go version
go version go1.5 linux/amd64
wenn ich versuche, meinen Behälter zu laufen:
sudo rkt --insecure-skip-verify run /tmp/FastBonusReport.aci
ich:
[38049.477658] FastBonusReport[4]: Error: Unable to open "/lib64/ld-linux-x86-64.so.2": No such file or directory
was darauf hindeutet, dass die ausführbare Datei in dem Behälter auf diese wird in Abhängigkeit lib und daher nicht statisch.
mein manifest wie folgt aussieht:
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
meine Befehlszeile die binäre zu bauen wie folgt aussieht:
go build ${myapp}.go
Diese article hat einige Beispiele golang < 1.5. Und dann gibt es diesen getting started Artikel auf der CoreOS Seite.
Können Sie uns zeigen, wie Sie Ihre App Gebäude sind? Der Prozess hat sich nicht wirklich verändert. – JimB
und ich habe einige Links zu Artikeln hinzugefügt. – Richard
hast du 'CGO_ENABLED = 0' gesetzt? – JimB