Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove target "make uninstall".
[simgrid.git] / docs / source / Installing_SimGrid.rst
index 0b6659b..d7e2185 100644 (file)
@@ -1,4 +1,4 @@
-.. Copyright 2005-2021
+.. Copyright 2005-2022
 
 .. _install:
 
@@ -25,9 +25,26 @@ following lines, or several lines if you need several languages.
    $ apt install simgrid-java    # if you want to develop in Java
    $ apt install python3-simgrid # if you want to develop in Python
 
+If you use the Nix_ package manager, the latest SimGrid release is packaged as ``simgrid`` in Nixpkgs_.
+Previous SimGrid versions are maintained in `NUR-Kapack`_ and are available
+pre-compiled in release and debug modes on the `capack cachix binary cache`_
+— refer to `NUR-Kapack's documentation`_ for usage instructions.
+
+If you use a pacman-based system (*e.g.*, Arch Linux and derived distributions),
+the latest SimGrid is available in the `simgrid AUR package`_
+— refer to `AUR official documentation`_ for installation instructions.
+
 If you build pre-compiled packages for other distributions, drop us an
 email.
 
+.. _Nix: https://nixos.org/
+.. _Nixpkgs: https://github.com/NixOS/nixpkgs
+.. _NUR-Kapack: https://github.com/oar-team/nur-kapack
+.. _capack cachix binary cache: https://app.cachix.org/cache/capack
+.. _NUR-Kapack's documentation: https://github.com/oar-team/nur-kapack
+.. _simgrid AUR package: https://aur.archlinux.org/packages/simgrid/
+.. _AUR official documentation: https://wiki.archlinux.org/title/Arch_User_Repository
+
 .. _install_java_precompiled:
 
 Stable Java Package
@@ -42,7 +59,7 @@ Nightly built Java Package
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Head to the corresponding `GitHub Action <https://github.com/simgrid/simgrid/actions/workflows/jarfile.yml>`_
-and pick the last green build. At the bottom of the build page, click on the ``jar-final`` artefact. 
+and pick the last green build. At the bottom of the build page, click on the ``jar-final`` artefact.
 Open this zip file to find the jar you need. This jar can be used under Linux, Mac OSX or Windows, as you wish.
 
 Binary Java Troubleshooting
@@ -105,21 +122,16 @@ 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
+  - On Debian / Ubuntu: ``apt install libeigen3-dev``
+  - On CentOS / Fedora: ``yum install eigen3-devel``
+  - On macOS with homebrew: ``brew install eigen``
 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 +162,7 @@ dependencies.
    $ make install
 
 .. _install_src_config:
-   
+
 Build Configuration
 ^^^^^^^^^^^^^^^^^^^
 
@@ -169,7 +181,7 @@ cmake itself.
    files, such as ``CMakeCache.txt``. Since Cmake also generates some
    files in the tree, you may need to wipe out your complete tree and
    start with a fresh one when you install new dependencies.
-   
+
    Another (better) solution is to :ref:`build out of the source tree
    <install_cmake_outsrc>`.
 
@@ -244,13 +256,6 @@ enable_java (on/OFF)
   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
-  Jedule external tool.
-
-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.
 
@@ -280,7 +285,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)
@@ -290,6 +295,14 @@ 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.
+
+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".
@@ -346,7 +359,6 @@ if some do not work for you.
 - **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/)
-- **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
@@ -435,15 +447,15 @@ Python-specific instructions
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Once you have the Python development headers installed as well as a
-recent version of the `pybind11 <https://pybind11.readthedocs.io/en/stable/>` 
+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: 
+the source should be as easy as:
 
 .. code-block:: console
 
   # cd simgrid-source-tree
   $ python setup.py build install
-  
+
 Starting with SimGrid 3.13, it should even be possible to install
 simgrid without downloading the source with pip:
 
@@ -516,4 +528,3 @@ If needed, implement ``i686-linux-gnu-gfortran`` as a script:
 
   #!/usr/bin/env sh
   exec gfortran -m32 "$@"
-