Installation - ChairImpSec/PROLEAD GitHub Wiki

This guide provides step-by-step instructions for installing prolead, including all required dependencies.


📥 Clone the Repository

Before proceeding, clone the prolead repository:

git clone https://github.com/ChairImpSec/PROLEAD

If Git is not installed on your system, install it! On apt-based systems (e.g. Ubuntu) you can do that with:

apt-get install git

🛠️ Installation Methods

Recommended: Using Nix

We officially support installation via the Nix package manager.

Install Nix

If Nix is not installed, follow the official installation guide.

  • Multi-user installation is recommended if your system meets the requirements.
  • Single-user installation is also supported.

[!TIP] For comparison between the both provided installation methods we refer to the official NixOS download page.

Install Prolead Executable (for User)

To install the latest release (v3.1.0) globally:

nix-env -i -f default.nix

Development Shell

To install dependencies in a development shell (recommended for development):

nix-shell

Inside the Nix shell, build the latest development version:

make release

[!IMPORTANT] Ensure that your package metadata is up-to-date:

nix-channel --update

Older versions may cause problems.


🚀 Execution

After installation, run prolead from your terminal:

PROLEAD

It will automatically search for the following files in your current directory:

  • design.v
  • config.json
  • libs/nang45.json These files are used as a default to perform an evaluation.

For usage and manual file path specification, see the Quickstart Wiki.


🗑️ Uninstallation

To remove PROLEAD:

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

⚠️ Manual Installation (Not Recommended)

This method is tested on Ubuntu 24.04 (WSL 2). Package versions may vary on other distributions.

[!NOTE] We do not offer support for this manual installation method.

Install Required Packages

Ensure the following are installed:

  • 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

[!IMPORTANT] Ensure all Boost packages have the same version (>= 1.75). We tested with version 1.83, but other versions may work. If using a different Boost version, update 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

Build

Navigate to the prolead directory and build:

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.

Support

For issues or questions, refer to the PROLEAD Wiki or open an issue on GitHub.