A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/docker-library/golang/issues/196 below:

Go 1.10 arm32 binaries fail on arm64 hardware (and thus the builds fail) · Issue #196 · docker-library/golang · GitHub

This looks somewhat similar to the behavior we're seeing over in docker-library/memcached#25 -- namely, builds of golang:1.10-rc are failing on arm32v7 and arm32v6 on our arm64 hardware (but appear to build successfully on real arm32 hardware):

From https://doi-janky.infosiftr.net/job/multiarch/view/images/view/golang/job/arm32v7/job/golang/105/consoleFull (which likely won't stick around, hence copying the relevant bits here):

+ bashbrew build golang:1.10beta1-stretch
Building bashbrew/cache:e0ef29144aa33753705506ba663fca305c50b5bc37590f0ef61dc78652209a5b (golang:1.10beta1-stretch)
error: failed building "golang" (tags "1.10beta1-stretch, 1.10-rc-stretch, rc-stretch")
exit status 2
docker ["build" "-t" "bashbrew/cache:e0ef29144aa33753705506ba663fca305c50b5bc37590f0ef61dc78652209a5b" "--rm" "--force-rm" "-"] output:
Sending build context to Docker daemon  40.96kB

Step 1/9 : FROM buildpack-deps:stretch-scm
 ---> 5df934ddb9f1
Step 2/9 : RUN apt-get update && apt-get install -y --no-install-recommends 		g++ 		gcc 		libc6-dev 		make 		pkg-config 	&& rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 2332bebe9fbb
Step 3/9 : ENV GOLANG_VERSION 1.10beta1
 ---> Running in 2090800f67f8
 ---> d69ba4d31c00
Removing intermediate container 2090800f67f8
Step 4/9 : RUN set -eux; 		dpkgArch="$(dpkg --print-architecture)"; 	case "${dpkgArch##*-}" in 		amd64) goRelArch='linux-amd64'; goRelSha256='ec7a10b5bf147a8e06cf64e27384ff3c6d065c74ebd8fdd31f572714f74a1055' ;; 		armhf) goRelArch='linux-armv6l'; goRelSha256='32daa257a930ef85ca74bca107d477b3484f0b5ef7cc48086110916368d9c584' ;; 		arm64) goRelArch='linux-arm64'; goRelSha256='3a80555b3c4beecfb9af88c718f8676101ada74dea84f4aa1ade29d2d78554e0' ;; 		i386) goRelArch='linux-386'; goRelSha256='e0f30e18384e3beae8ce16cc6d095d899e29fb786c57297650acb7727fb3090e' ;; 		ppc64el) goRelArch='linux-ppc64le'; goRelSha256='b4c7404771b380212277fecc3b9a4f99f9978d024a45d3644c495a469df31ed8' ;; 		s390x) goRelArch='linux-s390x'; goRelSha256='bc3c66ab980e782ce52165a3a1572484353904c1b884dbbb87a662776280489d' ;; 		*) goRelArch='src'; goRelSha256='841df62b20fd915d83a2e43b7d043c2a3781c299de78abc45480eec575186b6b'; 			echo >&2; echo >&2 "warning: current architecture ($dpkgArch) does not have a corresponding Go binary release; will be building from source"; echo >&2 ;; 	esac; 		url="https://golang.org/dl/go${GOLANG_VERSION}.${goRelArch}.tar.gz"; 	wget -O go.tgz "$url"; 	echo "${goRelSha256} *go.tgz" | sha256sum -c -; 	tar -C /usr/local -xzf go.tgz; 	rm go.tgz; 		if [ "$goRelArch" = 'src' ]; then 		echo >&2; 		echo >&2 'error: UNIMPLEMENTED'; 		echo >&2 'TODO install golang-any from jessie-backports for GOROOT_BOOTSTRAP (and uninstall after build)'; 		echo >&2; 		exit 1; 	fi; 		export PATH="/usr/local/go/bin:$PATH"; 	go version
 ---> Running in 1d9048b72668
