Work around qemu/ppc64le issue for debian buster
Closed this issue · 2 comments
As mentioned in apache/couchdb-ci#27 we are not presently able to build debian buster images for CouchDB CI use on ppc64. This will in turn limit our ability to build packages for that platform, which in turn will limit our ability to release Docker containers on that platform.
The overriding reason to move the base image from stretch to buster is that buster contains Spidermonkey 60 which is coming to CouchDB 3.0, and at present, buster is the only supported Linux distro to ship pre-built binaries.
Rather than go through the trouble of building SM60 for all the platforms (as we do for SM1.8.5 today) the simplest workaround is to special-case the Docker CouchDB 3.0 container to use stretch instead of buster for ppc64le (and continue to be on SM1.8.5 for now), which is fine.
The fix is easy: a simple copy of the Dockerfile to Dockerfile.ppc64le with the FROM line changed, and a similar change downstream in the main Docker repo to reference the new Dockerfile specifically for ppc64le. This allows arm64v8 and amd64 at least to move forward with SM60 support, for the very large number of people using those platforms.
Once the upstream qemu/buster issue is resolved, we can go back to a single Dockerfile for all platforms.
A soon-to-follow PR will add the 3.0.0 prototype Dockerfiles.
/cc @willholley
For now, we are using real ppc64le
machines for this work.
This just started working again with latest QEMU, so I am dropping this ticket.
Locally, I run this to get the latest binaries, and everything's happy:
docker run --rm --privileged multiarch/qemu-user-static:latest --reset -p yes