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 Redhat / CentOS aarch64 build #9833

Open
fdr opened this issue Oct 17, 2020 · 10 comments
Open

Provide a Redhat / CentOS aarch64 build #9833

fdr opened this issue Oct 17, 2020 · 10 comments

Comments

@fdr
Copy link

fdr commented Oct 17, 2020

Noticed this was missing. aarch64 servers are a lot more common than they used to be on account of AWS's newish instance lines.

# cat crystal.repo 
[crystal]
name = Crystal
baseurl = https://dist.crystal-lang.org/rpm/

# yum install crystal
Crystal                                                                                                                                                                                                       1.1 MB/s | 909 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - aarch64                                                                                                                                                       164 kB/s |  97 kB     00:00    
Extra Packages for Enterprise Linux 8 - aarch64                                                                                                                                                               3.7 MB/s | 7.9 MB     00:02    
Error: 
 Problem: cannot install the best candidate for the job
  - package crystal-0.35.1-1.i386 does not have a compatible architecture
@fdr
Copy link
Author

fdr commented Oct 19, 2020

I notice this rpm spec file found in the wild on fedora copr uses the bare crystal binary releases for bootstrapping, so making those available may help proliferate the aarch64 support as well:

https://copr.fedorainfracloud.org/coprs/zawertun/crystal/

Maybe @ZaWertun, presumed to be the author, has some remarks...

@fdr
Copy link
Author

fdr commented Jan 29, 2021

Bintray rpm releases also lack aarch64. https://dl.bintray.com/crystal/rpm/

@mistergibson
Copy link

While you're at it --> build an official aarch64 release for Ubuntu.

@straight-shoota
Copy link
Member

straight-shoota commented Jun 11, 2021

Once aarch64 is fully supported we will provide binary releases and packages for all these platforms. But we're not there yet.

However, it would be totally feasible to provide unofficial community builds if you already want to start working with it.
There is https://hub.docker.com/r/danielworrall/crystal with arm64 alpine image for example.

@kostya
Copy link
Contributor

kostya commented Jan 20, 2023

seems main blocking issue for linux-aarch64 was closed #9533, is there any else?

@straight-shoota
Copy link
Member

No, aarch64 should be good. We just haven't managed to build distribution packages yet. The problem is that our build pipeline runs on circleci which doesn't have aarch64 hosts. Work has started to refactor the CI setup, but it's not ready yet.

@draeath
Copy link

draeath commented Oct 17, 2023

Any luck on this? I was trying to run some software that requires 1.8.2 and found there's no arm64/aarch64 builds - and given that one requires crystal to build crystal...

@straight-shoota
Copy link
Member

straight-shoota commented Oct 17, 2023

There are still no official images for aarch64.
But you can use the community images from https://hub.docker.com/r/84codes/crystal and packages from https://packagecloud.io/84codes/crystal

@will
Copy link
Contributor

will commented Oct 17, 2023

@draeath it might be too much trouble for you than it's worth depending on your situation but aarch64-linux crystal support is packaged in nix. It's not a solution to this issue, but just letting you know in case it can unblock you

[will@nixos:~]$ nix shell nixpkgs#crystal

[will@nixos:~]$ crystal --version
Crystal 1.9.2 (1980-01-01)

LLVM: 15.0.7
Default target: aarch64-unknown-linux-gnu

@draeath
Copy link

draeath commented Oct 17, 2023

That's actually very helpful, I can dig around into how the nix package is built and might have some luck from that angle.

Thank you! Likewise that community container, the layers data (or their source repo if available) may also help to show how it was built.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants