mirror of https://github.com/docker/cli.git
dockerfile: llvm needed on debian for cross comp
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
87b085c8cd
commit
6f799c1a1c
|
@ -21,12 +21,19 @@ RUN xx-apk add --no-cache musl-dev gcc
|
||||||
|
|
||||||
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-bullseye AS build-base-bullseye
|
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-bullseye AS build-base-bullseye
|
||||||
COPY --from=xx / /
|
COPY --from=xx / /
|
||||||
RUN apt-get update && apt-get install --no-install-recommends -y bash clang lld file
|
RUN apt-get update && apt-get install --no-install-recommends -y bash clang lld llvm file
|
||||||
WORKDIR /go/src/github.com/docker/cli
|
WORKDIR /go/src/github.com/docker/cli
|
||||||
|
|
||||||
FROM build-base-bullseye AS build-bullseye
|
FROM build-base-bullseye AS build-bullseye
|
||||||
ARG TARGETPLATFORM
|
ARG TARGETPLATFORM
|
||||||
RUN xx-apt-get install --no-install-recommends -y libc6-dev libgcc-10-dev
|
RUN xx-apt-get install --no-install-recommends -y libc6-dev libgcc-10-dev
|
||||||
|
# workaround for issue with llvm 11 for darwin/amd64 platform:
|
||||||
|
# # github.com/docker/cli/cmd/docker
|
||||||
|
# /usr/local/go/pkg/tool/linux_amd64/link: /usr/local/go/pkg/tool/linux_amd64/link: running strip failed: exit status 1
|
||||||
|
# llvm-strip: error: unsupported load command (cmd=0x5)
|
||||||
|
# more info: https://github.com/docker/cli/pull/3717
|
||||||
|
# FIXME: remove once llvm 12 available on debian
|
||||||
|
RUN [ "$TARGETPLATFORM" != "darwin/amd64" ] || ln -sfnT /bin/true /usr/bin/llvm-strip
|
||||||
|
|
||||||
FROM build-base-${BASE_VARIANT} AS goversioninfo
|
FROM build-base-${BASE_VARIANT} AS goversioninfo
|
||||||
ARG GOVERSIONINFO_VERSION
|
ARG GOVERSIONINFO_VERSION
|
||||||
|
|
|
@ -86,6 +86,12 @@ if [ "$CGO_ENABLED" = "1" ] && [ "$GO_LINKMODE" = "static" ]; then
|
||||||
GO_BUILDTAGS="$GO_BUILDTAGS osusergo"
|
GO_BUILDTAGS="$GO_BUILDTAGS osusergo"
|
||||||
fi
|
fi
|
||||||
if [ -n "$GO_STRIP" ]; then
|
if [ -n "$GO_STRIP" ]; then
|
||||||
|
# if stripping enabled and building with llvm < 12 against darwin/amd64
|
||||||
|
# platform, it will fail with:
|
||||||
|
# # github.com/docker/cli/cmd/docker
|
||||||
|
# /usr/local/go/pkg/tool/linux_amd64/link: /usr/local/go/pkg/tool/linux_amd64/link: running strip failed: exit status 1
|
||||||
|
# llvm-strip: error: unsupported load command (cmd=0x5)
|
||||||
|
# more info: https://github.com/docker/cli/pull/3717
|
||||||
GO_LDFLAGS="$GO_LDFLAGS -s -w"
|
GO_LDFLAGS="$GO_LDFLAGS -s -w"
|
||||||
fi
|
fi
|
||||||
export GO_LDFLAGS="$GO_LDFLAGS" # https://github.com/koalaman/shellcheck/issues/2064
|
export GO_LDFLAGS="$GO_LDFLAGS" # https://github.com/koalaman/shellcheck/issues/2064
|
||||||
|
|
Loading…
Reference in New Issue