anza-xyz / agave

Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.
https://www.anza.xyz/
Apache License 2.0
409 stars 200 forks source link

Release for ARM linux architecture #1734

Open jp opened 4 months ago

jp commented 4 months ago

Problem

When I try to install the solana CLI on an ARM linux server (ex: graviton instances on AWS), it tries to download the following package:

https://release.solana.com/v1.18.16/solana-install-init-aarch64-unknown-linux-gnu

Unfortunately, solana-cli is not packaged for ARM linux servers. Proposed Solution

Proposed Solution

Build solana-cli for ARM server and release it along the other packages.

real-felix commented 2 months ago

What did you do eventually? Is there a way to have a working env? I try using Anchor, but simply installing the CLI with cargo install doesn't do the trick.

real-felix commented 2 months ago

@joncinque Hey can I help with publishing the binaries for my platform? I think that the related code is in ci/publish-tarball.sh and ci/buildkite-secondary.yml. If you give me a bit of guidance, I can propose a PR.

It assumes that Linux is considered to be always x86 here:

case "$CI_OS_NAME" in
osx)
  _cputype="$(uname -m)"
  if [[ $_cputype = arm64 ]]; then
    _cputype=aarch64
  fi
  TARGET=${_cputype}-apple-darwin
  ;;
linux)
  TARGET=x86_64-unknown-linux-gnu
  ;;

if I add the same check as for macos, I can take the arch into account. Then I can create a new task for linux ARM. Does it sound good?