volta icon indicating copy to clipboard operation
volta copied to clipboard

Volta running on a Linux Docker container aarch64 on Mac M1 and AWS Graviton hosts

Open fhperuchi opened this issue 2 years ago • 8 comments

Hello volta developers.

Do you know if it is possible to run volta inside a Docker container on a Mac M1 or AWS Graviton machines?

Docker container:

ubuntu@8a9bdf478dc6:~$ uname -a
Linux 8a9bdf478dc6 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
ubuntu@8a9bdf478dc6:~$ uname -m
aarch64
ubuntu@8a9bdf478dc6:~$ curl https://get.volta.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12319  100 12319    0     0  18142      0 --:--:-- --:--:-- --:--:-- 18142
Error: Sorry! Volta currently only provides pre-built binaries for x86_64 architectures.

I got this error running the volta shell installer there. Could you help me? Is there a way to build it from source and have the aarch64 binaries available on these type of environments (Docker container running on Mac M1 and AWS Graviton hosts)?

fhperuchi avatar Aug 02 '22 21:08 fhperuchi

Hi @fhperuchi, thanks for the question! I'm far from an expert in Docker, but I believe the underlying issue is the same as #1049: We don't currently have pre-built binaries for ARM Linux (and I'm guessing that Docker on M1 uses ARM Linux by default since that's the architecture).

You should still be able to build from source—see the docs under "Development" here: https://docs.volta.sh/contributing/ You can use the volta-install.sh --release script to build and install locally, if that makes sense. Happy to help with that step if you run into any issues.

charlespierce avatar Aug 11 '22 18:08 charlespierce

Hello @fhperuchi you can use this repo to download arm64 prebuilt binaries.

https://github.com/MyneTop/volta

mosamlife avatar Nov 13 '22 07:11 mosamlife

This would be nice to have. I can't run my image locally 😢

knownasilya avatar Dec 09 '22 16:12 knownasilya

Just ran in to this -- would love to use volta on linux + Arm

NullVoxPopuli avatar Jan 04 '23 17:01 NullVoxPopuli

Hi @fhperuchi, thanks for the question! I'm far from an expert in Docker, but I believe the underlying issue is the same as #1049: We don't currently have pre-built binaries for ARM Linux (and I'm guessing that Docker on M1 uses ARM Linux by default since that's the architecture).

You should still be able to build from source—see the docs under "Development" here: https://docs.volta.sh/contributing/ You can use the volta-install.sh --release script to build and install locally, if that makes sense. Happy to help with that step if you run into any issues.

I'm trying to do exactly this, but with the current script I get this error:

#7 28.91 Installing Volta locally after compiling with '--release' #7 28.91 Checking for existing Volta installation #7 28.93 Error: Releases for non x64 architectures are not currently supported. #7 28.93 Error: Releases for 'Linux' are not yet supported.

I'm not sure if I'm doing something wrong or if I misunderstood what you meant.

monovertex avatar May 15 '23 09:05 monovertex

Hi @fhperuchi, thanks for the question! I'm far from an expert in Docker, but I believe the underlying issue is the same as #1049: We don't currently have pre-built binaries for ARM Linux (and I'm guessing that Docker on M1 uses ARM Linux by default since that's the architecture). You should still be able to build from source—see the docs under "Development" here: https://docs.volta.sh/contributing/ You can use the volta-install.sh --release script to build and install locally, if that makes sense. Happy to help with that step if you run into any issues.

I'm trying to do exactly this, but with the current script I get this error:

#7 28.91 Installing Volta locally after compiling with '--release' #7 28.91 Checking for existing Volta installation #7 28.93 Error: Releases for non x64 architectures are not currently supported. #7 28.93 Error: Releases for 'Linux' are not yet supported.

I'm not sure if I'm doing something wrong or if I misunderstood what you meant.

I have no idea why or what the actual problem is. I was trying to debug it by adding random print statements across the install scripts. I ended up adding echo "VOLTA_OS: $VOLTA_OS" > $(tty) after line 62 in ./dev/unix/release.sh. I can not imagine how this solves it, but it does. Apparently it still doesn't detect the OS version correctly as that variable is empty, but it did install properly in ~/.volta.

kunev avatar Jun 27 '23 15:06 kunev

bump! Any reason why aarch64 is not yet supported on Linux, but is supported on Mac?

Adding 'linux-aarch64' to volta-install.sh seems to work

metalim avatar Jun 29 '23 21:06 metalim