cloud-sql-proxy icon indicating copy to clipboard operation
cloud-sql-proxy copied to clipboard

Bullseye Dockerfile should support linux/arm64

Open enocom opened this issue 3 years ago • 0 comments

The bullseye container image supports only linux/amd64. When we try to build linux/arm64 support, we get this:

From the Cloud Build logs:

Step #4 - "build-multi-architecture-container-image": #20 78.77 Preparing to unpack .../libfuse2_2.9.9-5_arm64.deb ...
Step #4 - "build-multi-architecture-container-image": #20 78.80 Unpacking libfuse2:arm64 (2.9.9-5) ...
Step #4 - "build-multi-architecture-container-image": #20 79.93 Selecting previously unselected package fuse.
Step #4 - "build-multi-architecture-container-image": #20 79.94 Preparing to unpack .../fuse_2.9.9-5_arm64.deb ...
Step #4 - "build-multi-architecture-container-image": #20 79.95 Unpacking fuse (2.9.9-5) ...
Step #4 - "build-multi-architecture-container-image": #20 80.51 Setting up libfuse2:arm64 (2.9.9-5) ...
Step #4 - "build-multi-architecture-container-image": #20 80.54 Setting up fuse (2.9.9-5) ...
Step #4 - "build-multi-architecture-container-image": #20 81.25 Processing triggers for libc-bin (2.31-13+deb11u5) ...
Step #4 - "build-multi-architecture-container-image": #20 81.51 qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Step #4 - "build-multi-architecture-container-image": #20 81.52 Segmentation fault
Step #4 - "build-multi-architecture-container-image": #20 81.68 qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Step #4 - "build-multi-architecture-container-image": #20 81.68 Segmentation fault
Step #4 - "build-multi-architecture-container-image": #20 81.69 dpkg: error processing package libc-bin (--configure):
Step #4 - "build-multi-architecture-container-image": #20 81.69  installed libc-bin package post-installation script subprocess returned error exit status 139
Step #4 - "build-multi-architecture-container-image": #20 81.72 Errors were encountered while processing:
Step #4 - "build-multi-architecture-container-image": #20 81.72  libc-bin
Step #4 - "build-multi-architecture-container-image": #20 82.18 E: Sub-process /usr/bin/dpkg returned an error code (1)
Step #4 - "build-multi-architecture-container-image": #20 ERROR: process "/bin/sh -c apt-get update && apt-get install -y fuse && sed -i 's/^#user_allow_other$/user_allow_other/g' /etc/fuse.conf" did not complete successfully: exit code: 100
Step #4 - "build-multi-architecture-container-image": 
Step #4 - "build-multi-architecture-container-image": #19 [linux/amd64->arm64 build 5/5] RUN GOOS=linux GOARCH=arm64     go build -ldflags "-X main.metadataString=container.bullseye"
Step #4 - "build-multi-architecture-container-image": #19 CANCELED
Step #4 - "build-multi-architecture-container-image": ------
Step #4 - "build-multi-architecture-container-image":  > [linux/arm64 stage-1 3/5] RUN apt-get update && apt-get install -y fuse && sed -i 's/^#user_allow_other$/user_allow_other/g' /etc/fuse.conf:
Step #4 - "build-multi-architecture-container-image": #20 81.25 Processing triggers for libc-bin (2.31-13+deb11u5) ...
Step #4 - "build-multi-architecture-container-image": #20 81.51 qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Step #4 - "build-multi-architecture-container-image": #20 81.52 Segmentation fault
Step #4 - "build-multi-architecture-container-image": #20 81.68 qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Step #4 - "build-multi-architecture-container-image": #20 81.68 Segmentation fault
Step #4 - "build-multi-architecture-container-image": #20 81.69 dpkg: error processing package libc-bin (--configure):
Step #4 - "build-multi-architecture-container-image": #20 81.69  installed libc-bin package post-installation script subprocess returned error exit status 139
Step #4 - "build-multi-architecture-container-image": #20 81.72 Errors were encountered while processing:
Step #4 - "build-multi-architecture-container-image": #20 81.72  libc-bin
Step #4 - "build-multi-architecture-container-image": #20 82.18 E: Sub-process /usr/bin/dpkg returned an error code (1)
Step #4 - "build-multi-architecture-container-image": ------
Step #4 - "build-multi-architecture-container-image": Dockerfile.bullseye:32
Step #4 - "build-multi-architecture-container-image": --------------------
Step #4 - "build-multi-architecture-container-image":   30 |     RUN apt-get update && apt-get install -y ca-certificates
Step #4 - "build-multi-architecture-container-image":   31 |     # Install fuse and allow enable non-root users to mount
Step #4 - "build-multi-architecture-container-image":   32 | >>> RUN apt-get update && apt-get install -y fuse && sed -i 's/^#user_allow_other$/user_allow_other/g' /etc/fuse.conf
Step #4 - "build-multi-architecture-container-image":   33 |     # Add a non-root user matching the nonroot user from the main container
Step #4 - "build-multi-architecture-container-image":   34 |     RUN groupadd -g 65532 -r nonroot && useradd -u 65532 -g 65532 -r nonroot
Step #4 - "build-multi-architecture-container-image": --------------------
Step #4 - "build-multi-architecture-container-image": error: failed to solve: process "/bin/sh -c apt-get update && apt-get install -y fuse && sed -i 's/^#user_allow_other$/user_allow_other/g' /etc/fuse.conf" did not complete successfully: exit code: 100
Finished Step #4 - "build-multi-architecture-container-image"
ERROR
ERROR: build step 4 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 1

This is likely an issue with qemu. Possibly related:

  1. https://stackoverflow.com/questions/68862313/qemu-uncaught-target-signal-11-segmentation-fault-core-dumped-in-docker-con
  2. https://github.com/docker/for-mac/issues/5123

enocom avatar Oct 25 '22 18:10 enocom