Sitemap Go Back Wiki Home Go Forward Search Wiki Toggle Dark Mode
Close Navbar

Installing STAMINA/STORM

Currently, no version of STAMINA is packaged in any Linux distribution. At some point we will put it in the AUR (Arch User Repository) and the DUR (Debian User Repository). However, the easiest way to get STAMINA/STORM currently is to build it from source.

Building from Source

Dependencies

First, you will need to install all of the dependencies required for STAMINA/STORM. The following dependency lists are supplied for Debian-based machines, Arch-based machines, and MacOS-based machines.
(Please note that most of these are also dependencies for STORM, hence why they are required)

Debian 11+/Ubuntu 22.04+ (or derivative)

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential libboost-all-dev git cmake clang 

Arch Linux/Manjaro/EndeavorOS

sudo pacman -Syuu base-devel git cmake boost-libs clang

MacOS 10.12+

brew install cln ginac automake cmake boost glibc clang

Manually Installing STORM (Required)

STORM must be installed manually for STAMINA to compile. This is so that STAMINA knows where to find the STORM shared objects and link against them. Please follow the guide here to install STORM.

Installing STAMINA

Once all dependencies (including STORM) have been installed, STAMINA is ready to be installed. You may obtain the source code from the master branch by directly cloning the GitHub repository or you may download a specific release from GitHub as well.
git clone https://github.com/fluentverification/stamina-storm stamina-storm
Afterwards, you will need to invoke CMake to create a makefile and build STAMINA:
cd stamina-storm
mkdir build && cd build
export STAMINA_HOME=$(pwd)
cmake .. -DCMAKE_CXX_COMPILER=$(which clang++) -DSTORM_PATH=$STORM_DIR
make -j$(nproc --all)
The environment variable STORM_DIR should be set during the STORM install process. If not, it is just the root directory of STORM.

Adding STAMINA to your PATH Variable

In order to access the sstamina executable from anywhere, you will have to add it to your user's "path" variable. The easiest way to do this is to add the following line to your shells resource file (generally .bashrc for Bash, and .zshrc for ZSH):
export STAMINA_HOME=path/to/stamina
export PATH=$PATH:$STAMINA_HOME/build