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

ARMv7 Support #6519

Closed
abrucker235 opened this issue Sep 20, 2019 · 7 comments
Closed

ARMv7 Support #6519

abrucker235 opened this issue Sep 20, 2019 · 7 comments
Labels
type/enhancement Proposed improvement or new feature

Comments

@abrucker235
Copy link

Please search the existing issues for relevant feature requests, and use the reaction feature (https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to add upvotes to pre-existing requests.

Feature Description

Downloads supporting latest ARM versions.

Use Case(s)

Homelab Raspberry PI4 Clusters or A Series machines on Amazon.

I got a simple working version compiling myself: GOOS=linux GOARM=7 GOARCH=arm go build

@schristoff schristoff added the type/enhancement Proposed improvement or new feature label Oct 29, 2019
@mkeeler
Copy link
Member

mkeeler commented Oct 30, 2019

@abrucker235 The builds on releases.hashicorp.com are still using our older way of building ARM binaries (without CGO and without specifying GOARM). We are working towards updating this but are still figuring out all the combinations of ARM ABIs + GOARM versions we need to build with.

Our CI process currently builds 2 32 bit ARM versions. One using the armel ABI + GOARM=5 and one using the armhf ABI + GOARM=6. They should work on ARMv7 processors as well it just will not take advantage of some of the extra hardware assisted floating point instructions but because Consul doesn't do a lot of floating point math the differences in performance should not be very noticeable.

Could you try out these binaries to see if they work for you: https://app.circleci.com/jobs/github/hashicorp/consul/87686/artifacts

Also of note is that for A series instances in EC2 you should probably use the aarch64/arm64 binary. While running a 32 bit build should also work (I tried our armhf + GOARM=6 build on one), I would imagine the 64 bit build should perform better.

@jwalzer
Copy link

jwalzer commented Sep 21, 2020

Is this still unsolved?

https://github.com/hashicorp/docker-consul currently breaks, when building the container on a RasperryPi because no build for armv7 is available.

@mikemorris
Copy link
Contributor

This should be resolved in the upcoming 1.11.0 release with the merge of #11417, as well as upcoming patch releases for 1.10.x, 1.9.x, 1.8.x once the corresponding PRs have been merged and we switch over to the new release process.

This new process will build GOARCH=arm GOARM=5 32-bit binaries (intended for broad compatibility) and GOARCH=arm64 (ARMv8) 64-bit binaries, per the matrix at https://github.com/golang/go/wiki/GoArm

@proffalken
Copy link

@mikemorris is there any more news on this?

Arch and Ubuntu are showing 1.11.1, whereas the Arm repos for rasbian etc. are only showing 1.10.x

Just wanted to make sure I'd not missed an updated release URI or similar?

@blake
Copy link
Member

blake commented Jan 10, 2022

Hi @proffalken,

Arch and Ubuntu are showing 1.11.1, whereas the Arm repos for rasbian etc. are only showing 1.10.x

These repositories are not managed by HashiCorp. HashiCorp's Linux repository currently only provides packages for x86_64/amd64 systems.

Binaries for 32-bit ARM can be found at https://releases.hashicorp.com/consul/1.11.1/.

@proffalken
Copy link

Ok thanks @blake

@blake
Copy link
Member

blake commented Jan 21, 2022

Hi @proffalken,

HashiCorp's Linux repository currently only provides packages for x86_64/amd64 systems.

I realized my previous comment is no longer accurate. Both 32-bit and 64-bit ARM packages have been available in the Linux package repo since about late Nov / early Dec 2021. This support was added with PR #11417.

Use the following command to add the repo to your APT sources for Ubuntu/Debian.

$ sudo apt-add-repository "deb [arch=armhf] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

@blake blake closed this as completed Jan 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement Proposed improvement or new feature
Projects
None yet
Development

No branches or pull requests

7 participants