How to Build Joplin for Linux ARM64

I have an ARM64-based Chromebook. I use Joplin. While I could install the Android app, I wanted the full desktop experience. Pre-compiled binaries are not available for ARM64, but building one is easy enough, once you have the correct tools installed.

Install NodeJS

If you have already installed this on your system using the apt package manager, uninstall it, it won’t work. Instead build it from scratch.

mkdir -p ~/Downloads && cd ~/Downloads
wget https://nodejs.org/dist/v16.6.1/node-v16.6.1-linux-arm64.tar.xz
tar -xvf node-v16.6.1-linux-arm64.tar.xz
mv node-v16.6.1-linux-arm64 node
sudo mv node /usr/local/bin

The first line might seem superfluous, but I like to be thorough and assure the target directory is present.

Install libvips

Note, this step takes a lot longer than I would have thought.

sudo apt install -y glib2.0-dev expat build-essential pkg-config libexpat1-dev
mkdir -p ~/Downloads && cd ~/Downloads
wget https://github.com/libvips/libvips/releases/download/v8.11.2/vips-8.11.2.tar.gz
tar -xzvf vips-8.11.2.tar.gz
cd vips-8.11.2
./configure
make
sudo make install
sudo ldconfig

Install Joplin

This steps takes several minutes.

mkdir -p ~/.local && cd ~/.local
git clone https://github.com/laurent22/joplin.git
cd joplin
npm install

Running Joplin

cd ~/.local/joplin/packages/app-desktop && npm start &> /dev/null &