Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / doc / doxygen / install_yours.doc
index 3e4d319..da754cd 100644 (file)
@@ -22,18 +22,25 @@ documentation.
 Here is a `CMakeLists.txt` that you can use as a starting point for
 your project. It builds two simulators from a given set of source files.
 
+You first need to copy the `FindSimGrid.cmake` (at the root of the
+SimGrid tree) into the `cmake/Modules` directory of your project.
+
 @verbatim
 project(MyFirstScheduler)
 
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+find_package(SimGrid REQUIRED)
+include_directories(${SimGrid_INCLUDE_DIR})
+
 set(SIMULATOR_SOURCES main.c other.c util.c)
 add_executable(my_simulator ${SIMULATOR_SOURCES})
-target_link_libraries(my_simulator simgrid)
+target_link_libraries(my_simulator ${SimGrid_LIBRARY})
 
 set(OTHER_SOURCES blah.c bar.c foo.h)
 add_executable(other_xp ${OTHER_SOURCES})
-target_link_libraries(other_xp simgrid)
+target_link_libraries(other_xp ${SimGrid_LIBRARY})
 @endverbatim
 
 @section install_yours_makefile Building your project with Makefile
@@ -105,21 +112,29 @@ SimGrid.
 
 @section install_yours_trouble Troubleshooting your project setup
 
-@subsection install_yours_trouble_libpath Many undefined references
+@subsection install_yours_trouble_libpath error while loading shared libraries: libsimgrid.so
+
+Sometimes, the following error message (or similar) will be produced:
+@verbatim
+./masterworker1: error while loading shared libraries: libsimgrid.so:
+cannot open shared object file: No such file or directory
+@endverbatim
 
-Sometimes, the following error message (or similar) will be produced.
+The same problem can make the execution of your programs spit pages
+and pages of errors similar to the following. If there is only a few
+undefined references, then you want to read the next section.
 @verbatim
 masterworker.c:209: undefined reference to `sg_version_check'
 masterworker.c:209: undefined reference to `MSG_init_nocheck'
 (and many other undefined references)
 @endverbatim
 
-It means that the system does not manage to find simgrid when it tries
-to execute your programs. Specify where to search with the
-<tt>LD_LIBRARY_PATH</tt> variable. Try running the following command
-before executing your code. If it helps, you should add this line to
-your ~/.bashrc so that it gets executed each time you log into your
-computer.
+In both cases, it means that the system does not manage to find the
+simgrid library when it tries to execute your programs. Under Linux,
+specify where to search with the <tt>LD_LIBRARY_PATH</tt> variable.
+Try running the following command before executing your code. If it
+helps, you should add this line to your ~/.bashrc so that it gets
+executed each time you log into your computer.
 
 @verbatim
 export LD_LIBRARY_PATH=/opt/simgrid/lib
@@ -133,8 +148,8 @@ the SimGrid library somewhere on your disk.
 
 Under Linux, you can find which version was used with the following
 command that will display the full path to every used dynamic library.
-Once you've found the obsolete copy of SimGrid, just erase it and
-relaunch your program.
+Once you've found the obsolete copy of SimGrid, just erase it, and
+recompile and relaunch your program.
 @verbatim ldd yoursimulator
 @endverbatim