Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
update draw_gantt.R script to work with pajengr
[simgrid.git] / docs / source / Installing_SimGrid.rst
index f7418a0..0db6065 100644 (file)
@@ -1,4 +1,4 @@
-.. Copyright 2005-2019
+.. Copyright 2005-2021
 
 .. _install:
 
@@ -72,7 +72,7 @@ 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
+deprecation warnings: the compatibility 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.
 
@@ -97,7 +97,7 @@ Getting the Dependencies
 ^^^^^^^^^^^^^^^^^^^^^^^^
 
 C++ compiler (either g++, clang, or icc).
-  We use the C++11 standard, and older compilers tend to fail on
+  We use the C++14 standard, and older compilers tend to fail on
   us. It seems that g++ 5.0 or higher is required nowadays (because of
   boost).  SimGrid compiles well with `clang` or `icc` too.
 Python 3.
@@ -134,8 +134,8 @@ Grab the last **stable release** from `FramaGit
 
 .. 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
@@ -233,10 +233,10 @@ enable_compile_warnings (on/OFF)
 
 enable_debug (ON/off)
   Disabling this option discards all log messages of severity
-  debug or below at compile time (see @ref XBT_log). The resulting
-  code is faster than if you discard these messages at
-  runtime. However, it obviously becomes impossible to get any debug
-  info from SimGrid if something goes wrong.
+  debug or below at compile time (see :ref:`outcome_logs`). The resulting
+  code is marginaly faster than if you discard these messages at
+  runtime, but it obviously becomes impossible to get any debug
+  info from SimGrid when things go wrong.
 
 enable_documentation (on/OFF)
   Generates the documentation pages. Building the documentation is not
@@ -244,7 +244,8 @@ enable_documentation (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
@@ -273,6 +274,9 @@ enable_model-checking (on/OFF)
   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`.
 
@@ -289,6 +293,10 @@ minimal-bindings (on/OFF)
   Take as few optional dependencies as possible, to get minimal
   library bindings in Java and Python.
 
+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".
+
 Reset the build configuration
 """""""""""""""""""""""""""""
 
@@ -337,7 +345,7 @@ if some do not work for you.
 - **make**: Build the core of SimGrid that gets installed, but not any example.
 - **make tests**: Build the tests and examples.
 - **make simgrid**: Build only the SimGrid library. Not any example nor the helper tools.
-- **make s4u-app-pingpong**: Build only this example (works for any example)
+- **make s4u-comm-pingpong**: Build only this example (works for any example)
 - **make java-all**: Build all Java examples and their dependencies
 - **make clean**: Clean the results of a previous compilation
 - **make install**: Install the project (doc/ bin/ lib/ include/)
@@ -428,7 +436,10 @@ and if you get it working, please @ref community_contact "tell us".
 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
 
@@ -491,12 +502,15 @@ version of SimGrid with something like:
 
   CFLAGS=-m32 \
   CXXFLAGS=-m32 \
+  FFLAGS=-m32 \
   PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig/ \
   cmake . \
   -DCMAKE_SYSTEM_PROCESSOR=i386 \
   -DCMAKE_Fortran_COMPILER=/some/path/to/i686-linux-gnu-gfortran \
   -DGFORTRAN_EXE=/some/path/to/i686-linux-gnu-gfortran \
-  -DCMAKE_Fortran_FLAGS=-m32
+  -DSMPI_C_FLAGS=-m32 \
+  -DSMPI_CXX_FLAGS=-m32 \
+  -DSMPI_Fortran_FLAGS=-m32
 
 If needed, implement ``i686-linux-gnu-gfortran`` as a script: