Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Hint about how to configure with ninja instead of make
[simgrid.git] / docs / source / Installing_SimGrid.rst
index 8b02627..9d5d606 100644 (file)
@@ -1,4 +1,4 @@
-.. Copyright 2005-2021
+.. Copyright 2005-2022
 
 .. _install:
 
@@ -122,21 +122,17 @@ cmake (v3.5).
   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)
   - macOS or Windows: Grab a `full JDK <http://www.oracle.com/technetwork/java/javase/downloads>`_
-Lua (optional -- must be v5.3)
-  - SimGrid won't work with any other version of Lua.
-  - Debian / Ubuntu: ``apt install liblua5.3-dev lua5.3``
-  - Windows: ``choco install lua53``
-  - From the source
-      - You need to patch the sources to build dynamic libraries. First `download lua 5.3 <http://www.lua.org/download.html>`_
-      - Open the archive: ``tar xvfz lua-5.3.*.tar.gz``
-      - Enter the directory: ``cd lua-5.3*``
-      - Patch the sources: ``patch -p1 < /path/to/simgrid/...../tools/lualib.patch``
-      - Build and install lua: ``make linux && sudo make install``
 
 For platform-specific details, please see below.
 
@@ -150,7 +146,7 @@ Grab the last **stable release** from `FramaGit
 
    $ 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
 
@@ -261,9 +257,6 @@ enable_java (on/OFF)
   Generates the java bindings of SimGrid. You must also enable MSG for
   this to work.
 
-enable_lua (on/OFF)
-  Generate the lua bindings to the SimGrid internals (requires lua-5.3).
-
 enable_lib_in_jar (ON/off)
   Embeds the native java bindings into the produced jar file.
 
@@ -293,7 +286,7 @@ enable_ns3 (on/OFF)
 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)
@@ -303,6 +296,17 @@ minimal-bindings (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".
@@ -357,9 +361,9 @@ if some do not work for you.
 - **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