You need two tools to run a Dodo program: Dodo checks and compiles your source, and a C toolchain links the generated code into an executable. A prebuilt Dodo compiler includes LLVM and the standard library. You do not need Rust or a separate LLVM installation unless you are building the compiler itself.
Before you start
| What you want to do | Required tools |
|---|---|
| Check Dodo source or use editor diagnostics | The dodo executable. |
| Emit object files, assembly, LLVM IR, or bitcode | The dodo executable. |
| Run, test, or build an executable | Dodo plus a target-compatible C toolchain. |
| Build the Dodo compiler from source | Rust, LLVM development files, and a C toolchain; see source builds. |
The published 0.1.4 archives target x86-64 Linux with glibc 2.39 or newer (such as Ubuntu 24.04), and x86-64 Windows. The hosted standard library’s supported platforms are a separate question from LLVM’s accepted code-generation targets; see platform support.
Install the compiler
Download the matching archive from
GitHub Releases and extract it.
The examples below describe release 0.1.4. Documentation on main may contain
APIs added after that release.
Linux
From the extracted directory containing dodo, install it into your user bin
folder and make it available in the current shell:
install -Dm755 dodo "$HOME/.local/bin/dodo"
export PATH="$HOME/.local/bin:$PATH"
dodo --version
The output begins with dodo 0.1.4. PATH is the list of directories your shell
searches for commands. The export above changes only this terminal. If your
shell does not already include ~/.local/bin, add that export to its startup
configuration and open a new terminal to verify it persists.
Windows
Extract the archive ending in x86_64-pc-windows-msvc.zip to a stable location,
for example C:\Tools\Dodo. In PowerShell, you can immediately run:
& 'C:\Tools\Dodo\dodo.exe' --version
Adjust the path if the archive contains another directory level. To use the
short dodo command, open Edit environment variables for your account, edit
your user Path, and add the directory containing dodo.exe. Open a new
terminal and run:
dodo --version
PowerShell requires ./ or .\ when running an executable from the current
directory unless that directory is on PATH: use .\dodo.exe --version there.
If no archive matches your system, see Build Dodo from source. A successful compiler build alone does not add hosted-library support for a new operating system or ABI.
Install a C toolchain to run programs
Dodo invokes the linker driver named cc by default. You can choose another
with --linker for one command or DODO_CC for commands in the current environment.
You do not have to write C to use this toolchain.
Linux toolchain
On Ubuntu:
sudo apt-get install build-essential
cc --version
On Fedora:
sudo dnf install gcc
cc --version
If your selected driver is Clang instead, use dodo run --linker clang or set
export DODO_CC=clang in your shell.
Windows toolchain
Install Clang and the Visual Studio C++ Build Tools with a Windows SDK. Open an x64 developer terminal for that toolchain so its libraries and headers are available. Check Clang and select it for this PowerShell session:
clang --version
$env:DODO_CC = 'clang'
If Clang is outside PATH, give its full path:
$env:DODO_CC = 'C:\Program Files\LLVM\bin\clang.exe'
For one command, use dodo run --linker clang. The environment assignment lasts
for the current terminal and child processes; repeat it in a new session or add
DODO_CC to your user environment once the path works.
Verify the complete setup
Follow your first program to create hello/main.dodo.
From the hello folder, run:
dodo --version
dodo check
dodo run
The version confirms command discovery, check confirms source compilation,
and run confirms linking and execution. Expect Hello, world! from the last
command. You can use check while configuring the linker.
Troubleshooting installation
| Symptom | What to check |
|---|---|
dodo is not recognized / command not found |
Run the executable by its full path, then fix PATH and reopen the terminal. |
| PowerShell does not find an executable in the current directory | Use .\dodo.exe rather than dodo.exe. |
The compiler cannot execute cc |
Install a C toolchain or select a working driver with --linker / DODO_CC. |
| Clang runs, but linking reports missing Windows libraries or headers | Install the C++ Build Tools and Windows SDK; use their x64 developer terminal. |
| The Linux binary reports a missing glibc version | Use a compatible system or build Dodo on your intended host. |
| A bundled package or method is unknown | Compare compiler version and documentation revision; update the compiler or use its matching tagged docs. |
main.dodo cannot be found |
Change to your project folder or pass the path to the source file. |
For target selection and linker arguments, see targets and linking. For a compiler built from source, use the more detailed build prerequisites.
Next step
Continue to your first program. Set up your editor after you have verified the command-line compiler.