Installing WRENCH {#install}

Prerequisites # {#install-prerequisites}

WRENCH is developed in C++. The code follows the C++11 standard, and thus older compilers may fail to compile it. Therefore, we strongly recommend users to satisfy the following requirements:

And, one of the following: - g++ - version 5.4 or higher - clang - version 3.8 or higher

Required Dependencies ## {#install-prerequisites-dependencies}

(See the troubleshooting section below if encountering difficulties installing dependencies)

Optional Dependencies ## {#install-prerequisites-opt-dependencies}

Source Install # {#install-source}

Building WRENCH ## {#install-source-build}

You can download the @WRENCHRelease.tar.gz archive from the GitHub releases page. Once you have installed dependencies (see above), you can install WRENCH as follows:

tar xf @WRENCHRelease.tar.gz
cd @WRENCHRelease
cmake .
make
make install # try "sudo make install" if you do not have write privileges

If you want to see actual compiler and linker invocations, add VERBOSE=1 to the compilation command:

make VERBOSE=1

To enable the use of Batsched (provided you have installed that package, see above):

cmake -DENABLE_BATSCHED=on .

If you want to stay on the bleeding edge, you should get the latest git version, and recompile it as you would do for an official archive:

git clone https://github.com/wrench-project/wrench

Compiling and running unit tests ## {#install-unit-tests}

Building and running the unit tests, which requires Google Test, is done as:

make unit_tests      
./unit_tests

Installation Troubleshooting ## {#install-troubleshooting}

Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)

Could not find libgfortran when building the SimGrid dependency

Docker Containers # {#install-docker}

WRENCH is also distributed in Docker containers. Please, visit the WRENCH Repository on Docker Hub to pull WRENCH's Docker images.

The latest tag provides a container with the latest WRENCH release:

docker pull wrenchproject/wrench 
# or
docker run --rm -it wrenchproject/wrench /bin/bash

The unstable tag provides a container with the current code in the GitHub's master branch:

docker pull wrenchproject/wrench:unstable
# or
docker run --rm -it wrenchproject/wrench:unstable /bin/bash

Additional tags are available for all WRENCH releases.