+ dpkg --print-architecture
+ dpkgArch=armhf
+ goRelArch=linux-armv6l
+ goRelSha256=32daa257a930ef85ca74bca107d477b3484f0b5ef7cc48086110916368d9c584
+ url=https://golang.org/dl/go1.10beta1.linux-armv6l.tar.gz
+ wget -O go.tgz https://golang.org/dl/go1.10beta1.linux-armv6l.tar.gz
--2018-01-10 22:50:19--  https://golang.org/dl/go1.10beta1.linux-armv6l.tar.gz
Resolving golang.org (golang.org)... 172.217.3.113, 2607:f8b0:4006:818::2011
Connecting to golang.org (golang.org)|172.217.3.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://dl.google.com/go/go1.10beta1.linux-armv6l.tar.gz [following]
--2018-01-10 22:50:20--  https://dl.google.com/go/go1.10beta1.linux-armv6l.tar.gz
Resolving dl.google.com (dl.google.com)... 172.217.11.14, 2607:f8b0:4006:814::200e
Connecting to dl.google.com (dl.google.com)|172.217.11.14|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 122597317 (117M) [application/octet-stream]
Saving to: 'go.tgz'

     0K .......... .......... .......... .......... ..........  0% 1.09M 1m47s

 (download lines removed for brevity)

119700K .......... .......... ...                             100% 82.9M=5.8s

2018-01-10 22:50:26 (20.2 MB/s) - 'go.tgz' saved [122597317/122597317]

+ echo 32daa257a930ef85ca74bca107d477b3484f0b5ef7cc48086110916368d9c584 *go.tgz
+ sha256sum -c -
go.tgz: OK
+ tar -C /usr/local -xzf go.tgz
+ rm go.tgz
+ [ linux-armv6l = src ]
+ export PATH=/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ go version
/bin/sh: 1: go: Exec format error
Removing intermediate container 1d9048b72668
The command '/bin/sh -c set -eux; 		dpkgArch="$(dpkg --print-architecture)"; 	case "${dpkgArch##*-}" in 		amd64) goRelArch='linux-amd64'; goRelSha256='ec7a10b5bf147a8e06cf64e27384ff3c6d065c74ebd8fdd31f572714f74a1055' ;; 		armhf) goRelArch='linux-armv6l'; goRelSha256='32daa257a930ef85ca74bca107d477b3484f0b5ef7cc48086110916368d9c584' ;; 		arm64) goRelArch='linux-arm64'; goRelSha256='3a80555b3c4beecfb9af88c718f8676101ada74dea84f4aa1ade29d2d78554e0' ;; 		i386) goRelArch='linux-386'; goRelSha256='e0f30e18384e3beae8ce16cc6d095d899e29fb786c57297650acb7727fb3090e' ;; 		ppc64el) goRelArch='linux-ppc64le'; goRelSha256='b4c7404771b380212277fecc3b9a4f99f9978d024a45d3644c495a469df31ed8' ;; 		s390x) goRelArch='linux-s390x'; goRelSha256='bc3c66ab980e782ce52165a3a1572484353904c1b884dbbb87a662776280489d' ;; 		*) goRelArch='src'; goRelSha256='841df62b20fd915d83a2e43b7d043c2a3781c299de78abc45480eec575186b6b'; 			echo >&2; echo >&2 "warning: current architecture ($dpkgArch) does not have a corresponding Go binary release; will be building from source"; echo >&2 ;; 	esac; 		url="https://golang.org/dl/go${GOLANG_VERSION}.${goRelArch}.tar.gz"; 	wget -O go.tgz "$url"; 	echo "${goRelSha256} *go.tgz" | sha256sum -c -; 	tar -C /usr/local -xzf go.tgz; 	rm go.tgz; 		if [ "$goRelArch" = 'src' ]; then 		echo >&2; 		echo >&2 'error: UNIMPLEMENTED'; 		echo >&2 'TODO install golang-any from jessie-backports for GOROOT_BOOTSTRAP (and uninstall after build)'; 		echo >&2; 		exit 1; 	fi; 		export PATH="/usr/local/go/bin:$PATH"; 	go version' returned a non-zero code: 2

