Installing WRENCH
Prerequisites
WRENCH is developed in C++
. The code follows the C++14 standard, and
thus older compilers may fail to compile it. Therefore, we strongly
recommend users to satisfy the following requirements:
CMake - version 3.10 or higher
And, one of the following: - g++ - version 7.5 or higher - clang - version 9.0 or higher
Required Dependencies
SimGrid – version 3.36
JSON for Modern C++ – version 3.9.0 or higher
(See the Installation Troubleshooting section below if encountering difficulties installing dependencies)
Optional Dependencies
Google Test – version 1.8 or higher (only required for running tests)
Doxygen – version 1.8 or higher (only required for generating documentation)
Sphinx - version 4.5 or higher along with the following Python packages:
pip3 install sphinx-rtd-theme breathe recommonmark
(only required for generating documentation)Batsched – version 1.4 - useful for expanded batch-scheduled resource simulation capabilities
Asio - tag 1.28.0 or later (only required for building wrench-daemon, WRENCH’s REST API daemon)
Source Install
Building WRENCH
You can download the wrench-<version>.tar.gz
archive from the GitHub
releases page.
Once you have installed dependencies (see above), you can install WRENCH
as follows:
tar xf wrench-<version>.tar.gz
cd wrench-<version>
mkdir build
cd build
cmake ..
make -j8
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 -j8 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 -j8 unit_tests
./unit_tests
Compiling and running examples
Building the examples is done as:
make -j8 examples
All binaries for the examples are then created in subdirectories of
build/examples/
Installation Troubleshooting
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
This error on MacOS is because the
pkg-config
package is not installedSolution: install this package
MacPorts:
sudo port install pkg-config
Brew:
sudo brew install pkg-config
Could not find libgfortran when building the SimGrid dependency
This is an error that sometimes occurs on MacOS
A quick fix is to disable the SMPI feature of SimGrid when configuring it:
cmake -Denable_smpi=off .
Docker Containers
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 (almost) 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.