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

Unable to build images on arm64 #101

Open
palmsey opened this issue Aug 13, 2022 · 4 comments
Open

Unable to build images on arm64 #101

palmsey opened this issue Aug 13, 2022 · 4 comments

Comments

@palmsey
Copy link

palmsey commented Aug 13, 2022

I have a task definition like

platform: linux
image_resource:
  type: registry-image
  source:
    repository: concourse/oci-build-task
inputs:
  - name: repo
outputs:
  - name: my-image
run:
  path: build
params:
  CONTEXT: repo

When I run it on my M1 Mac, when it gets to the first RUN command in the Dockerfile I get the error:

#7 0.260 container_linux.go:380: starting container process caused: process_linux.go:393: copying bootstrap data to pipe caused: write init-p: broken pipe

When I run it in a linux/amd64 EC2 instance, the same task completes successfully. I'm using the docker-compose from the QuickStart, but with the concourse image changed to rdclda/concourse:7.8.2 since concourse/concourse won't run on my M1.

The full file is:

version: '3'

services:
  concourse-db:
    image: postgres
    environment:
      POSTGRES_DB: concourse
      POSTGRES_PASSWORD: concourse_pass
      POSTGRES_USER: concourse_user
      PGDATA: /database

  concourse:
    image: rdclda/concourse:7.8.2
    command: quickstart
    privileged: true
    depends_on: [ concourse-db ]
    ports: [ "8080:8080" ]
    environment:
      CONCOURSE_POSTGRES_HOST: concourse-db
      CONCOURSE_POSTGRES_USER: concourse_user
      CONCOURSE_POSTGRES_PASSWORD: concourse_pass
      CONCOURSE_POSTGRES_DATABASE: concourse
      CONCOURSE_EXTERNAL_URL: http://localhost:8080
      CONCOURSE_ADD_LOCAL_USER: test:test
      CONCOURSE_MAIN_TEAM_LOCAL_USER: test
      # instead of relying on the default "detect"
      CONCOURSE_WORKER_BAGGAGECLAIM_DRIVER: overlay
      CONCOURSE_CLIENT_SECRET: Y29uY291cnNlLXdlYgo=
      CONCOURSE_TSA_CLIENT_SECRET: Y29uY291cnNlLXdvcmtlcgo=
      CONCOURSE_X_FRAME_OPTIONS: allow
      CONCOURSE_CONTENT_SECURITY_POLICY: "*"
      CONCOURSE_CLUSTER_NAME: tutorial
      CONCOURSE_WORKER_CONTAINERD_DNS_SERVER: "8.8.8.8"
      CONCOURSE_WORKER_RUNTIME: "containerd"
@gsaslis
Copy link

gsaslis commented Aug 14, 2023

Hi there @palmsey

I'm running into a similar issue, so I was wondering if you ever got this to work and kept a working config somewhere ?

Thanks in advance!

@palmsey
Copy link
Author

palmsey commented Aug 14, 2023

Sorry, I didn't find a solution for this and eventually switched to GH Actions.

@gsaslis
Copy link

gsaslis commented Aug 14, 2023

thanks for the prompt reply @palmsey !

For What It's Worth (FWIW), I did eventually manage to get this going.
More details on concourse/concourse#8719 (comment)

@ragaskar
Copy link

Curious if you can elaborate on how you fixed this issue, @gsaslis -- I am getting past initial mount issues by using a concourse arm64 image as you suggested, but when I attempt to use the oci_build_task image to build an image it fails with a similar "runc run failed: unable to start container process: can't copy bootstrap data to pipe: write init-p: broken pipe".

At the moment my hypothesis is that I also need an arm64 oci_build_task.

It's not clear if "I did eventually manage to get this going" you mean "concourse runs on an m1" OR "concourse runs on an M1 and can build images with the oci-build-task image" -- the latter is what I'm trying to do.

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

3 participants