Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Project name has changed from SimGrid to simgrid.
[simgrid.git] / docs / source / Installing_SimGrid.rst
index 8d2feb9..78e9c9f 100644 (file)
@@ -1,4 +1,4 @@
-.. Copyright 2005-2019
+.. Copyright 2005-2020
 
 .. _install:
 
 
 .. _install:
 
@@ -63,6 +63,31 @@ Library not found: boost-context
    You should obviously install the ``boost-context`` library on your
    machine, for example with ``apt``.
 
    You should obviously install the ``boost-context`` library on your
    machine, for example with ``apt``.
 
+Version numbering and deprecation
+---------------------------------
+
+SimGrid tries to be both a research instrument that you can trust, and
+a vivid project targeting the future issues. We have 4 stable versions
+per year, numbered 3.24 or 3.25. Backward compatibility is ensured for
+one year: Code compiling without warning on 3.24 will still compile
+with 3.28, but maybe with some deprecation warnings. You should update
+your SimGrid installation at least once a year and fix those
+deprecation warnings: the compatiblity wrappers are usually removed
+after 4 versions. Another approach is to never update your SimGrid
+installation, but we don't provide any support to old versions.
+
+Interim versions (also called pre-versions) may be released between
+stable releases. They are numbered 3.X.Y, with even Y (for example,
+3.23.2 was released on July 8. 2019 as a pre-version of 3.24). These
+versions should be as usable as regular stable releases, even if they
+may be somewhat less tested and documented. They play no role in our
+deprecation handling, and they are not really announced to not spam
+our users.
+
+Version numbered 3.X.Y with odd Y are git versions. They often work,
+but no guarantee is given whatsoever (all releases are given "as is",
+but that's even more so for these unreleased versions).
+
 .. _install_src:
 
 Installing from the Source
 .. _install_src:
 
 Installing from the Source
@@ -109,8 +134,8 @@ Grab the last **stable release** from `FramaGit
 
 .. code-block:: shell
 
 
 .. code-block:: shell
 
-   tar xf SimGrid-3-XX.tar.gz
-   cd SimGrid-*
+   tar xf simgrid-3-XX.tar.gz
+   cd simgrid-*
    cmake -DCMAKE_INSTALL_PREFIX=/opt/simgrid .
    make
    make install
    cmake -DCMAKE_INSTALL_PREFIX=/opt/simgrid .
    make
    make install
@@ -219,7 +244,8 @@ enable_documentation (on/OFF)
   version for now.
 
 enable_java (on/OFF)
   version for now.
 
 enable_java (on/OFF)
-  Generates the java bindings of SimGrid.
+  Generates the java bindings of SimGrid. You must also enable MSG for
+  this to work.
 
 enable_jedule (on/OFF)
   Produces execution traces from SimDag simulations, which can then be visualized with the
 
 enable_jedule (on/OFF)
   Produces execution traces from SimDag simulations, which can then be visualized with the
@@ -248,6 +274,9 @@ enable_model-checking (on/OFF)
   simulation speed** even when the model checker is not activated at
   run time.
 
   simulation speed** even when the model checker is not activated at
   run time.
 
+enable_msg (on/OFF)
+  Activates the :ref:`MSG <MSG_doc>` legacy interface.
+
 enable_ns3 (on/OFF)
   Activates the ns-3 bindings. See section :ref:`model_ns3`.
 
 enable_ns3 (on/OFF)
   Activates the ns-3 bindings. See section :ref:`model_ns3`.
 
@@ -335,12 +364,14 @@ Testing your build
 
 Once everything is built, you may want to test the result. SimGrid
 comes with an extensive set of regression tests (as described in the
 
 Once everything is built, you may want to test the result. SimGrid
 comes with an extensive set of regression tests (as described in the
-@ref inside_tests "insider manual"). The tests are run with ``ctest``,
-that comes with CMake.  We run them every commit and the results are
-on `our Jenkins <https://ci.inria.fr/simgrid/>`_.
+@ref inside_tests "insider manual"). The tests are not built by
+default, so you first have to build them with ``make tests``. You can
+then run them with ``ctest``, that comes with CMake.  We run them
+every commit and the results are on `our Jenkins <https://ci.inria.fr/simgrid/>`_.
 
 .. code-block:: shell
 
 
 .. code-block:: shell
 
+  make tests                # Build the tests
   ctest                            # Launch all tests
   ctest -R s4u              # Launch only the tests whose names match the string "s4u"
   ctest -j4                 # Launch all tests in parallel, at most 4 concurrent jobs
   ctest                            # Launch all tests
   ctest -R s4u              # Launch only the tests whose names match the string "s4u"
   ctest -j4                 # Launch all tests in parallel, at most 4 concurrent jobs
@@ -401,7 +432,10 @@ and if you get it working, please @ref community_contact "tell us".
 Python-specific instructions
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Python-specific instructions
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Recompiling the Python bindings from the source should be as easy as:
+Once you have the Python development headers installed as well as a
+recent version of the `pybind11 <https://pybind11.readthedocs.io/en/stable/>` 
+module (version at least 2.4), recompiling the Python bindings from
+the source should be as easy as: 
 
 .. code-block:: shell
 
 
 .. code-block:: shell