noir-lang / noir

Noir is a domain specific language for zero knowledge proofs
https://noir-lang.org
Apache License 2.0
821 stars 177 forks source link

Support aarch64-unknown-linux-gnu #5283

Open recmo opened 1 week ago

recmo commented 1 week ago

Problem

On Apple Silicon, creating a VSCode dev-container and running:

$ curl -L https://raw.githubusercontent.com/noir-lang/noirup/main/install | bash
[...]
$ source /home/node/.bashrc
$ noirup
noirup: installing nargo (latest stable)
noirup: downloading latest nargo to '/home/node/.nargo/bin'
############################################################################################################################################################################################################################################### 100.0%

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
noirup: done

On noirup line 132 it curls the URL https://github.com/noir-lang/noir/releases/latest/download/nargo-aarch64-unknown-linux-gnu.tar.gz, which returns Not Found. Note that Not Found is not a valid gzipped-tarball.

This will likely also affect the people running Linux on Apple Silicon or other aarch64 architectures.

Happy Case

Very happy: noirup installs working nargo.

Not sad: noirup returns approriate error message explaining the unsuported platform.

Project Impact

Nice-to-have

Impact Context

No response

Workaround

None

Workaround Description

No response

Additional Context

No response

Would you like to submit a PR for this Issue?

None

Support Needs

No response

TomAFrench commented 1 week ago

Hi @recmo,

We actually used to support aarch64-unknown-linux-gnu but had to remove support due to barretenberg dropping support for it. We've separated barretenberg more cleanly from the compiler now so we should be able to start publishing releases for this target again.

I've made a PR to start publishing these builds again but could you help test this by downloading the artifact from the publish workflow on that PR and giving it a whirl?

Note that barretenberg still doesn't support aarch64-unknown-linux-gnu so you won't be able to create/verify proofs using it but you'll be able to compile, run and test Noir code (and use any other compatible backend which does support this architecture on linux.