Skip to content

Missing linux/ppc64le for Golang 1.18 image #416

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jauderho opened this issue Mar 17, 2022 · 4 comments · Fixed by #417
Closed

Missing linux/ppc64le for Golang 1.18 image #416

jauderho opened this issue Mar 17, 2022 · 4 comments · Fixed by #417

Comments

@jauderho
Copy link

Go 1.18 was just released but it appears that the build job for linux/ppc64le have failed and need to be respun.

This is in reference to docker-library/official-images#12045 (comment)

Per @DasSkelett,

FWIW, it looks like PR docker-library/official-images#12055 is inbound so it's unclear if we want to wait until that rolls out.

@tianon tianon transferred this issue from docker-library/official-images Mar 17, 2022
@tianon
Copy link
Member

tianon commented Mar 17, 2022

The failure looks like a pretty consistent failure in either go from Alpine itself (installed fresh within that layer, so docker-library/official-images#12055 is not likely to cause any change), or in the bootstrap version of go that gets built from Alpine's go:

...
+ ./make.bash
Building Go cmd/dist using /usr/lib/go. (go1.16.10 linux/ppc64le)
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/ppc64le.
go tool dist: FAILED: /usr/local/go/bin/go list -gcflags=all= -ldflags=all= -f={{if .Stale}}	STALE {{.ImportPath}}: {{.StaleReason}}{{end}} std cmd: signal: segmentation fault (core dumped)

@DasSkelett
Copy link
Contributor

DasSkelett commented Mar 19, 2022

There's now an upstream Go issue tracking this, the Alpine people have hit the same trying to build the package for their repository:
golang/go#51787
One of their build logs: https://gitlab.alpinelinux.org/alpine/aports/-/jobs/661598#L1041

@jauderho
Copy link
Author

Looks like ppc64le builds are showing up now BUT only for certain tags. ppc64le builds are available for alpine and alpine3.15 but not available for 1.18.0-alpine or 1.18.0-alpine3.15

See https://hub.docker.com/_/golang?tab=tags&page=1&name=alpine

@yosifkit
Copy link
Member

Looks like ppc64le builds are showing up now BUT only for certain tags. ppc64le builds are available for alpine and alpine3.15 but not available for 1.18.0-alpine or 1.18.0-alpine3.15

The manifest lists that are the combination of multiple architectures into a single tag are built from the tags are available in each architecture (because some architectures take longer to build than others). For example, here is the Docker Hub ppc64le/golang repo. ppc64le images are pushed there and then another job combines them into the main manifest under https://hub.docker.com/_/golang. The result is that rather than architectures disappearing and reappearing on the more general tags, the slow (or failing-to-build architectures) instead happen to point to the previous image. In this case, it is the golang:1.17.8-alpine image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants