Gtsam-related compilation error

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Gtsam-related compilation error

Pi Robot
Hello,

My set up is Ubuntu 14.04, ROS Indigo (Debian install).  I have been using the rtabmap Indigo binaries that work well.  However, I need to compile rtabmap from source to compare results with someone else who has compiled from source.  So first I uninstalled the rtabmap binaries, then I tried the following.

I'm trying to compile the latest source from the master branch and I am running into a compile error related to gtsam.  I installed the gtsam-3.2.1 package from source and then ran the following commands:

$ cd ~
$ git clone https://github.com/introlab/rtabmap.git rtabmap
$ cd rtabmap/build
$ cmake .. -DCMAKE_INSTALL_PREFIX=~/catkin_ws/devel
$ make -j4

The compilation aborts with the following output and error messages:

[ 30%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/RegistrationIcp.cpp.o
In file included from /usr/local/include/gtsam/geometry/Pose2.h:24:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:39:
/usr/local/include/gtsam/base/Matrix.h: In function ‘void gtsam::inplace_QR(MATRIX&)’:
/usr/local/include/gtsam/base/Matrix.h:316:71: error: expected ‘;’ before ‘::’ token
   Eigen::internal::householder_qr_inplace_blocked<MATRIX, HCoeffsType>::run(A, hCoeffs, 48, temp.data());
                                                                       ^
In file included from /usr/local/include/gtsam/geometry/Pose2.h:26:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:39:
/usr/local/include/gtsam/geometry/Point2.h: In static member function ‘static gtsam::Vector gtsam::Point2::Logmap(const gtsam::Point2&)’:
/usr/local/include/gtsam/geometry/Point2.h:175:86: error: could not convert ‘Eigen::DenseBase<Derived>::operator<<(const Scalar&) [with Derived = Eigen::Matrix<double, -1, 1>; Eigen::DenseBase<Derived>::Scalar = double]((* &(& dp)->gtsam::Point2::x())).Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, 1> >((* &(& dp)->gtsam::Point2::y()))’ from ‘Eigen::CommaInitializer<Eigen::Matrix<double, -1, 1> >’ to ‘gtsam::Vector {aka Eigen::Matrix<double, -1, 1>}’
   static inline Vector Logmap(const Point2& dp) { return (Vector(2) << dp.x(), dp.y()); }
                                                                                      ^
In file included from /usr/local/include/gtsam/geometry/Pose2.h:27:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:39:
/usr/local/include/gtsam/geometry/Rot2.h: In static member function ‘static gtsam::Vector gtsam::Rot2::Logmap(const gtsam::Rot2&)’:
/usr/local/include/gtsam/geometry/Rot2.h:173:25: error: could not convert ‘Eigen::DenseBase<Derived>::operator<<(const Scalar&) [with Derived = Eigen::Matrix<double, -1, 1>; Eigen::DenseBase<Derived>::Scalar = double]((* &(& r)->gtsam::Rot2::theta()))’ from ‘Eigen::CommaInitializer<Eigen::Matrix<double, -1, 1> >’ to ‘gtsam::Vector {aka Eigen::Matrix<double, -1, 1>}’
       return (Vector(1) << r.theta());
                         ^
In file included from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:39:0:
/usr/local/include/gtsam/geometry/Pose2.h: In static member function ‘static gtsam::Matrix gtsam::Pose2::wedge(double, double, double)’:
/usr/local/include/gtsam/geometry/Pose2.h:178:20: error: could not convert ‘(&(&(&(&(&(&(& Eigen::DenseBase<Derived>::operator<<(const Scalar&) [with Derived = Eigen::Matrix<double, -1, -1>; Eigen::DenseBase<Derived>::Scalar = double]((* &0.0)).Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &(- w))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& vx))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& w))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0)))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& vy))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0)))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0)))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0))’ from ‘Eigen::CommaInitializer<Eigen::Matrix<double, -1, -1> >’ to ‘gtsam::Matrix {aka Eigen::Matrix<double, -1, -1>}’
         0., 0.,  0.);
                    ^
