-.. Copyright 2005-2021
+.. Copyright 2005-2022
.. _install:
configuration options (e.g., if your Python installation is not standard).
boost (at least v1.48, v1.59 recommended)
- On Debian / Ubuntu: ``apt install libboost-dev libboost-context-dev``
+ - On CentOS / Fedora: ``yum install boost-devel``
- On macOS with homebrew: ``brew install boost``
+Eigen3 (optional)
+ - On Debian / Ubuntu: ``apt install libeigen3-dev``
+ - On CentOS / Fedora: ``yum install eigen3-devel``
+ - On macOS with homebrew: ``brew install eigen``
+ - Use EIGEN3_HINT to specify where it's installed if cmake doesn't find it automatically.
Java (optional):
- Debian / Ubuntu: ``apt install default-jdk libgcj18-dev`` (or
any version of libgcj)
$ tar xf simgrid-3-XX.tar.gz
$ cd simgrid-*
- $ cmake -DCMAKE_INSTALL_PREFIX=/opt/simgrid .
+ $ cmake -DCMAKE_INSTALL_PREFIX=/opt/simgrid -GNinja.
$ make
$ make install
enable_smpi (ON/off)
Allows one to run MPI code on top of SimGrid.
-enable_smpi_ISP_testsuite (on/OFF)
+enable_smpi_MBI_testsuite (on/OFF)
Adds many extra tests for the model checker module.
enable_smpi_MPICH3_testsuite (on/OFF)
Take as few optional dependencies as possible, to get minimal
library bindings in Java and Python.
+NS3_HINT (empty by default)
+ Alternative path into which ns-3 should be searched for.
+
+EIGEN3_HINT (empty by default)
+ Alternative path into which Eigen3 should be searched for.
+
+SIMGRID_PYTHON_LIBDIR (auto-detected)
+ Where to install the Python module library. By default, it is set to the cmake Python3_SITEARCH variable if installing to /usr,
+ and a modified version of that variable if installing to another path. Just force another value if the auto-detected default
+ does not fit your setup.
+
SMPI_C_FLAGS, SMPI_CXX_FLAGS, SMPI_Fortran_FLAGS (string)
Default compiler options to use in smpicc, smpicxx, or smpiff.
This can be useful to set options like "-m32" or "-m64".
- **make simgrid**: Build only the SimGrid library. Not any example nor the helper tools.
- **make s4u-comm-pingpong**: Build only this example (works for any example)
- **make java-all**: Build all Java examples and their dependencies
+- **make python-bindings**: Build the Python bindings
- **make clean**: Clean the results of a previous compilation
- **make install**: Install the project (doc/ bin/ lib/ include/)
-- **make uninstall**: Uninstall the project (doc/ bin/ lib/ include/)
- **make dist**: Build a distribution archive (tar.gz)
- **make distcheck**: Check the dist (make + make dist + tests on the distribution)
- **make documentation**: Create SimGrid documentation