And from https://doi-janky.infosiftr.net/job/multiarch/view/images/view/golang/job/arm32v6/job/golang/28/consoleFull:

+ bashbrew build golang:1.10beta1-alpine3.7
Building bashbrew/cache:fad44acadcd7877d598ec623cebe8c75a28de4d1641b3403726df2e53ff5ebf8 (golang:1.10beta1-alpine3.7)
error: failed building "golang" (tags "1.10beta1-alpine3.7, 1.10-rc-alpine3.7, rc-alpine3.7, 1.10beta1-alpine, 1.10-rc-alpine, rc-alpine")
exit status 2
docker ["build" "-t" "bashbrew/cache:fad44acadcd7877d598ec623cebe8c75a28de4d1641b3403726df2e53ff5ebf8" "--rm" "--force-rm" "-"] output:
Sending build context to Docker daemon  10.24kB

Step 1/10 : FROM alpine:3.7
 ---> 889c6315e8d7
Step 2/10 : RUN apk add --no-cache ca-certificates
 ---> Using cache
 ---> 2b26195a604f
Step 3/10 : ENV GOLANG_VERSION 1.10beta1
 ---> Using cache
 ---> 395ae0061e6e
Step 4/10 : COPY *.patch /go-alpine-patches/
 ---> Using cache
 ---> 61345e329819
