Prerequisites

Tip

In the instructions below, some parts are specific to an operating system. Clicking on an operating system logo will show the instructions for that platform.

To build the source code, the first requirement is to have a compiler, and, optionally, the necessary tools to build the documentation. To build the documentation, the following is needed:

  • Doxygen 1.7.4 or higher.
  • Python 3.6.0 or higher.
  • The following python packages, that may be installed using PIP :
    • sphinx (Linux: can also be installed with the package python-sphinx)

The compiler suites available vary per platform. We recommend the following setup:

Windows

Visual Studio 2019 with C++ development

Mac OS X

  • XCode must be installed. It can be obtained from Apple’s developer website.
  • CMake 3.8.0 or higher.

Linux

  • g++ version 7.0.0 or higher.
  • make version 3.80 or higher.
  • CMake 3.8.0 or higher.

We recommend installing these by using the package manager of your distribution. On, e.g., Ubuntu, these can be installed by installing the build-essential PPA package.

Boost

The mCRL2 sources use libraries from the Boost 1.65.1 collection (or a more recent version). The build only depends on the Boost header files, and does not link to any boost libraries.

Windows

To install a binary version of Boost, download Boost from https://www.boost.org, unzip and then compile the Boost libraries yourself.

Mac OS X

Warning

Only a 32-bit version seems to be available at the time of writing. For 64-bit versions, compile the Boost libraries yourself.

Boost can be installed using MacPorts by doing the following:

  • First go to http://www.macports.org/.

  • In the left menu bar select “Available Downloads” and download the appropriate version.

  • Install the downloaded image.

  • After installing open a terminal and execute the following to test and update MacPort:

    sudo port selfupdate
    

    Note that port is usually installed in /opt/local/bin.

  • To install Boost, execute:

    sudo port install boost
    

Linux

The easiest way to install Boost using the package manager in your distribution. For instance, the libraries can be installed by installing the libboost-*-dev PPA packages when you are using Ubuntu.

You can also compile the Boost libraries yourself.

Qt

The mCRL2 toolset requires Qt for compilation of the graphical tools (diagraphica, ltsgraph, ltsview, lpsxsim, mcrl2-gui, mcrl2xi). Qt version 5.12.0 does not work properly and results in non functioning graphical tools. Qt version 5.12.1 appears to work fine. Qt 5.13.0 appears to support dark mode on MacOs Mojave properly, whereas earlier versions of Qt do not properly adapt the color schemes leading to unreadable (white on white) text in some tools.

Windows

For Windows the minimum Qt version supported is 5.9. Download and install Qt from https://www.qt.io/download-qt-installer.

Mac OS X

For MacOS the minimum Qt version supported is 5.10. However, due to MacOS updates changing the APIs used by applications, a newer version of MacOS may require a newer version of Qt for some features to work properly. Qt can be installed using MacPorts by doing the following:

  • First go to http://www.macports.org/.

  • In the left menu bar select “Available Downloads” and download the appropriate version.

  • Install the downloaded image.

  • After installing open a terminal and execute the following to test and update MacPort:

    sudo port selfupdate
    

    Note that port is usually installed in /opt/local/bin.

  • To install Qt, execute:

    sudo port install qt5-mac
    

Linux

For Linux the minimum Qt version supported is 5.9. Binary development versions are available in the package manager in most distributions (for instance the qtbase5-dev package in Ubuntu).

On Linux it is also required to install OpenGL related development packages. The exact package to be installed depends on your distribution. For Ubuntu these are e.g. libgl1-mesa-dev and libglu1-mesa-dev.