X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7b98df0790cc3fec26293ba257f64d94135098c4..10b586757ab8526c1e1e25317898b21a0c430e02:/doc/install.doc?ds=sidebyside diff --git a/doc/install.doc b/doc/install.doc index 5c93761ed7..d912e8b2e2 100644 --- a/doc/install.doc +++ b/doc/install.doc @@ -1,4 +1,4 @@ -/*! \page install Install Simgrid +/*! \page install Installing Simgrid \htmlinclude .install.doc.toc @@ -24,6 +24,9 @@ For Unix and MacOS: \li c and c++ compiler \li ccmake for graphical used of CMake \li cmake (download page) + +On MacOSX some users reported that it is still possible to build with clang, provided that you use the +following package versions clang3.1 and clang++3.1. If it fails on you, try to use gcc47 (port install gcc47). For Windows : \li cmake 2.8 (download page) @@ -31,12 +34,21 @@ For Windows : \li perl (download page) \li git (download page) +Note that if you want change the compiler, you can simply specify the environment variables CC and CXX. +\verbatim + export CC=gcc-4.4 + export CXX=g++-4.4 + export CC=clang + export CXX=clang++ +\endverbatim + \subsubsection install_cmakeoption1 Liste of options \verbatim "cmake -D[name]=[value] ... ./" [name] enable_gtnets [value] ON/OFF or TRUE/FALSE or 1/0 + enable_ns3 ON/OFF or TRUE/FALSE or 1/0 enable_lua ON/OFF or TRUE/FALSE or 1/0 enable_compile_optimizations ON/OFF or TRUE/FALSE or 1/0 enable_compile_warnings ON/OFF or TRUE/FALSE or 1/0 @@ -50,17 +62,20 @@ For Windows : enable_jedule ON/OFF or TRUE/FALSE or 1/0 enable_latency_bound_tracking ON/OFF or TRUE/FALSE or 1/0 enable_lib_static ON/OFF or TRUE/FALSE or 1/0 - custom_flags + enable_supernovae ON/OFF or TRUE/FALSE or 1/0 + enable_msg_deprecated ON/OFF or TRUE/FALSE or 1/0 + enable_print_message ON/OFF or TRUE/FALSE or 1/0 gtnets_path + ns3_path CMAKE_INSTALL_PREFIX - CMAKE_C_COMPILER - CMAKE_CXX_COMPILER pipol_user \endverbatim \subsubsection install_cmakeoption2 Options explaination \li enable_gtnets : set to true implie that user wants to use gtnets. + + \li enable_ns3 : set to true implie that user wants to use ns3. \li enable_lua : set to true implie that user wants to add lua langage into simgrid compilation. @@ -86,18 +101,20 @@ For Windows : \li enable_latency_bound_tracking : Set to on if you want to be warned when communications are limited by round trip time. - \li enable_lib_static : Enable generated Simgrid and smpi static libraries. + \li enable_lib_static : Enable generated Simgrid and smpi static libraries. + + \li enable_supernovae : Set to true make one file for each lib and compile with those generated files. + + \li enable_msg_deprecated : Simgrid is compiled with msg deprecated functions. + + \li enable_print_message : When set to true configuration print more debug output. - \li custom_flags : If user wants to use a specific flag during compilation, give here. - \li gtnets_path : Path to gtnets install directory (ex /usr) + + \li ns3_path : Path to ns3 install directory (ex /usr) \li CMAKE_INSTALL_PREFIX : Path where are installed lib/ doc/ and include/ directories (ex /usr/local) - \li CMAKE_C_COMPILER : Change the c compiler. - - \li CMAKE_CXX_COMPILER : Change the c++ compiler. - \li pipol_user : specify your pipol username if you want to use the pipol-remote command. \subsubsection install_cmakeoption3 Initialisation @@ -120,7 +137,6 @@ enable_jedule off enable_latency_bound_tracking off enable_lib_static off CMAKE_INSTALL_PREFIX /usr/local -custom_flags null gtnets_path null pipol_user null \endverbatim @@ -286,9 +302,9 @@ set(JMSG_JAVA_SRC ) \endverbatim -\section install_Win Installing the SimGrid library with Windows pakage +\section install_Win Installing the SimGrid framework on Windows -\subsection install_Win_install Installing SimGrid +\subsection install_Win_install Installing SimGrid with the automatic installer Before start the installation, you need to be sure to have the following dependencies: \li cmake 2.8 (download page) @@ -321,7 +337,19 @@ Step 3: Choice where to install packets previously selected. Please don't use sp \endhtmlonly -Step 4: Restart your computer to take in consideration environment variables. +Step 4: Add CLASSPATH to environment variables. + +\htmlonly + +\endhtmlonly + +Step 5: Add PATH to environment variables. + +\htmlonly + +\endhtmlonly + +Step 6: Restart your computer to take in consideration environment variables. \subsection install_Win_compile1 Compile a project "HelloWorld" @@ -363,6 +391,29 @@ cmake -G"MinGW Makefiles" \ \li Run "mingw32-make" \li You should obtain "TARGET_NAME.exe". +\subsection install_Win_ruby Setup a virtualbox to use SimGrid-Ruby on windows + +Allan Espinosa made these set of Vagrant rules available so that you +can use the SimGrid Ruby bindings in a virtual machine using +VirtualBox. Thanks to him for that. You can find his project here: +https://github.com/aespinosa/simgrid-vagrant + +\section install_mac Installing the SimGrid framework on Mac OS X + +The Mac OS X system is part of the UNIX familly, but it exibits some +specificities that complicate a bit the build of SimGrid. Current +versions of SimGrid (3.7.x) can only be build with the GCC Compiler, +but recent OS X version provide only an ancient version of that tool +in the hope to see the users switch to the LLVM compiler family. The +problem is that SimGrid uses internal libraries of GCC, for stack +manipulation for example. We are working on removing this dependency +onto gcc to ease the build process, but this is still ongoing. + +For the time being, you need to get a recent version of GCC on your +system to build SimGrid. Version 3.7.1 was successfully built on Mac +Lion 10.7.4 using a GCC compiler retrieved from macport. The package +used were gcc47, and the binary in the package were gcc-mp-4.7. + \section install_setting_MSG Setting up your own MSG code Do not build your simulator by modifying the SimGrid examples. Go @@ -381,7 +432,7 @@ feel free to organize it as you want). \li sched.c: a C file including sched.h and implementing the core of the scheduler. Most of these functions use the MSG functions defined in section \ref - msg_gos_functions. + msg_task_usage. \li masterslave.c: a C file with the main function, i.e. the MSG initialization (MSG_global_init()), the platform