Description
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version
)?
1.10.3
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env
)?
alpine linux
What did you do?
try to build docker image
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
i Copied the dockerfile from here
https://github.com/docker-library/golang/blob/fa0223eaa427188e0c70025f557d515129a9973f/1.10/alpine3.7/Dockerfile
i ran go build -t go:110 . from the dir of Dockerfile
What did you expect to see?
lots of things , then
Build Successful $somehash
What did you see instead?
- [ -f /go-alpine-patches/*.patch ]
- continue
- ./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.
cmd/compile/internal/ssa
src/cmd/compile/internal/ssa/rewrite386.go:11240:2: internal compiler error: storeOrder: value is missing, total count = 2162738, values = [v2178 v2181 v2182 v2183 v2184 v2185 v2187 v2190 v2191 v2192 v2193 v2194 v2195 v2196 v2197 v2198 v2199 v2200 v2201 v2202 v2203 v2204 v2206 v2207 v2208 v2210 v2211 v2212 v2213 v2214 v2215 v2216 v2217 v2219 v2220 v2221 v2223 v2224 v2225 v2227 v2228 v2229 v2230 v4838 v4776 v4775 v4780 v4779 v4786 v4785]
Please file a bug report including a short program that triggers the error.
https://golang.org/issue/new
go tool dist: FAILED: /usr/local/go/pkg/tool/linux_amd64/go_bootstrap install -gcflags=all= -ldflags=all= -i cmd/asm cmd/cgo cmd/compile cmd/link: exit status 2
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 '567b1cc66c9704d1c019c50bef946272e911ec6baf244310f87f4e678be155f2 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
Activity
reesezee commentedon Jun 27, 2018
After further testing, adding a file to directory e.g. "go-wrapper" changes the errors.
when the file is named go-wrapper there is a checksum error on go.tgz
when I renamed the file to just gw(thinking it wouldnt be looking for it)
there was a compile error
cmd/compile/internal/gc
unexpected fault address 0x0
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0xae4c57]
goroutine 1 [running]:
i don't know if this helps. but thought I would add it.
reesezee commentedon Jun 27, 2018
i just successfully built go 1.9.7 on alpine 3.7 in the same fashion with the addition of the included files {go-wrapper,*.patch}
Removing intermediate container a8606a6362c9
Successfully built 69d4e0d14419
date
Wed Jun 27 11:24:11 PDT 2018
[-]alpine 3.7 gol 1.10. Dockerfile build fail[/-][+]cmd/compile: storeOrder: value is missing[/+]ianlancetaylor commentedon Jun 27, 2018
CC @randall77 @josharian
Could you see if the same problem happens with 1.11beta1? Thanks.
reesezee commentedon Jun 27, 2018
different problem
for this test the only file present in the dir is Dockerfile
the command I ran was:
docker build --no-cache -t go:111 .
go.tgz 100% |*******************************| 20290k 0:00:00 ETA
sha256sum: WARNING: 1 of 1 computed checksums did NOT match
go.tgz: FAILED
reesezee commentedon Jun 27, 2018
I just ran it again and getting similar failure as the original
CMD:: docker build --no-cache -t go:111b1 .
ERROR::
go tool dist: FAILED: /usr/lib/go/bin/go install -gcflags=-l -tags=math_big_pure_go compiler_bootstrap bootstrap/cmd/...: exit status 2
cherrymui commentedon Jun 27, 2018
It seems this fails in bootstrap, when it tries to build cmd/compile. What version of Go are you using for bootstrap?
josharian commentedon Jun 27, 2018
Do I understand correctly that you are applying patches to the Go tree prior to building it? If so, perhaps this should be reported to whoever maintains those patches.
reesezee commentedon Jun 27, 2018
the Dockerfile fetches the beta version
ENV GOLANG_VERSION 1.11beta1
wget -O go.tgz "https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz";
echo '5955eeb8f45e02aa5357fc18e62f1fe6c1b19e0c50aba93b8b9d9ef13b862dda *go.tgz' | sha256sum -c -;
tar -C /usr/local -xzf go.tgz; \
reesezee commentedon Jun 27, 2018
@josharian there are no patches for the 1.10 or 1.11b1 builds.
at least not that I am aware of. i.e. they are not present in the alpine3.7 directory like they are for
1.9.7 alpine3.7
cherrymui commentedon Jun 27, 2018
@reesezee 1.11 beta 1 is the version you're trying to build. What version of Go are you using to build it? It looks like this is the
go
binary in your $PATH. What is the output ofgo version
?reesezee commentedon Jun 27, 2018
@cherrymui this is a build happening in a docker container.
tl:dr of the dockerfile
set env vars
install go via "apk add"
wget patches_&VERSION_.patch
tar xzf go.tgz
patch *.patch
mkdirs go/{src,bin}
then should finish
If I used the dockerfile specified for the 1.11beta1 as requested. If I needed to specify the go version number for the APK install, either it is getting it from the ENV variable
or its not needed, as I would expect it to be specified in the Dockerfile.
reesezee commentedon Jun 28, 2018
the go version being installed from the command
"apk add go"
1.9.4
reesezee commentedon Jun 28, 2018
I've successfully built 1.9.7 on Alpine 3.7
1.10.3 Alpine 3.7
1.11.beta1 on Alpine 3.7
reesezee commentedon Jun 28, 2018
should i close this ?
cherrymui commentedon Jun 28, 2018
Ok, thanks.