In file included from /usr/local/include/gtsam/geometry/Pose3.h:30:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:40:
/usr/local/include/gtsam/geometry/Rot3.h: In static member function ‘static gtsam::Rot3 gtsam::Rot3::rodriguez(double, double, double)’:
/usr/local/include/gtsam/geometry/Rot3.h:197:51: error: no matching function for call to ‘gtsam::Rot3::rodriguez(Eigen::CommaInitializer<Eigen::Matrix<double, -1, 1> >&)’
       { return rodriguez((Vector(3) << wx, wy, wz));}
                                                   ^
/usr/local/include/gtsam/geometry/Rot3.h:197:51: note: candidates are:
/usr/local/include/gtsam/geometry/Rot3.h:164:17: note: static gtsam::Rot3 gtsam::Rot3::rodriguez(const Vector&, double)
     static Rot3 rodriguez(const Vector& w, double theta);
                 ^
/usr/local/include/gtsam/geometry/Rot3.h:164:17: note:   candidate expects 2 arguments, 1 provided
/usr/local/include/gtsam/geometry/Rot3.h:172:17: note: static gtsam::Rot3 gtsam::Rot3::rodriguez(const gtsam::Point3&, double)
     static Rot3 rodriguez(const Point3& w, double theta);
                 ^
/usr/local/include/gtsam/geometry/Rot3.h:172:17: note:   candidate expects 2 arguments, 1 provided
/usr/local/include/gtsam/geometry/Rot3.h:180:17: note: static gtsam::Rot3 gtsam::Rot3::rodriguez(const gtsam::Unit3&, double)
     static Rot3 rodriguez(const Unit3& w, double theta);
                 ^
/usr/local/include/gtsam/geometry/Rot3.h:180:17: note:   candidate expects 2 arguments, 1 provided
/usr/local/include/gtsam/geometry/Rot3.h:187:17: note: static gtsam::Rot3 gtsam::Rot3::rodriguez(const Vector&)
     static Rot3 rodriguez(const Vector& v);
                 ^
/usr/local/include/gtsam/geometry/Rot3.h:187:17: note:   no known conversion for argument 1 from ‘Eigen::CommaInitializer<Eigen::Matrix<double, -1, 1> >’ to ‘const Vector& {aka const Eigen::Matrix<double, -1, 1>&}’
/usr/local/include/gtsam/geometry/Rot3.h:196:17: note: static gtsam::Rot3 gtsam::Rot3::rodriguez(double, double, double)
     static Rot3 rodriguez(double wx, double wy, double wz)
                 ^
/usr/local/include/gtsam/geometry/Rot3.h:196:17: note:   candidate expects 3 arguments, 1 provided
In file included from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:40:0:
/usr/local/include/gtsam/geometry/Pose3.h: In static member function ‘static gtsam::Matrix gtsam::Pose3::wedge(double, double, double, double, double, double)’:
/usr/local/include/gtsam/geometry/Pose3.h:226:28: error: could not convert ‘(&(&(&(&(&(&(&(&(&(&(&(&(&(& Eigen::DenseBase<Derived>::operator<<(const Scalar&) [with Derived = Eigen::Matrix<double, -1, -1>; Eigen::DenseBase<Derived>::Scalar = double]((* &0.0)).Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &(- wz))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& wy))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& vx))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& wz))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0)))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &(- wx))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& vy))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &(- wy))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& wx))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0)))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((*(const Scalar*)(& vz))))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0)))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0)))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0)))->Eigen::CommaInitializer<MatrixType>::operator,<Eigen::Matrix<double, -1, -1> >((* &0.0))’ from ‘Eigen::CommaInitializer<Eigen::Matrix<double, -1, -1> >’ to ‘gtsam::Matrix {aka Eigen::Matrix<double, -1, -1>}’
           0.,  0.,  0.,  0.);
                            ^
