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

Provide a 0.19.1 binary for linux_arm64 to be used in containers on Apple Silicon (M1) #2283

Open
jsynacek opened this issue Oct 26, 2022 · 8 comments

Comments

@jsynacek
Copy link

Quick Summary:
Please, provide a binary that can be used in a linux container running on an Apple Silicon (arm64) host.

Currently, the binary asset binary-for-linux-64-bit.gz is usable, but it's really slow and can't be used if elm is specified as a project dependency:

<inside the container>

$ which elm
/usr/local/bin/elm

$ npm run build
...
npm ERR! command sh -c node install.js
npm ERR! -- ERROR -----------------------------------------------------------------------
npm ERR! 
npm ERR! I am detecting that your computer (linux_arm64) may not be compatible with any
npm ERR! of the official pre-built binaries.
npm ERR! 
npm ERR! I recommend against using the npm installer for your situation. Check out the
npm ERR! alternative installers at https://github.com/elm/compiler/releases/tag/0.19.1
npm ERR! to see if there is something that will work better for you.
npm ERR! 
npm ERR! From there I recommend asking for guidance on Slack or Discourse to find someone
npm ERR! who can help with your specific situation.
npm ERR! 
npm ERR! --------------------------------------------------------------------------------

SSCCE

  • Elm: 0.19.1
  • Browser: N/A
  • Operating System: MacOS arm64 + Ubuntu 20.04 container

Additional Details

See also #2234.

@github-actions
Copy link

Thanks for reporting this! To set expectations:

  • Issues are reviewed in batches, so it can take some time to get a response.
  • Ask questions in a community forum. You will get an answer quicker that way!
  • If you experience something similar, open a new issue. We like duplicates.

Finally, please be patient with the core team. They are trying their best with limited resources.

@alshdavid
Copy link

I just tried to compile the project using docker on a Debian arm64 VM (M1 MacBook) with no luck. I am not familiar with Haskell so I wasn't able to do more

@bburdette
Copy link

Have you tried installing via nix? That has worked for me on arm64 (pinebook) but not specifically an M1.

@supermario
Copy link

@jsynacek if you've not seen it already, I built linux_arm64 binaries and Simon has made them available with @lydell/elm: #2287

@alshdavid
Copy link

Any updates to this? :)

@supermario
Copy link

@alshdavid you can find linux-arm64 binaries here: https://github.com/lydell/compiler/releases/tag/0.19.1

@alshdavid
Copy link

Is there a way to tell the install script for the elm package not to download the binaries?

https://github.com/elm/compiler/blob/master/installers/npm/download.js#L27

It seems npm install elm will fail when running on Linux arm, even if the binaries are supplied externally, because the script will fail to match the permitted platforms.

@lydell
Copy link
Contributor

lydell commented Oct 3, 2023

@alshdavid If you go to #2287 and scroll to the end of the PR description and expand “Aside about unsupported platforms” you can see how the discussion went about that.

zecke added a commit to zecke/alertmanager that referenced this issue Apr 13, 2024
The elm npm package doesn't support linux/arm64. The easiest option
is to force docker to run this as a AMD64 container.

Upstream issue:
elm/compiler#2283
zecke added a commit to zecke/alertmanager that referenced this issue Apr 13, 2024
The elm npm package doesn't support linux/arm64. The easiest option
is to force docker to run this as a AMD64 container.

Upstream issue:
elm/compiler#2283

Signed-off-by: Holger Hans Peter Freyther <holger@freyther.de>
zecke added a commit to zecke/alertmanager that referenced this issue Apr 17, 2024
The elm npm package doesn't support linux/arm64. The easiest option
is to force docker to run this as a AMD64 container.

Upstream issue:
elm/compiler#2283

Signed-off-by: Holger Hans Peter Freyther <holger@freyther.de>
gotjosh pushed a commit to prometheus/alertmanager that referenced this issue Apr 25, 2024
The elm npm package doesn't support linux/arm64. The easiest option
is to force docker to run this as a AMD64 container.

Upstream issue:
elm/compiler#2283

Signed-off-by: Holger Hans Peter Freyther <holger@freyther.de>
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

5 participants