Installation - ChairImpSec/PROLEAD GitHub Wiki

This guide provides step-by-step instructions for installing prolead, including all required dependencies. Follow the recommended installation method for the best experience.

Clone the Repository

Before proceeding with the installation, clone the prolead repository by executing:

apt-get install git # On Ubuntu
git clone https://github.com/ChairImpSec/PROLEAD

Install via Nix (Recommended)

Ensure that the Nix package manager is installed on your system. If you haven't installed, please follow the installation guide on the official Nix website. If you're using WSL, opt for the multi-user installation.

Installation

To install the prolead package, execute:

nix-env -i -f default.nix

This installs the latest version (v3.1.0) to your path. If you prefer to have prolead only installed in a development shell enter the prolead directory and run:

nix-shell

Inside the Nix shell, you can build Prolead using the Makefile. Note that this will build the latest development version, which may slightly differ from the latest release. To build the release version:

make release

Execution

Once the installation is complete, you can execute prolead by simply typing:

PROLEAD

This will start the default evaluation specified in design.v and config.json.

Uninstallation

To uninstall the installed version of prolead execute:

nix-env --uninstall prolead-v3.1.0
nix-collect-garbage

Manual Installation (Not Recommended)

This method allows you to install all dependencies manually. We tested these steps on Ubuntu 24.04 (WSL 2), but package versions may vary on other distributions.

Required Packages

Regardless of the installation method you choose, ensure the following packages are installed on your system:

g++ (>=10.0.0) GNU Make pkg-config Python 3

To install these dependencies on Ubuntu, run:

apt-get update
apt install g++ make pkg-config python3-dev

Install Boost (Required)

The required Boost libraries can be installed using:

apt-get install libboost-dev libboost-python-dev libboost-filesystem-dev libboost-program-options-dev

Ensure all Boost packages have the same version (>= 1.75). We tested with version 1.83, but other versions may work. If needed, adjust the ´-lboost_python´ flag in the Makefile.

Install Flint (Required)

Install the Flint library using:

apt-get install libflint-dev

Install the ARM GCC Toolchain (Optional)

If you need the software version of Prolead that compiles C code into ARM assembly, install the ARM GCC toolchain:

apt-get install gcc-arm-none-eabi

Install Catch2 (Optional)

To run Prolead’s test cases, install the Catch2 testing library:

apt-get install catch2

Build

To build the release version of prolead, navigate to its directory and run:

make release

Execute

Once the installation is complete, you can execute prolead by simply typing:

./release/PROLEAD

This will start the default evaluation specified in design.v and config.json.