diff --git a/gtsam/3rdparty/metis/libmetis/CMakeLists.txt b/gtsam/3rdparty/metis/libmetis/CMakeLists.txt index ea3dd0298..cc02a6ed2 100644 --- a/gtsam/3rdparty/metis/libmetis/CMakeLists.txt +++ b/gtsam/3rdparty/metis/libmetis/CMakeLists.txt @@ -3,6 +3,7 @@ include_directories(.) # Find sources. file(GLOB metis_sources *.c) # Build libmetis. +add_definitions(-fPIC) add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources}) if(UNIX) target_link_libraries(metis m) diff --git a/gtsam/linear/linearExceptions.cpp b/gtsam/linear/linearExceptions.cpp index 3f62ed6d8..88758ae7a 100644 --- a/gtsam/linear/linearExceptions.cpp +++ b/gtsam/linear/linearExceptions.cpp @@ -17,7 +17,7 @@ */ #include - +#include #include namespace gtsam { @@ -25,16 +25,19 @@ namespace gtsam { /* ************************************************************************* */ const char* IndeterminantLinearSystemException::what() const throw() { - if(!description_) + if(!description_) { description_ = String( "\nIndeterminant linear system detected while working near variable\n" - + boost::lexical_cast(j_) + ".\n" + + boost::lexical_cast(j_) + + + " (Symbol: " + boost::lexical_cast( + gtsam::DefaultKeyFormatter(gtsam::Symbol(j_))) + ").\n" "\n\ Thrown when a linear system is ill-posed. The most common cause for this\n\ error is having underconstrained variables. Mathematically, the system is\n\ underdetermined. See the GTSAM Doxygen documentation at\n\ http://borg.cc.gatech.edu/ on gtsam::IndeterminantLinearSystemException for\n\ more information."); + } return description_->c_str(); } diff --git a/gtsam/navigation/PreintegrationBase.h b/gtsam/navigation/PreintegrationBase.h index bd0fd62e0..29b9b6e66 100644 --- a/gtsam/navigation/PreintegrationBase.h +++ b/gtsam/navigation/PreintegrationBase.h @@ -83,7 +83,7 @@ public: integrationCovariance_(integrationErrorCovariance) {} /// methods to access class variables - const bool use2ndOrderIntegration() const {return use2ndOrderIntegration_;} + bool use2ndOrderIntegration() const {return use2ndOrderIntegration_;} const Vector3& deltaPij() const {return deltaPij_;} const Vector3& deltaVij() const {return deltaVij_;} const imuBias::ConstantBias& biasHat() const { return biasHat_;}