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

can't install any packages on arch of linux/arm/v6 #1794

Closed
ozbillwang opened this issue Oct 21, 2022 · 7 comments
Closed

can't install any packages on arch of linux/arm/v6 #1794

ozbillwang opened this issue Oct 21, 2022 · 7 comments

Comments

@ozbillwang
Copy link

ozbillwang commented Oct 21, 2022

Environment

  • Platform: linux/arm/v6
  • Docker Version: 20.10.11
  • Node.js Version: node:alpine ( should be 19)
  • Image Tag: node:alpine

image

Expected Behavior

$ cat Dockerfile

FROM node:alpine

RUN npm install -g uuid

CMD ["semver", "--help"]

# run with multi arch build with buildx
$ docker buildx build --no-cache --platform linux/arm/v6 -t demo .

buid and generate the image for platform linux/arm/v6

Current Behavior

The docker buildx command stuck at npm install -g uuid forever. and it stuck on any npm packages, not only uuid.

I can't build with buildx on platform linux/arm/v6 only, no problem to other platforms, such as

  • linux/amd64
  • linux/arm/v7
  • linux/arm64/v8
  • linux/ppc64le
  • linux/s390x

The buildx command worked with platform linux/arm/v6 before until 14th Oct. I run weekly build, got this error yesterday. So this problem is related a build chnage between 14th Oct and 21th Oct 2022

run with normal docker build is fine on my macbook (amd64)

Possible Solution

Steps to Reproduce

$ cat Dockerfile

FROM node:alpine

RUN npm install -g uuid

CMD ["semver", "--help"]

# run with multi arch build with buildx
$ docker buildx build --no-cache --platform linux/arm/v6 -t demo .

# command nerver finished

Additional Information

Weekly build logs for your reference:

https://app.travis-ci.com/github/alpine-docker/semver/builds

@tyranron
Copy link

tyranron commented Oct 25, 2022

I do have the very similar issue, however in my case, it doesn't build for all the platforms except amd64 and arm64v8, all others just stuck.

CI: https://github.com/instrumentisto/haraka-docker-image/actions/runs/3322510831
Dockerfile: https://github.com/instrumentisto/haraka-docker-image/blob/5eaea6ed27c769763afe3d4d1abd856178b95f82/Dockerfile

UPDATE: Seems that ppc64le and s390x builds are also fine, it's just they took quite a time.

@ozbillwang
Copy link
Author

ozbillwang commented Oct 26, 2022

@tyranron

your github action pipeline looks great for multi-arch build. I will take a reference. 👍

Where did you get reference or you did it by yourself? Any documents or URLs for sharing?

@tyranron
Copy link

@ozbillwang all done by hand. I'd advise to wait until instrumentisto/haraka-docker-image#3 will be merged, as I dislike the current multi-arch CI pipeline being too monolithic. Would like to have it similar to single-arch builds where each image variant is built and tested independently (and so, errors are more clear, and rerunning takes less time).

@tyranron
Copy link

Seems like this is upstream issue: npm/cli#5743

@ozbillwang
Copy link
Author

ozbillwang commented Oct 27, 2022

Adjust the base image from node:alpine to node:lts-alpine, it works now

https://app.travis-ci.com/github/alpine-docker/semver/builds/257177983

@tyranron
Copy link

@ozbillwang it's only because the issue is with Node 19 images, while LTS is based on Node.js 18.

@ozbillwang
Copy link
Author

let's stick on LTS 😁

f1ames added a commit to kubeshop/monokle-admission-controller that referenced this issue Nov 6, 2023
There is an issues with Node v19+ and arm based images. It is described
in nodejs/docker-node#1794 and
nodejs/docker-node#1335. At this moment it works
with v18 based images and so I downgraded to it.
f1ames added a commit to kubeshop/monokle-admission-controller that referenced this issue Nov 6, 2023
There is an issues with Node v19+ and arm based images. It is described
in nodejs/docker-node#1794 and
nodejs/docker-node#1335. At this moment it works
with v18 based images and so I downgraded to it.
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