Installation

Fifth provides pre-built, self-contained binaries for Linux, macOS, and Windows. No additional .NET runtime is required to run the compiler.

Supported Platforms

Platform Architectures Runtimes
Linux x64, arm64 net8.0, net10.0
macOS x64, arm64 net8.0, net10.0
Windows x64, arm64 net8.0, net10.0

The net8.0 packages are the supported baseline. The net10.0 builds rely on preview SDKs and are provided for early adopters to validate future runtime behavior.


Download

Download the latest release from the GitHub Releases page.

Archives follow the naming pattern:

fifth-<version>-<runtime>-<framework>.<tar.gz|zip>

For example: fifth-0.9.0-linux-x64-net8.0.tar.gz


Verify Your Download

Each release includes a SHA256SUMS file for checksum verification.

Linux (GNU coreutils)

VERSION=0.9.0
RUNTIME=linux-x64
FRAMEWORK=net8.0

curl -LO "https://github.com/aabs/fifthlang/releases/download/v${VERSION}/fifth-${VERSION}-${RUNTIME}-${FRAMEWORK}.tar.gz"
curl -LO "https://github.com/aabs/fifthlang/releases/download/v${VERSION}/SHA256SUMS"

sha256sum --ignore-missing -c SHA256SUMS

macOS (BSD shasum)

VERSION=0.9.0
RUNTIME=osx-x64
FRAMEWORK=net8.0

curl -LO "https://github.com/aabs/fifthlang/releases/download/v${VERSION}/fifth-${VERSION}-${RUNTIME}-${FRAMEWORK}.tar.gz"
curl -LO "https://github.com/aabs/fifthlang/releases/download/v${VERSION}/SHA256SUMS"

grep "fifth-${VERSION}-${RUNTIME}-${FRAMEWORK}.tar.gz" SHA256SUMS | shasum -a 256 -c -

Windows (PowerShell)

$version = "0.9.0"
$runtime = "win-x64"
$framework = "net8.0"

Invoke-WebRequest -Uri "https://github.com/aabs/fifthlang/releases/download/v$version/fifth-$version-$runtime-$framework.zip" -OutFile "fifth-$version-$runtime-$framework.zip"
Invoke-WebRequest -Uri "https://github.com/aabs/fifthlang/releases/download/v$version/SHA256SUMS" -OutFile "SHA256SUMS"

# Compare the hashes
Get-FileHash ".\fifth-$version-$runtime-$framework.zip" -Algorithm SHA256
Get-Content .\SHA256SUMS | Select-String "fifth-$version-$runtime-$framework.zip"

Only proceed when the computed hash matches the line from SHA256SUMS.


Install

Linux / macOS

VERSION=0.9.0
RUNTIME=linux-x64  # or osx-x64, osx-arm64, linux-arm64
FRAMEWORK=net8.0

# Create installation directory
mkdir -p ~/opt/fifth/${VERSION}

# Extract
tar -xzf fifth-${VERSION}-${RUNTIME}-${FRAMEWORK}.tar.gz -C ~/opt/fifth/${VERSION}

# Add to PATH (add this to your ~/.bashrc, ~/.zshrc, or ~/.config/fish/config.fish)
export PATH=~/opt/fifth/${VERSION}/fifth-${VERSION}/bin:$PATH

Windows

$version = "0.9.0"
$runtime = "win-x64"  # or win-arm64
$framework = "net8.0"

# Create installation directory
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\fifth\$version" | Out-Null

# Extract
Expand-Archive -Force -Path ".\fifth-$version-$runtime-$framework.zip" -DestinationPath "$env:USERPROFILE\fifth\$version"

Add %USERPROFILE%\fifth\<version>\fifth-<version>\bin to your user PATH via System Properties > Environment Variables, or use:

$newPath = "$env:USERPROFILE\fifth\$version\fifth-$version\bin"
[Environment]::SetEnvironmentVariable("PATH", "$env:PATH;$newPath", "User")

Archive Contents

Each archive contains:

fifth-<version>/
  bin/
    fifth (or fifth.exe on Windows)
  lib/
    *.dll support libraries for IDE tooling and the SDK
  LICENSE
  README.md
  VERSION.txt

The bin/fifth binary is the Fifth compiler. The lib/ folder contains support libraries for IDE tooling and SDK integration.


Verify Installation

After installation, verify the compiler is working:

fifth --version
fifth --help

Build from Source

If you prefer to build from source or need to work on the compiler itself:

Prerequisites

Build Steps

git clone https://github.com/aabs/fifthlang.git
cd fifthlang
dotnet restore fifthlang.sln
dotnet build fifthlang.sln

The build may take 1-2 minutes on first run. See AGENTS.md for detailed development instructions.


Troubleshooting

"command not found" after installation

Ensure the bin directory is in your PATH and restart your terminal session.

Permission denied (Linux/macOS)

Make the binary executable:

chmod +x ~/opt/fifth/${VERSION}/fifth-${VERSION}/bin/fifth

Windows Defender SmartScreen warning

The binaries are not code-signed. Click "More info" then "Run anyway" if you trust the download (verify the checksum first).


Next Steps