Skip to content
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

golang:1.21.5 on linux/arm/v6 : no match for platform in manifest #502

Closed
buchdag opened this issue Dec 21, 2023 · 7 comments
Closed

golang:1.21.5 on linux/arm/v6 : no match for platform in manifest #502

buchdag opened this issue Dec 21, 2023 · 7 comments

Comments

@buchdag
Copy link

buchdag commented Dec 21, 2023

Hi

linux/arm/v6 version of golang:1.21.5 seems to have disappeared (this was working yesterday):

#7 [linux/arm/v6 internal] load metadata for docker.io/library/golang:1.21.5
#7 ERROR: no match for platform in manifest: not found

https://github.com/nginx-proxy/docker-gen/actions/runs/7281452341/job/19844016060#step:9:182

@tianon
Copy link
Member

tianon commented Dec 21, 2023

See #500 -- this was an intentional change. Suggested workarounds are downgarding to Go 1.20 or switching to the Alpine-based images (which as an added benefit will be properly arm32v6 instead of the arm32v5 you were getting previously, and thus likely quite a bit more performant).

@tianon
Copy link
Member

tianon commented Dec 21, 2023

(if you're not running natively on the target architecture, you might also consider cross compiling instead of emulating the CPU architecture -- Go's really good at it 😄)

@tianon
Copy link
Member

tianon commented Dec 21, 2023

See https://github.com/tianon/dockerfiles/blob/6dff6b254b7718a4430052f26eb03c7f5326ebb3/buildkit/Dockerfile for a fairly straightforward example of how to make the cross-compile work using buildkit's built-in support for doing so (--platform=$BUILDPLATFORM vs $TARGETxxx variables).

@buchdag
Copy link
Author

buchdag commented Dec 21, 2023

Don't get this wrong but I'm really confused about how a given tag of an official Docker library image can be available for a given arch one day, then not available anymore the next day, no matter how intentional and technically sound the change.

Did the arm/v6 versions of 1.21.x have an issue that justified removing them entirely from Dockerhub post initial release ?

@tianon
Copy link
Member

tianon commented Dec 21, 2023

The only actual arm/v6 images we've ever had for any version are the Alpine variants -- the Debian-based variants have always been arm/v5 (which will run on an arm/v6 system, which is why --platform linux/arm/v6 pulled those). If you still need them, they're still available via arm32v5/golang:xxx.

@buchdag
Copy link
Author

buchdag commented Dec 21, 2023

That's noted.

Thanks for the ressources on cross-compiling.

@buchdag
Copy link
Author

buchdag commented Dec 24, 2023

See https://github.com/tianon/dockerfiles/blob/6dff6b254b7718a4430052f26eb03c7f5326ebb3/buildkit/Dockerfile for a fairly straightforward example of how to make the cross-compile work using buildkit's built-in support for doing so (--platform=$BUILDPLATFORM vs $TARGETxxx variables).

Thanks for the example @tianon, I implemented it pretty much the same way and it works damn well. Makes you wish other languages had cross compilation capabilities on par with Go ...

cdzombak added a commit to cdzombak/openweather-influxdb-connector that referenced this issue Dec 28, 2023
cdzombak added a commit to cdzombak/gmail-cleaner that referenced this issue Dec 28, 2023
cdzombak added a commit to cdzombak/mastodon-post that referenced this issue Dec 28, 2023
ncw added a commit to rclone/rclone that referenced this issue Jan 3, 2024
Unexpectedly the team which runs the Go docker images have removed the
arm/v6 image which means that the rclone docker images no longer
build.

One of the recommended fixes is what we've done here - switch to the
alpine builder. This has the advantage that it actually builds arm/v6
architecture unlike the previous builder which build arm/v5.

See: docker-library/golang#502
ncw added a commit to rclone/rclone that referenced this issue Jan 5, 2024
Unexpectedly the team which runs the Go docker images have removed the
arm/v6 image which means that the rclone docker images no longer
build.

One of the recommended fixes is what we've done here - switch to the
alpine builder. This has the advantage that it actually builds arm/v6
architecture unlike the previous builder which build arm/v5.

See: docker-library/golang#502
a-bali pushed a commit to a-bali/janitor that referenced this issue Feb 8, 2024
a-bali pushed a commit to a-bali/janitor that referenced this issue Feb 8, 2024
a-bali pushed a commit to a-bali/janitor that referenced this issue Feb 8, 2024
Fornax96 pushed a commit to Fornaxian/rclone that referenced this issue Jul 30, 2024
Unexpectedly the team which runs the Go docker images have removed the
arm/v6 image which means that the rclone docker images no longer
build.

One of the recommended fixes is what we've done here - switch to the
alpine builder. This has the advantage that it actually builds arm/v6
architecture unlike the previous builder which build arm/v5.

See: docker-library/golang#502
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

No branches or pull requests

2 participants