X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cf75850220edfeb6e0f46881e8b3b11fe85a25cc..0da6595ee68093903e46a1c46d30a792f0dd6ed3:/doc/FAQ.doc diff --git a/doc/FAQ.doc b/doc/FAQ.doc index a629b3065f..d74e8824bc 100644 --- a/doc/FAQ.doc +++ b/doc/FAQ.doc @@ -103,11 +103,30 @@ CMake permits to developers to compil projects on different plateforms. Then man \subsubsection faq_intro3 What cmake need? CMake needs some prerequists like : + +For Unix and MacOS: \li make + \li perl and libpcre \li c, c++ and java compiler regards to developers \li ccmake for graphical used of CMake \li cmake (download page) +For Windows : + \li cmake 2.8.3 (download page) + \li Dev-c++ (download page) + \li perl strawberry (download page) + \li pcre-7.0 (download page) + \li Set environment variables. + +\verbatim +CC to C:\Dev-Cpp\bin\gcc +CXX to C:\Dev-Cpp\bin\g++ +INCLUDE to C:\Dev-Cpp\include +LIB to C:\Dev-Cpp\lib +PCRE_LIBRARY_PATH to C:\ +PATH to C:\Dev-Cpp\bin +\endverbatim + \subsubsection faq_cmakeoption1 Liste of options \verbatim @@ -126,11 +145,8 @@ CMake needs some prerequists like : enable_coverage ON/OFF or TRUE/FALSE or 1/0 enable_memcheck ON/OFF or TRUE/FALSE or 1/0 enable_model-checking ON/OFF or TRUE/FALSE or 1/0 - enable_doc ON/OFF or TRUE/FALSE or 1/0 gtnets_path - prefix - BIBTEX2HTML - with_context auto/ucontext/pthread/window + CMAKE_INSTALL_PREFIX pipol_user \endverbatim @@ -161,16 +177,10 @@ CMake needs some prerequists like : \li enable_memcheck : When set to true this option enable tests for memcheck. \li enable_model-checking : Enable the model checking when set to true. - - \li enable_doc : Generate the documentation for simgrid with make command. (You can also make the doc manually with command : make html) \li gtnets_path : Path to gtnets install directory (ex /usr) - \li prefix : Path where are installed lib/ doc/ and include/ directories (ex /usr/local) - - \li BIBTEX2HTML : Path where is installed bibtex2html. - - \li with context : specify which context the user wants to use. + \li CMAKE_INSTALL_PREFIX : Path where are installed lib/ doc/ and include/ directories (ex /usr/local) \li pipol_user : specify your pipol username if you want to use the pipol-remote command. @@ -182,22 +192,18 @@ Those options are initialized the first time you launch "cmake ." whithout speci enable_gtnets on enable_lua on enable_ruby on -enable_java off -enable_compile_optimizations off -enable_compile_warnings off +enable_java on enable_smpi on +enable_supernovae on +enable_tracing on +enable_compile_optimizations on +enable_compile_warnings off enable_maintainer_mode off -enable_supernovae off -enable_tracing off enable_coverage off enable_memcheck off enable_model-checking off -enable_doc off - +CMAKE_INSTALL_PREFIX /usr/local gtnets_path null -prefix null -BIBTEX2HTML null -with_context auto pipol_user null \endverbatim @@ -250,21 +256,16 @@ Those two kind of compilation permit to delete files created by compilation easi \li CMake \verbatim -cmake configure the project -make build all targets -make VERBOSE=1 build all targets and print build command lines -make check test all targets and summarize -make dist make the distrib -make distcheck check the dist (make + make dist + make check) -make install install the project (doc/ lib/ include/) -make uninstall uninstall the project (doc/ lib/ include/) -make clean clean all targets -make java-clean clean files created by java option -make doc-clean clean files created for making doc -make supernovae-clean clean supernovae files -make maintainer-clean clean maintainer files -make all-clean execute the 5 upper clean command -make html Create simgrid documentation +cmake configure the project +make build all targets +make VERBOSE=1 build all targets and print build command lines +make check test all targets and summarize +make dist make the distrib +make distcheck check the dist (make + make dist + make check) +make install install the project (doc/ bin/ lib/ include/) +make uninstall uninstall the project (doc/ bin/ lib/ include/) +make clean clean all targets +make simgrid_documentation Create simgrid documentation \endverbatim When the project have been succesfully compiling and build you can make tests. @@ -286,161 +287,25 @@ ctest -D NightlyMemoryCheck If you want to test before make a commit you can simply make "ctest -D Experimental" and then you can visualize results submitted into Cdash. (Go to Cdash site). -\subsubsection faq_cmakecompilation5 Examples for different mode. - -\li Mode maintainer - -cmake -Denable_maintainer_mode=on ./ -\verbatim --- lookign for config.h -with_context auto change to ucontext -GIT_DATE : 2010-05-04~09-59-15 -GIT_VERSION : 53ec816 -GIT_SVN_VERSION : 7669 - -Configuration of package `simgrid' (revision 7669) on arch (=4): - BUILDNAME : UCONTEXT - SITE : Linux_2.6.31-21-generic_x86_64 - Release : simgrid-3.4~rev7669 - - Compiler: c++ : /usr/bin/c++ - version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1 - Compiler: c : /usr/bin/gcc - version: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1 - - CFlags : -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/include/lua5.1 -g3 - CPPFlags: - LDFlags : -L/usr/lib/ - - Context backend: ucontext - Compile Gtnets : 0 - Gtnets path : - Compile Java : 0 - Compile Lua : 1 - Compile Ruby : 1 - - Compile Smpi : ON - Maintainer mode: ON - Supernovae mode: OFF - Tracing mode : OFF - - Simgrid dependencies: -lm -lruby1.8 -module -ldl -llua5.1 -lrt - Gras dependencies : -lm -lpthread -lrt - Smpi dependencies : - - INSTALL_PREFIX: /usr/local - --- Configuring done --- Generating done --- Build files have been written to: /home/navarrop/Developments/simgrid -\endverbatim - -\li Mode supernovae - -cmake -Dsupernovae=on ./ -\verbatim --- lookign for config.h -with_context auto change to ucontext -GIT_DATE : 2010-05-04~09-59-15 -GIT_VERSION : 53ec816 -GIT_SVN_VERSION : 7669 - -Configuration of package `simgrid' (revision 7669) on arch (=4): - BUILDNAME : SUPERNOVAE - SITE : Linux_2.6.31-21-generic_x86_64 - Release : simgrid-3.4~rev7669 - - Compiler: c++ : /usr/bin/c++ - version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1 - Compiler: c : /usr/bin/gcc - version: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1 - - CFlags : -O3 -finline-functions -funroll-loops -fno-strict-aliasing -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -Wno-format-nonliteral -Werror -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/include/lua5.1 -g3 - CPPFlags: - LDFlags : -L/usr/lib/ - - Context backend: ucontext - Compile Gtnets : 0 - Gtnets path : - Compile Java : 0 - Compile Lua : 1 - Compile Ruby : 1 - - Compile Smpi : ON - Maintainer mode: OFF - Supernovae mode: OFF - Tracing mode : OFF - - Simgrid dependencies: -lm -lruby1.8 -module -ldl -llua5.1 -lrt - Gras dependencies : -lm -lpthread -lrt - Smpi dependencies : - - INSTALL_PREFIX: /usr/local - --- Configuring done --- Generating done --- Build files have been written to: /home/navarrop/Developments/simgrid - -\endverbatim - -\li Mode GTnetS - -cmake -Dgtnets_path=/home/navarrop/Bureau/usr/ ./ -\verbatim --- lookign for config.h -with_context auto change to ucontext -GIT_DATE : 2010-05-04~09-59-15 -GIT_VERSION : 53ec816 -GIT_SVN_VERSION : 7669 - -Configuration of package `simgrid' (revision 7669) on arch (=4): - BUILDNAME : GTNETS - SITE : Linux_2.6.31-21-generic_x86_64 - Release : simgrid-3.4~rev7669 - - Compiler: c++ : /usr/bin/c++ - version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1 - Compiler: c : /usr/bin/gcc - version: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1 - - CFlags : -O3 -finline-functions -funroll-loops -fno-strict-aliasing -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -Wno-format-nonliteral -Werror -I/usr/lib/ruby/1.8/x86_64-linux -L/usr/lib -I/usr/include/gtnets -I/usr/include/lua5.1 -g3 - CPPFlags: -L/usr/lib -I/usr/include/gtnets - LDFlags : -L/usr/lib/ - - Context backend: ucontext - Compile Gtnets : 1 - Gtnets path : /usr - Compile Java : 0 - Compile Lua : 1 - Compile Ruby : 1 - - Compile Smpi : ON - Maintainer mode: OFF - Supernovae mode: OFF - Tracing mode : OFF - - Simgrid dependencies: -lm -lruby1.8 -module -ldl -llua5.1 -lgtnets -lrt - Gras dependencies : -lm -lpthread -lrt - Smpi dependencies : - - INSTALL_PREFIX: /usr/local - --- Configuring done --- Generating done --- Build files have been written to: /home/navarrop/Developments/simgrid - -\endverbatim - \subsection faq_cmakeinstall How to install with cmake? \subsubsection faq_cmakeinstall1 From svn. +For Unix and MacOS: \verbatim -cmake -Denable_maintainer_mode=on -Dprefix=/home/navarrop/Bureau/install_simgrid ./ +cmake -Denable_maintainer_mode=on -DCMAKE_INSTALL_PREFIX=/home/navarrop/Bureau/install_simgrid ./ make make install \endverbatim +For Windows: + +\verbatim +cmake -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=C:\simgrid_install ./ +make +make install +\endverbatim + \subsubsection faq_cmakeinstall2 From a distrib \verbatim @@ -449,11 +314,58 @@ For version 3.4.1 and 3.4 make make install-simgrid Since version 3.5 - cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./ + cmake -DCMAKE_INSTALL_PREFIX=/home/navarrop/Bureau/install_simgrid ./ make make install \endverbatim +\subsection faq_cmakeWHATisInstall What is installed by cmake? + +\subsubsection faq_cmakeWHATisInstallBIN CMAKE_INSTALL_PREFIX/bin +\verbatim +tesh +graphicator +gras_stub_generator +simgrid_update_xml +simgrid-colorizer +smpicc +smpiff +smpif2c +smpirun +\endverbatim +\subsubsection faq_cmakeWHATisInstallDOC CMAKE_INSTALL_PREFIX/doc +\verbatim +simgrid/examples/ +simgrid/html/ +\endverbatim +\subsubsection faq_cmakeWHATisInstallINCLUDE CMAKE_INSTALL_PREFIX/include +\verbatim +amok/ +gras/ +instr/ +mc/ +msg/ +simdag/ +simix/ +smpi/ +surf/ +xbt/ +gras.h +simgrid_config.h +xbt.h +\endverbatim +\subsubsection faq_cmakeWHATisInstallLIB CMAKE_INSTALL_PREFIX/lib +\verbatim +libgras.so.3.5 +libsimgrid.so.3.5 +libsmpi.so.3.5 +libsimgrid.so -> libsimgrid.so.3.5 +libgras.so -> libgras.so.3.5 +libsmpi.so -> libsmpi.so.3.5 +lua/5.1/simgrid.so -> ../../libsimgrid.so +ruby/1.9.0/x86_64-linux/libsimgrid.so -> ../../../libsimgrid.so +ruby/1.9.0/x86_64-linux/simgrid.rb +\endverbatim \subsection faq_cmakehowto How to modified sources files for developers \subsubsection faq_cmakehowto1 Add an executable or examples. @@ -593,133 +505,6 @@ bob@caraja:~/Developments/simgrid/tmp_build$ make pipol_experimental_list_images bob@caraja:~/Developments/simgrid/tmp_build$ make pipol_test_list_images \endverbatim -\subsection faq_cmakeExplain Explaination of sources files for cmake - -\li CMakeLists.txt - -Those files are the "main parts". One located at the project directory call all the cmake sources files. The others -are little projects called by the first for make examples. - -\li CompleteInFiles.cmake - -Complete all .in files and define Variables for h files - -\li GenerateDoc.cmake - -This file make the html documentation. - -\li MakeExeLib.cmake - -Here are callled all "CMakeLists.txt" for make executables and libraries. - -\li PrintArgs.cmake - -This file is called at the end of the build for summarize environment variables. - -\li DefinePackages.cmake - -Here is defined sources packages for compiling libs. - -\li Flags.cmake - -Defined flags which are used for compiling sources. - -\li Supernovae.cmake - -Here are made files for the supernovae mode. - -\li Distrib.cmake - -Here is defined packages for install simgrid and make a distribution. - -\li MaintainerMode.cmake - -Part where are generated source files for maintainer mode. - -\li Option.cmake - -Here are defined options and initialized values. - -\li AddTests.cmake - -All tests are listed. - -\li CTestConfig.cmake - -Properties which link tests with dashboard. - -\subsection faq_cmakeList List of files added for cmake - -Here is a list of files involved into cmake build (relative to project directory path) : -\verbatim - -Cmake sources: - ./doc/CMakeLists.txt - ./buildtools/Cmake/AddTests.cmake - ./buildtools/Cmake/CompleteInFiles.cmake - ./buildtools/Cmake/CTestConfig.cmake - ./buildtools/Cmake/DefinePackages.cmake - ./buildtools/Cmake/Distrib.cmake - ./buildtools/Cmake/Flags.cmake - ./buildtools/Cmake/GenerateDocs.cmake - ./buildtools/Cmake/MaintainerMode.cmake - ./buildtools/Cmake/MakeExeLib.cmake - ./buildtools/Cmake/MakeExeLibWin.cmake - ./buildtools/Cmake/MakeJava.cmake - ./buildtools/Cmake/Option.cmake - ./buildtools/Cmake/PrintArgs.cmake - ./buildtools/Cmake/Supernovae.cmake - -CMakeLists for each binaries or examples: - ./CMakeLists.txt - ./src/CMakeLists.txt - ./teshsuite/gras/empty_main/CMakeLists.txt - ./teshsuite/gras/small_sleep/CMakeLists.txt - ./teshsuite/gras/datadesc/CMakeLists.txt - ./teshsuite/gras/msg_handle/CMakeLists.txt - ./teshsuite/simdag/CMakeLists.txt - ./teshsuite/simdag/partask/CMakeLists.txt - ./teshsuite/simdag/platforms/CMakeLists.txt - ./teshsuite/simdag/network/CMakeLists.txt - ./teshsuite/simdag/network/mxn/CMakeLists.txt - ./teshsuite/simdag/network/p2p/CMakeLists.txt - ./teshsuite/xbt/CMakeLists.txt - ./teshsuite/msg/CMakeLists.txt - ./tools/gras/CMakeLists.txt - ./tools/tesh/CMakeLists.txt - ./testsuite/simdag/CMakeLists.txt - ./testsuite/xbt/CMakeLists.txt - ./testsuite/surf/CMakeLists.txt - ./examples/gras/properties/CMakeLists.txt - ./examples/gras/ping/CMakeLists.txt - ./examples/gras/pmm/CMakeLists.txt - ./examples/gras/mmrpc/CMakeLists.txt - ./examples/gras/synchro/CMakeLists.txt - ./examples/gras/timer/CMakeLists.txt - ./examples/gras/mutual_exclusion/simple_token/CMakeLists.txt - ./examples/gras/spawn/CMakeLists.txt - ./examples/gras/chrono/CMakeLists.txt - ./examples/gras/rpc/CMakeLists.txt - ./examples/gras/all2all/CMakeLists.txt - ./examples/simdag/properties/CMakeLists.txt - ./examples/simdag/CMakeLists.txt - ./examples/simdag/metaxml/CMakeLists.txt - ./examples/simdag/dax/CMakeLists.txt - ./examples/smpi/CMakeLists.txt - ./examples/amok/bandwidth/CMakeLists.txt - ./examples/amok/saturate/CMakeLists.txt - ./examples/msg/priority/CMakeLists.txt - ./examples/msg/properties/CMakeLists.txt - ./examples/msg/migration/CMakeLists.txt - ./examples/msg/gtnets/CMakeLists.txt - ./examples/msg/parallel_task/CMakeLists.txt - ./examples/msg/trace/CMakeLists.txt - ./examples/msg/suspend/CMakeLists.txt - ./examples/msg/masterslave/CMakeLists.txt - ./examples/msg/actions/CMakeLists.txt - ./examples/msg/sendrecv/CMakeLists.txt -\endverbatim - \section faq_installation Installing the SimGrid library with Autotools (valid until V3.3.4) Many people have been asking me questions on how to use SimGrid. Quite @@ -1138,7 +923,7 @@ int sender() calloc(1,sizeof(double))); *((double*) task->data) = MSG_get_clock(); MSG_task_put(task, slaves[i % slaves_count], PORT_22); - INFO0("Send completed"); + XBT_INFO("Send completed"); return 0; } int receiver() @@ -1151,7 +936,7 @@ int receiver() time2 = MSG_get_clock(); if(time1<*((double *)task->data)) time1 = *((double *) task->data); - INFO1("Communication time : \"%f\" ", time2-time1); + XBT_INFO("Communication time : \"%f\" ", time2-time1); free(task->data); MSG_task_destroy(task); return 0;