Bare-Metal Ada on the ESP32-S3 A step-by-step guide to running Ada on the ESP32-S3 with no ESP-IDF, no FreeRTOS, and no Python.

Step 02 of 13

Installing Alire and the toolchains

One download, one PATH line, two alr toolchain commands. This is the only thing you install on your machine.

Install Alire

cd ~
wget https://github.com/alire-project/alire/releases/download/v2.1.0/alr-2.1.0-bin-x86_64-linux.zip
unzip alr-2.1.0-bin-x86_64-linux.zip -d ~/alire
export PATH="$HOME/alire/bin:$PATH"        # add to ~/.bashrc to make permanent
alr version                                # -> alr version 2.1.0

On an ARM64 host, take the aarch64 asset instead. This guide was validated with alr 2.1.0 and GNAT 15.2.

Put that export PATH=... line in your ~/.bashrc now. Nearly every "gprbuild: command not found" report traces back to a shell that never saw it.

Select the three toolchains

Two commands, because the native and cross toolchains are selected separately:

alr toolchain --select gnat_native gprbuild
alr toolchain --select gnat_xtensa_esp32_elf
alr toolchain                              # confirm all three are present

Why three, when you are only compiling for one chip?

ToolchainWhat it is for
gnat_xtensa_esp32_elf The cross-compiler. Turns your Ada into Xtensa LX7 code for the S3.
gnat_native Builds the two host tools — the image packager and the serial flasher — which run on your PC, not the board.
gprbuild The Ada build driver both of the above are invoked through.

That is the entire install. No SDK, no vendor installer, no environment script to source before every session.

Next: get the code — and get the submodules with it.