[ 30%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/RegistrationVis.cpp.o
In file included from /home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/betweenFactorSwitchable.h:17:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:55:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h: In member function ‘gtsam::Vector vertigo::SwitchVariableLinear::localCoordinates(const vertigo::SwitchVariableLinear&) const’:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:62:90: error: ‘Vector1’ is not a member of ‘gtsam’
     inline gtsam::Vector localCoordinates(const SwitchVariableLinear& t2) const { return gtsam::Vector1(t2.value() - value()); }
                                                                                          ^
In file included from /home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/betweenFactorSwitchable.h:17:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:55:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h: In static member function ‘static gtsam::Vector vertigo::SwitchVariableLinear::Logmap(const vertigo::SwitchVariableLinear&)’:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:96:80: error: ‘Vector1’ is not a member of ‘gtsam’
     static inline gtsam::Vector Logmap(const SwitchVariableLinear& p) { return gtsam::Vector1(p.value()); }
                                                                                ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h: At global scope:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:115:11: error: ‘OptionalJacobian’ does not name a type
   typedef OptionalJacobian<3, 3> ChartJacobian;
           ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:118:3: error: ‘ChartJacobian’ has not been declared
   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
   ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:118:40: error: ‘ChartJacobian’ has not been declared
   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
                                        ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:122:9: error: ‘ChartJacobian’ has not been declared
         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
         ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:122:41: error: ‘ChartJacobian’ has not been declared
         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
                                         ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:118:34: error: could not convert ‘boost::none’ from ‘const none_t {aka int boost::detail::none_helper::* const}’ to ‘int’
   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
                                  ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:118:70: error: could not convert ‘boost::none’ from ‘const none_t {aka int boost::detail::none_helper::* const}’ to ‘int’
   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
                                                                      ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:122:35: error: could not convert ‘boost::none’ from ‘const none_t {aka int boost::detail::none_helper::* const}’ to ‘int’
         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
                                   ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:122:67: error: could not convert ‘boost::none’ from ‘const none_t {aka int boost::detail::none_helper::* const}’ to ‘int’
         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
                                                                   ^
In file included from /home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/betweenFactorSwitchable.h:18:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:55:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h: In member function ‘gtsam::Vector vertigo::SwitchVariableSigmoid::localCoordinates(const vertigo::SwitchVariableSigmoid&) const’:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:62:91: error: ‘Vector1’ is not a member of ‘gtsam’
     inline gtsam::Vector localCoordinates(const SwitchVariableSigmoid& t2) const { return gtsam::Vector1(t2.value() - value()); }
                                                                                           ^
In file included from /home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/betweenFactorSwitchable.h:18:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:55:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h: In static member function ‘static gtsam::Vector vertigo::SwitchVariableSigmoid::Logmap(const vertigo::SwitchVariableSigmoid&)’:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:96:81: error: ‘Vector1’ is not a member of ‘gtsam’
     static inline gtsam::Vector Logmap(const SwitchVariableSigmoid& p) { return gtsam::Vector1(p.value()); }
                                                                                 ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h: At global scope:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:116:11: error: ‘OptionalJacobian’ does not name a type
   typedef OptionalJacobian<3, 3> ChartJacobian;
           ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:119:3: error: ‘ChartJacobian’ has not been declared
   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
   ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:119:40: error: ‘ChartJacobian’ has not been declared
   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
                                        ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:123:9: error: ‘ChartJacobian’ has not been declared
         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
         ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:123:41: error: ‘ChartJacobian’ has not been declared
         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
                                         ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:119:34: error: could not convert ‘boost::none’ from ‘const none_t {aka int boost::detail::none_helper::* const}’ to ‘int’
   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
                                  ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:119:70: error: could not convert ‘boost::none’ from ‘const none_t {aka int boost::detail::none_helper::* const}’ to ‘int’
   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
                                                                      ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:123:35: error: could not convert ‘boost::none’ from ‘const none_t {aka int boost::detail::none_helper::* const}’ to ‘int’
         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
                                   ^
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:123:67: error: could not convert ‘boost::none’ from ‘const none_t {aka int boost::detail::none_helper::* const}’ to ‘int’
         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
                                                                   ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp: In member function ‘virtual std::map<int, rtabmap::Transform> rtabmap::OptimizerGTSAM::optimize(int, const std::map<int, rtabmap::Transform>&, const std::multimap<int, rtabmap::Link>&, std::list<std::map<int, rtabmap::Transform> >*, double*, int*)’:
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:152:100: error: ‘Vector1’ is not a member of ‘gtsam’
     gtsam::noiseModel::Diagonal::shared_ptr switchPriorModel = gtsam::noiseModel::Diagonal::Sigmas(gtsam::Vector1(1.0));
                                                                                                    ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:246:37: error: ‘const class gtsam::Value’ has no member named ‘cast’
        gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
                                     ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:246:54: error: expected primary-expression before ‘>’ token
        gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
                                                      ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:246:56: error: expected primary-expression before ‘)’ token
        gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
                                                        ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:251:37: error: ‘const class gtsam::Value’ has no member named ‘cast’
        gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
                                     ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:251:54: error: expected primary-expression before ‘>’ token
        gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
                                                      ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:251:56: error: expected primary-expression before ‘)’ token
        gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
                                                        ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:308:35: error: ‘const class gtsam::Value’ has no member named ‘cast’
      gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
                                   ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:308:52: error: expected primary-expression before ‘>’ token
      gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
                                                    ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:308:54: error: expected primary-expression before ‘)’ token
      gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
                                                      ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:313:35: error: ‘const class gtsam::Value’ has no member named ‘cast’
      gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
                                   ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:313:52: error: expected primary-expression before ‘>’ token
      gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
                                                    ^
