Basic dependencies

The very basic dependencies include the libraries.

  • a C++ compiler, g++ (version >= 4.9) or clang++ (version >= 3.6),
  • gmpxx the Gnu Multiprecision library C++ interface,
  • CMake (version >= 3.0.0), a build system,
  • boost (version >= 1.71), a collection of C++ libaries,
  • CArL (commit 3b0c79a68a), a C++ library for arithmetic,
  • Java JRE (required for the Antlr parser) and
  • uuid-dev (required for the Antlr parser)

Note that CArL installs dependencies such as Eigen3, gmp and boost locally in its build folder, so installing Java and uuid-dev along with CArL should be sufficient to be able to build and use HyPro. We recommend installing most dependencies of CArL separately, see also the script below. To compile HyPro, a suitable C++ compiler is required, either g++ (at least version 4.9) or clang++ (at least version 3.5).

CArL

Use the following commands to install CArL in an simplified way:

Install most dependencies using a package manager (here: apt, Ubuntu):

sudo apt install libeigen3-dev uuid-dev libbliss-dev libboost-system-dev libboost-program-options-dev libboost-test-dev libboost-timer-dev libboost-chrono-dev libboost-serialization-dev

Clone and build CArL, here we use the version tagged with 22.12 on github:

  git clone https://github.com/ths-rwth/carl && cd carl &&  git checkout 0c99bd8 &&
  mkdir build && cd build &&
  cmake .. && make carl

Additional (optional) dependencies

Currently HyPro provides an extended interface for linear solving, which allows to additionally add two of the following linear optimizers as solving backends (see also linear optimization):