DEV Community

Carlos Saltos
Carlos Saltos

Posted on • Edited on

8

Install Elm for Linux arm64

What?

Just some quick steps to compile Elm for Linux arm64 since the official distribution does not support ARM yet.

How?

Get Debian GNU/Linux Bullseye 11 arm64 ready and run these commands:

sudo apt-get install -y build-essential \
    automake \
    autotools-dev \
    make \
    g++ \
    ca-certificates \
    software-properties-common \
    apt-transport-https \
    lsb-base \
    lsb-release \
    zlib1g-dev \
    libpcre3-dev \
    libcurl4-openssl-dev \
    libc-dev \
    libxml2-dev \
    libsnmp-dev \
    libssh2-1-dev \
    libevent-dev \
    libopenipmi-dev \
    libpng-dev \
    pkg-config \
    libfontconfig1 \
    git \
    bzip2 \
    zip \
    unzip \
    musl-dev \
    ghc \
    cabal-install \
    libmpfr-dev

git clone https://github.com/elm/compiler.git
cd compiler
git checkout 0.19.1

rm worker/elm.cabal
cabal new-update
cabal new-configure
cabal new-build
Enter fullscreen mode Exit fullscreen mode

Wait for a while and the binary should be hopefully at compiler/dist-newstyle/build/aarch64-linux/ghc-*/elm-0.19.1/x/elm/build/elm/elm

IMPORTANT: Please ensure you have at least 4 gigas RAM memory available for the compilation to work

Who?

As always a big thank you to Evan Czaplicki and the wonderful people creating and maintaining Elm.

Some references for other Linux distributions and compilation optimizations may be found at https://github.com/elm/compiler/blob/0.19.1/installers/linux/Dockerfile and https://gist.github.com/rlefevre/1523f47e75310e28eee243c9c5651ac9

For learning more about Elm please go to Elm The Complete Guide

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more