Installing RT-SLAM
RT-SLAM is currently provided as-is and is not standalone, and is not advised to people who don't feel very comfortable with manual installation from source. Installation will be more simple when the first release will be made. Currently you need to install our modular development environment Jafar, and the required dependencies.
Installation is possible with all Linux flavors and MacOS X.
Dependencies
Standard development tools
- gcc
- gcc-c++
- make
- git
- cmake
External libraries
When you install these libraries with your system package manager, you have to also install the development packages.
boost >= 1.40
boost-sandbox/numeric-bindings:
svn co http://svn.boost.org/svn/boost/sandbox/numeric_bindings-v1 boost-sandbox/
- lapack
opencv >= 2.1
- swig
- qt4
LAAS libraries
Jafar Installation
Download
git clone http://<login>@trac.laas.fr/git/robots/jafar/jafar
We will later refer to the directory where you cloned jafar as $JAFAR_DIR.
FIXME modify git_config.sh to allow http checkout
Configure the environment
You need to set a few environment variables:
- Add to \c $LD_LIBRARY_PATH the path \c $JAFAR_DIR/lib/platform if necessary
FIXME is it really necessary for basic usage ?
Configure the build system
Jafar uses cmake.
The common options you may want to pass to cmake are:
-DPATH_TO_BOOST_SANDBOX=/path/to/boost-sandbox to tell cmake where to find boost-sandbox (such as $PATH_TO_BOOST_SANDBOX/boost/numeric/bindings exists)
-DBOOST_ROOT=/path/to/boost to tell cmake which boost installation to use, if there are several of them or if it is in a non-standard path (such as $BOOST_ROOT/include/boost exists)
-DOpenCV_ROOT_DIR=/path/to/opencv to tell cmake where to find opencv (such as $OpenCV_ROOT_DIR/include/opencv exists)
-DENABLE_TCL=OFF and/or -DENABLE_RUBY=OFF to disable scripting languages
-DCMAKE_BUILD_TYPE=debug or -DCMAKE_BUILD_TYPE=release to choose a compilation profile, you can have both in two different build dirs at the same time, to easily switch between them
-DCMAKE_CXX_FLAGS="-pthread" to add some global compilation flags, for example this one if gcc complains that threading is disabled (happens with some versions of gcc)
You man want to save the cmake command with its arguments in some file $JAFAR_DIR/cmake-command.txt in case you have to do it again from the beginning.