Installing WRENCH {#install}

@WRENCHUserDoc

User Documentation
@endWRENCHDoc @WRENCHDeveloperDoc
Developer Documentation
@endWRENCHDoc @WRENCHInternalDoc
Internal Documentation
@endWRENCHDoc

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.0 or higher - clang - version 3.6 or higher

Required Dependencies ## {#install-prerequisites-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 and install it as follows:

tar xf @WRENCHRelease.tar.gz
cd @WRENCHRelease
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 ## {#install-source-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 # {#install-docker}

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 ## {#install-troubleshooting}

Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)