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
.