Installing GTSAM - feliyur/exercises GitHub Wiki

GTSAM (bitbucket repository) is a C++ library for information fusion in robotics, based on optimization in factor graph representation, developed at Georgia Tech.

Build from scratch

Windows

Limiting Visual Studio Parallel build

VS tends to hog system resources, using all available processors for build. To change that:

Tools ==> Options ==> Projects and Solutions

a) ==> Build and Run ==> maximum number of parallel project builds =1 (default 8)

b) ==> VC++ Project Settings ==> maximum number of concurrent compilations =1 (default 0)

GTSAM 4 alpha 2

Need to clone GTSAM develop branch, then change tag to GTSAM 4.

  1. In python/CMakeLists.txt line 3, replace Default as python version with your version number (3.6).
  2. In CMake GUI, select BUILD_PYTHON (this also should automatically deselect ALLOW_DEPRECATED_SINCE_V4, see docs)
  3. In CMake GUI, select "advanced" to set boost directories
    • Set Boost_INCLUDE_DIR to boost root (and not boost-root/boost).
    • Set Boost_LIBRARY_DIR_DEBUG and Boost_LIBRARY_DIR_RELEASE to stage/lib
  • had to add #include <boost/serialization/array_wrapper.hpp> to beginning of gtsam/base/Vector.h (line 26) (solution according to here)

GTSAM 3.2.1

Documentation from 03 Nov 2018. Building on Windows 10 Home, x86-64. Current GTSAM version: 3.2.1

Install file states requirements

  • BOOST version 1.43 or greater
  • Cmake version 2.6 or higher

Tested compilers:

  • MSVC 2010, 2012
  • MSVC 2013 is not yet supported because it cannot build the serialization module of Boost 1.55 (or earlier).

Building boost

  • download boost 1.55.0
  • Make sure you have MSVC 2012 (vs11) updated to latest version (update 5).
  • See my building-boost wiki page. Need to run b2 with runtime-link=shared option (equivalent to /md flag in VS).
    • need to download inttypes.h (e.g., from here) and place it somewhere visible to VS, e.g. in Microsoft Visual Studio 11.0\VC\include MSVC 2012 is vs11 (see mapping e.g. here). I will use the latter with boost version 1.55.0, and my existing Cmake 3.12.1 installation.