Build from source
Sometimes you want the freshest bits—whether to contribute to Cyrus itself, test bleeding-edge features, or just peek under the compiler’s hood. Building from source is straightforward and gives you full control over the toolchain.
Prerequisites
Before you begin, make sure you have the following installed:
- Git - to fetch the source code.
- Rust 1.87-nightly.
- LLVM 18.
Also these native libraries are required:
- glibc
- clang
- clang-tools
- libffi
- ffi
- ffi-dev
- isl
- libxml2
On Linux
Update your package index first:
sudo apt update
Install the dependencies:
sudo apt install -y git \
build-essential \
clang \
clang-tools \
llvm-18 \
llvm-18-dev \
libffi-dev \
libisl-dev \
libxml2-dev \
libc6-dev
Install Rust using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustup toolchain install nightly-2025-01-01
rustup default nightly-2025-01-01
Verify installation:
git --version
rustc --version
llvm-config --version
MacOS (via Homebrew):
Install dependencies via Homebrew:
brew install git \
llvm@18 \
clang \
libffi \
isl \
libxml2
Ensure Homebrew’s LLVM is in your path (add to ~/.zshrc or ~/.bashrc):
export PATH="/opt/homebrew/opt/llvm@18/bin:$PATH"
Install Rust using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustup toolchain install nightly-2025-01-01
rustup default nightly-2025-01-01
Verify installation:
git --version
rustc --version
llvm-config --version
On Windows:
Coming soon...
Clone the Repository
git clone --depth=1 https://github.com/cyrus-lang/Cyrus.git
cd Cyrus
From the project root:
cargo build -j24
This will produce the Cyrus compiler binary in target/release/cyrus.