Step 5/10 : RUN set -eux; 	apk add --no-cache --virtual .build-deps 		bash 		gcc 		musl-dev 		openssl 		go 	; 	export 		GOROOT_BOOTSTRAP="$(go env GOROOT)" 		GOOS="$(go env GOOS)" 		GOARCH="$(go env GOARCH)" 		GOHOSTOS="$(go env GOHOSTOS)" 		GOHOSTARCH="$(go env GOHOSTARCH)" 	; 	apkArch="$(apk --print-arch)"; 	case "$apkArch" in 		armhf) export GOARM='6' ;; 		x86) export GO386='387' ;; 	esac; 		wget -O go.tgz "https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz"; 	echo '841df62b20fd915d83a2e43b7d043c2a3781c299de78abc45480eec575186b6b *go.tgz' | sha256sum -c -; 	tar -C /usr/local -xzf go.tgz; 	rm go.tgz; 		cd /usr/local/go/src; 	for p in /go-alpine-patches/*.patch; do 		[ -f "$p" ] || continue; 		patch -p2 -i "$p"; 	done; 	./make.bash; 		rm -rf /go-alpine-patches; 	apk del .build-deps; 		export PATH="/usr/local/go/bin:$PATH"; 	go version
 ---> Running in 9cf22a8dca62
+ apk add --no-cache --virtual .build-deps bash gcc musl-dev openssl go
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/armhf/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/armhf/APKINDEX.tar.gz
(1/23) Installing pkgconf (1.3.10-r0)
(2/23) Installing ncurses-terminfo-base (6.0_p20170930-r0)
(3/23) Installing ncurses-terminfo (6.0_p20170930-r0)
(4/23) Installing ncurses-libs (6.0_p20170930-r0)
(5/23) Installing readline (7.0.003-r0)
(6/23) Installing bash (4.4.12-r2)
Executing bash-4.4.12-r2.post-install
(7/23) Installing binutils-libs (2.28-r3)
(8/23) Installing binutils (2.28-r3)
(9/23) Installing gmp (6.1.2-r1)
(10/23) Installing isl (0.18-r0)
(11/23) Installing libgomp (6.4.0-r5)
(12/23) Installing libatomic (6.4.0-r5)
(13/23) Installing libgcc (6.4.0-r5)
(14/23) Installing mpfr3 (3.1.5-r1)
(15/23) Installing mpc1 (1.0.3-r1)
(16/23) Installing libstdc++ (6.4.0-r5)
(17/23) Installing gcc (6.4.0-r5)
(18/23) Installing musl-dev (1.1.18-r2)
(19/23) Installing libcrypto1.0 (1.0.2n-r0)
(20/23) Installing libssl1.0 (1.0.2n-r0)
(21/23) Installing openssl (1.0.2n-r0)
(22/23) Installing go (1.9.2-r1)
(23/23) Installing .build-deps (0)
Executing busybox-1.27.2-r6.trigger
Executing ca-certificates-20171114-r0.trigger
OK: 242 MiB in 35 packages
+ go env GOROOT
+ go env GOOS
+ go env GOARCH
+ go env GOHOSTOS
+ go env GOHOSTARCH
+ export GOROOT_BOOTSTRAP=/usr/lib/go GOOS=linux GOARCH=arm GOHOSTOS=linux GOHOSTARCH=arm
+ apk --print-arch
+ apkArch=armhf
+ export GOARM=6
+ wget -O go.tgz https://golang.org/dl/go1.10beta1.src.tar.gz
Connecting to golang.org (172.217.12.177:443)
Connecting to dl.google.com (172.217.12.142:443)
go.tgz                22% |******                         |  4016k  0:00:03 ETA
go.tgz               100% |*******************************| 17883k  0:00:00 ETA

+ echo 841df62b20fd915d83a2e43b7d043c2a3781c299de78abc45480eec575186b6b *go.tgz
+ sha256sum -c -
go.tgz: OK
+ tar -C /usr/local -xzf go.tgz
+ rm go.tgz
+ cd /usr/local/go/src
+ [ -f /go-alpine-patches/no-pic.patch ]
+ patch -p2 -i /go-alpine-patches/no-pic.patch
patching file cmd/link/internal/ld/lib.go
+ ./make.bash
Building Go cmd/dist using /usr/lib/go.
Building Go toolchain1 using /usr/lib/go.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for linux/arm.
go tool dist: FAILED: /usr/local/go/bin/go list -gcflags=all= -ldflags=all= -f={{if .Stale}}	STALE {{.ImportPath}}: {{.StaleReason}}{{end}} std cmd: fork/exec /usr/local/go/bin/go: exec format error
Removing intermediate container 9cf22a8dca62
The command '/bin/sh -c set -eux; 	apk add --no-cache --virtual .build-deps 		bash 		gcc 		musl-dev 		openssl 		go 	; 	export 		GOROOT_BOOTSTRAP="$(go env GOROOT)" 		GOOS="$(go env GOOS)" 		GOARCH="$(go env GOARCH)" 		GOHOSTOS="$(go env GOHOSTOS)" 		GOHOSTARCH="$(go env GOHOSTARCH)" 	; 	apkArch="$(apk --print-arch)"; 	case "$apkArch" in 		armhf) export GOARM='6' ;; 		x86) export GO386='387' ;; 	esac; 		wget -O go.tgz "https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz"; 	echo '841df62b20fd915d83a2e43b7d043c2a3781c299de78abc45480eec575186b6b *go.tgz' | sha256sum -c -; 	tar -C /usr/local -xzf go.tgz; 	rm go.tgz; 		cd /usr/local/go/src; 	for p in /go-alpine-patches/*.patch; do 		[ -f "$p" ] || continue; 		patch -p2 -i "$p"; 	done; 	./make.bash; 		rm -rf /go-alpine-patches; 	apk del .build-deps; 		export PATH="/usr/local/go/bin:$PATH"; 	go version' returned a non-zero code: 2

The first of these is simply downloading https://dl.google.com/go/go1.10beta1.linux-armv6l.tar.gz and extracting/running it unchanged in a fairly stock Debian armhf Stretch environment.

The second is downloading https://dl.google.com/go/go1.10beta1.src.tar.gz and building it for an explicit GOARM=6 in a fairly stock Alpine armhf 3.7 environment.

Again, these both succeed on real arm32 hardware (a Raspberry Pi 2 running Ubuntu armhf 16.04 in this case), but fail on both arm64 servers we have access to (which are both supposed to support arm32 instructions).


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4