Installing WRENCH

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:

  • CMake - version 3.5 or higher

And, one of the following:

  • g++ - version 5.0 or higher
  • clang - version 3.6 or higher

Required Dependencies

Optional Dependencies

  • Google Test – version 1.8 or higher (only required for running test cases)
  • Doxygen – version 1.8 or higher (only required for generating documentation)
  • Batsched – only needed for realistic simulation of resource managed by production batch schedulers

Source Install

Building WRENCH

You can download the @WRENCHRelease.tar.gz archive from the GitHub releases page and install it as follows:

tar xf wrench-1.6.tar.gz
cd wrench-1.6
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

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

make unit_tests
./unit_tests

Installation Troubleshooting

Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
  • This error on MacOS is because the pkg-config package is not installed
  • Solution: install this package
    • MacPorts: sudo port install pkg-config
    • Brew: sudo brew install pkg-config

Docker Containers

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

The latest tag provides a container with the latest WRENCH's 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.