Installing WRENCH
Developer Documentation

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 wrench-1.5.tar.gz archive from the GitHub releases page and install it as follows:

tar xf wrench-1.5.tar.gz
cd wrench-1.5
cmake .
make
make install # try "sudo make install" if you do not have write privileges

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

Existing Compilation Targets

In most cases, compiling and installing WRENCH is enough:

make
make install # try "sudo make install" if you do not have write privileges

In addition, several compilation targets are provided in WRENCH:

make doc # Builds WRENCH documentation (in the ./docs directory) - Requires Doxygen
make unit_tests # Builds WRENCH unit tests (run them by typing ./unit_tests) - Requires Google Test

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

make VERBOSE=1

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 -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 -it wrenchproject/wrench:unstable /bin/bash

Additional tags are available for all WRENCH releases.

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