# Need cmake 3.17 linux arm64 binary for Travis CI build on arm64

**URL:** https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473
**Category:** Usage
**Created:** [July 1, 2020, 2:52pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473 "2020-07-01T14:52:35Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![boxerab](https://discourse.cmake.org/user_avatar/discourse.cmake.org/boxerab/32/718_2.png) [@boxerab](https://discourse.cmake.org/u/boxerab)
#### Post date: [July 1, 2020, 2:52pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/1 "2020-07-01T14:52:35Z")

</div>

What is the best way of making this binary available to my Travis build?  
For x86-64, I just download the tarball from [https://cmake.org/files/v3.17](https://cmake.org/files/v3.17)

---

<div class="post-metadata">

### Author: ![kyle.edwards](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/k/65b543/32.png) [@kyle.edwards](https://discourse.cmake.org/u/kyle.edwards)
#### Post date: [July 1, 2020, 2:58pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/2 "2020-07-01T14:58:27Z")

</div>

We don’t currently provide any ARM64 binaries. I would suggest building it yourself.

---

<div class="post-metadata">

### Author: ![boxerab](https://discourse.cmake.org/user_avatar/discourse.cmake.org/boxerab/32/718_2.png) [@boxerab](https://discourse.cmake.org/u/boxerab)
#### Post date: [July 1, 2020, 6:21pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/3 "2020-07-01T18:21:49Z")

</div>

Thanks, Kyle!

---

<div class="post-metadata">

### Author: ![craig.scott](https://discourse.cmake.org/user_avatar/discourse.cmake.org/craig.scott/32/20_2.png) [@craig.scott](https://discourse.cmake.org/u/craig.scott)
#### Post date: [July 1, 2020, 9:56pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/4 "2020-07-01T21:56:16Z")

</div>

If you’re okay with using snaps, there are arm64 snaps for CMake. At the moment, they are in the release candidate channel for the 3.18 series and they are in the beta channel for the 3.17 series. When the next 3.17.x patch release is made and when the 3.18 release becomes official, there will be arm64 snaps in the stable channels for the 3.17, 3.18 and latest tracks.

The [snap page for CMake](https://snapcraft.io/cmake) has installation instructions. Near the top, click on the combo box that shows `latest/stable 3.17.3` just to the left of the green Install button. In the dialog that comes up, select your architecture (arm64) and then click on the channel or version you want to install. You should then be presented with the command needed to install that particular version. You can incorporate that into your Travis build script.

---

<div class="post-metadata">

### Author: ![craig.scott](https://discourse.cmake.org/user_avatar/discourse.cmake.org/craig.scott/32/20_2.png) [@craig.scott](https://discourse.cmake.org/u/craig.scott)
#### Post date: [July 1, 2020, 10:25pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/5 "2020-07-01T22:25:49Z")

</div>

Actually, travis CI has [direct support for snaps](https://docs.travis-ci.com/user/installing-dependencies#installing-snap-packages-with-the-snaps-addon), so it’s even easier. Add something like the following to your `.travis.yml`:

```auto
   addons:
     snaps:
       - name: cmake
         confinement: classic
         #channel: latest/candidate
         channel: 3.18/candidate
         #channel: 3.17/beta

```

I’ve commented out a few alternatives for how you might select the channel you want to use. Note that the above should work for all the usual architectures that snaps support, not just arm64 or x86\_64.

---

<div class="post-metadata">

### Author: ![boxerab](https://discourse.cmake.org/user_avatar/discourse.cmake.org/boxerab/32/718_2.png) [@boxerab](https://discourse.cmake.org/u/boxerab)
#### Post date: [July 3, 2020, 12:44pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/6 "2020-07-03T12:44:51Z")

</div>

Thanks very much, @craig.scott. I have mixed feelings about snap,  
but I’m happy to have a solution on travis!

---

<div class="post-metadata">

### Author: ![boxerab](https://discourse.cmake.org/user_avatar/discourse.cmake.org/boxerab/32/718_2.png) [@boxerab](https://discourse.cmake.org/u/boxerab)
#### Post date: [July 3, 2020, 1:06pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/7 "2020-07-03T13:06:56Z")

</div>

@craig.scott I did add the snap you suggested, but it doesn’t look like Travis  
installed it:

[https://travis-ci.org/github/GrokImageCompression/grok/jobs/704649365](https://travis-ci.org/github/GrokImageCompression/grok/jobs/704649365)

---

<div class="post-metadata">

### Author: ![craig.scott](https://discourse.cmake.org/user_avatar/discourse.cmake.org/craig.scott/32/20_2.png) [@craig.scott](https://discourse.cmake.org/u/craig.scott)
#### Post date: [July 3, 2020, 1:15pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/8 "2020-07-03T13:15:19Z")

</div>

It’s likely still picking up the system default cmake instead of the one in `/snap/bin`. Try either modifying your `PATH` to prepend `/snap/bin` or invoke cmake as `/snap/bin/cmake` and see if that works. If not, you may want to follow-up on the [travis ci forum](https://travis-ci.community) or [snapcraft forum](https://forum.snapcraft.io/)

---

<div class="post-metadata">

### Author: ![boxerab](https://discourse.cmake.org/user_avatar/discourse.cmake.org/boxerab/32/718_2.png) [@boxerab](https://discourse.cmake.org/u/boxerab)
#### Post date: [July 3, 2020, 1:58pm UTC](https://discourse.cmake.org/t/need-cmake-3-17-linux-arm64-binary-for-travis-ci-build-on-arm64/1473/9 "2020-07-03T13:58:15Z")

</div>

Thanks, will try that.
