Installing from the Source
--------------------------
+.. _install_src_deps:
+
Getting the Dependencies
^^^^^^^^^^^^^^^^^^^^^^^^
``ccmake`` provides a nicer graphical interface compared to ``cmake``.
Press ``t`` in ``ccmake`` if you need to see absolutely all
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``
+boost mandatory components (at least v1.48, v1.59 recommended)
+ - On Debian / Ubuntu: ``apt install libboost-dev``
- On CentOS / Fedora: ``dnf install boost-devel``
- On macOS with homebrew: ``brew install boost``
+boost recommended components (optional).
+ - boost-context may be used instead of our own fast context switching code which only works on amd64.
+ - boost-stacktrace is used to get nice stacktraces on errors in SimGrid.
+ - On Debian / Ubuntu: ``apt install libboost-context-dev libboost-stacktrace-dev``
+python bindings (optional):
+ - On Debian / Ubuntu: ``apt install pybind11-dev python3-dev``
+Model-checking mandatory dependencies
+ - On Debian / Ubuntu: ``apt install libevent-dev``
+Model-checking optional dependencies
+ - On Debian / Ubuntu: ``apt install libunwind-dev libdw-dev libelf-dev``
Eigen3 (optional)
- On Debian / Ubuntu: ``apt install libeigen3-dev``
- On CentOS / Fedora: ``dnf 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.
+JSON (optional, for the DAG wfcommons loader)
+ - On Debian / Ubuntu: ``apt install nlohmann-json3-dev``
+ - Use nlohmann_json_HINT to specify where it's installed if cmake doesn't find it automatically.
For platform-specific details, please see below.
.. code-block:: console
- $ cmake -DCC=clang -DCXX=clang++ .
+ $ cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ .
SimGrid compilation options
"""""""""""""""""""""""""""
code, but it may fool the debuggers.
enable_model-checking (on/OFF)
- Activates the formal verification mode. This will **hinder
- simulation speed** even when the model checker is not activated at
- run time.
+ Activates the liveness verification mode. This will hinder simulation speed even when the model checker is not activated at run
+ time, because some optimizations such as LTO must be disabled at compile time. You need to have the :ref:`required
+ build-dependencies <install_src_deps>` to activate this option.
enable_ns3 (on/OFF)
Activates the ns-3 bindings. See section :ref:`models_ns3`.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The best solution to get SimGrid working on windows is to install the
-Ubuntu subsystem of Windows 10. All of SimGrid (but the model checker)
+Ubuntu subsystem of Windows 10. All of SimGrid (but the liveness model checker)
works in this setting. Native builds never really worked, and they are
disabled starting with SimGrid v3.33.