Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
better documentation of the lua dependencies for install
[simgrid.git] / doc / doxygen / install.doc
index 8a5fab6..83364b1 100644 (file)
@@ -62,19 +62,32 @@ will appear on the top of the resulting page.
 @subsection install_src_deps Getting the Dependencies
 
 Recompiling an official archive is not much more complex. SimGrid only uses very standard tools:
-  - C compiler, C++ compiler, make and friends.
+  - C compiler, C++ compiler, make and friends. SimGrid is rather
+    demanding on the compiler. We use the C++11 standard, and older
+    compilers tend to fail on us. It seems that g++ 5.0 or higher is
+    required nowadays (because of boost).
   - perl (but you may try to go without it)
   - We use cmake to configure our compilation
       ([download page](http://www.cmake.org/cmake/resources/software.html)).
       You need cmake version 2.8.8 or higher. You may want to use ccmake
       for a graphical interface over cmake.
   - boost:
+    - Debian / Ubuntu: `apt-get install libboost-dev libboost-context-dev`
     - Max OS X: with [fink](http://www.finkproject.org/): `fink install boost1.53.nopython`,
       or with homebrew: `brew install boost`
-    - Debian / Ubuntu: `apt-get install libboost-dev libboost-context-dev`
   - Java (if you want to build the Java bindings): 
-    - Mac OS X or Windows: Grab a [full JDK](http://www.oracle.com/technetwork/java/javase/downloads)
     - Debian / Ubuntu: `apt-get install default-jdk`
+    - Mac OS X or Windows: Grab a [full JDK](http://www.oracle.com/technetwork/java/javase/downloads)
+  - Lua (if you want to build with lua enabled):
+    - Debian / Ubuntu: `apt-get install liblua5.3-dev lua5.3`
+    - Windows: choco install lua53
+    - From the source: you need to patch the sources to build dynamic libraries 
+      - [Download lua 5.3](http://www.lua.org/download.html). SimGrid
+        won't work with lua 5.2 as lua breaks the compatibility.
+      - 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  @ref install_cmake_mac,
 @ref install_cmake_windows, @ref install_java and @ref install_src_32bits
@@ -111,8 +124,8 @@ to do so. First, you can use environment variables. For example, you can change
 commands before launching cmake:
 
 @verbatim
-export CC=gcc-4.7
-export CXX=g++-4.7
+export CC=gcc-5.1
+export CXX=g++-5.1
 @endverbatim
 
 Note that other variables are available, such as CFLAGS and CXXFLAGS to add options respectively for the C and C++ 
@@ -159,7 +172,7 @@ In addition to the classical cmake configuration variables, SimGrid accepts seve
       Jedule external tool.
 
   @li <b>enable_lua</b> (ON/OFF) to enjoy the lua bindings to the
-      SimGrid internals.
+      SimGrid internals (this require the liblua5.3-dev and lua-5.3 packages or equivalent).
 
   @li <b>enable_lib_in_jar</b> (ON/OFF) to make sure that the native
       java bindings are bundled in the jar file.
@@ -171,11 +184,10 @@ In addition to the classical cmake configuration variables, SimGrid accepts seve
   @li <b>enable_maintainer_mode</b> (ON/OFF) is only needed if you plan to modify very specific parts of SimGrid
       (e.g., the XML parsers and other related elements). Moreover, this adds an extra dependency on flex and flexml.
 
-  @li <b>enable_mallocators</b> (ON/OFF) has to be disabled when tracking memory issues within SimGrid, or the caching 
-      mechanism used internally will fool the debuggers.
+  @li <b>enable_mallocators</b> (ON/OFF) has to be disabled when tracking memory issues within SimGrid, 
+      or our internal memory caching mechanism will fool the debuggers.
 
-  @li <b>enable_model-checking</b> (ON/OFF) if you actually plan to
-      use the model-checking feature of SimGrid. This execution mode
+  @li <b>enable_model-checking</b> (ON/OFF) This execution gear
       is very usable now, but enabling this option at compile time
       will **hinder simulation speed** even when the model-checker is
       not activated at run time.