install-runc: pin Go to 1.21

runc is incompatible with Go 1.22 on glibc-based distros
(opencontainers/runc issue 4233)

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
This commit is contained in:
Akihiro Suda 2024-04-24 21:34:41 +09:00
parent 7feb1f327d
commit fef78c1024
No known key found for this signature in database
GPG Key ID: 49524C6F9F638F1A

View File

@ -34,11 +34,18 @@ function install_runc() {
: "${RUNC_REPO:=https://github.com/opencontainers/runc.git}"
TMPROOT=$(mktemp -d)
# runc is incompatible with Go 1.22 on glibc-based distros
# https://github.com/opencontainers/runc/issues/4233
GO121DIR="${TMPROOT}"/go121
mkdir -p "${GO121DIR}"
GOBIN="${GO121DIR}" go install golang.org/dl/go1.21.9@latest
GO121="${GO121DIR}"/go1.21.9
$GO121 download
git clone "${RUNC_REPO}" "${TMPROOT}"/runc
pushd "${TMPROOT}"/runc
git checkout "${RUNC_VERSION}"
make BUILDTAGS='seccomp' runc
$SUDO make install
make GO=$GO121 BUILDTAGS='seccomp' runc
$SUDO make GO=$GO121 install
popd
rm -fR "${TMPROOT}"
}