/home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:313:54: error: expected primary-expression before ‘)’ token
      gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
                                                      ^
In file included from /home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/betweenFactorSwitchable.h:17:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:55:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h: In member function ‘gtsam::Vector vertigo::SwitchVariableLinear::localCoordinates(const vertigo::SwitchVariableLinear&) const’:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableLinear.h:62:128: warning: control reaches end of non-void function [-Wreturn-type]
     inline gtsam::Vector localCoordinates(const SwitchVariableLinear& t2) const { return gtsam::Vector1(t2.value() - value()); }
                                                                                                                                ^
In file included from /home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/betweenFactorSwitchable.h:18:0,
                 from /home/patrick/src/rtabmap/corelib/src/OptimizerGTSAM.cpp:55:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h: In member function ‘gtsam::Vector vertigo::SwitchVariableSigmoid::localCoordinates(const vertigo::SwitchVariableSigmoid&) const’:
/home/patrick/src/rtabmap/corelib/src/vertigo/gtsam/switchVariableSigmoid.h:62:129: warning: control reaches end of non-void function [-Wreturn-type]
     inline gtsam::Vector localCoordinates(const SwitchVariableSigmoid& t2) const { return gtsam::Vector1(t2.value() - value()); }
                                                                                                                                 ^
make[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/OptimizerGTSAM.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2
make: *** [all] Error 2
Reply | Threaded
Open this post in threaded view
|

Re: Gtsam-related compilation error

matlabbe
Administrator
Hi,

latest version of GTSAM is required, it will not build with 3.2.1:
$ git clone https://bitbucket.org/gtborg/gtsam.git
You can also read some other issues in "1. Optional dependencies" step of rtabmap_ros's installation instructions.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: Gtsam-related compilation error

Pi Robot
Thanks Mathieu.  I don't know how I read that instruction completely backwards so I thought I was supposed to install 3.2.1.  I installed the latest and everything is good now.  Sorry for wasting your time!

--patrick