Installations
Everything you need to install
System Requirements
Before installing Kontrol, ensure your system meets the following requirements:
RAM: 16GB of RAM is recommended for running Kontrol effectively
SWAP Space: 16GB of SWAP space is recommended for installation and operation
On Linux systems, you can check your current SWAP space with
free -h
To increase SWAP space, you can create a swap file:
sudo fallocate -l 16G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
To make the SWAP file permanent, add this line to
/etc/fstab
:/swapfile none swap sw 0 0
Users running WSL (Windows Subsystem for Linux) should note that WSL allocates only 2GB of RAM by default. This is insufficient for Kontrol. You'll need to increase the memory allocation in your WSL configuration file (.wslconfig
) to at least 16GB.
Installing Foundry
To install Foundry execute the following command:
curl -L https://foundry.paradigm.xyz | bash
After installation open a new terminal session or reload your PATH
and run foundryup
.
For other installation methods, go to the Foundry Documentation.
Installing Kontrol
The simplest way to install Kontrol is with the kup
package manager. To install kup
execute the following command:
bash <(curl https://kframework.org/install)
After installing kup
, open a new terminal session or reload your PATH and install Kontrol using kup
with the following command:
kup install kontrol
Docker Installation
Kontrol is also available as a Docker image, which can be used to run Kontrol without installing it on your host system. This is particularly useful for CI/CD pipelines or when you want to avoid local installation.
To use the Kontrol Docker image:
# Pull the latest version
docker pull runtimeverificationinc/kontrol
The Docker image includes all necessary dependencies and is automatically updated with each Kontrol release. You can find all available versions on Docker Hub.
CI Installation
For GitHub Actions workflows, you can use the official install-kontrol action. Here's an example workflow:
name: Kontrol CI
on: [push, pull_request]
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18'
- uses: foundry-rs/foundry-toolchain@v1
- uses: runtimeverification/install-kontrol@v1
- name: Run Kontrol
run: kontrol prove
This action handles the installation of all required dependencies and sets up Kontrol in your CI environment.
For detailed instructions on building Kontrol from source, go to the Kontrol repository.
Last updated
Was this helpful?