Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make failed, gtsam issue #1000

Closed
cu-autobike opened this issue Mar 23, 2023 · 2 comments · Fixed by #1033
Closed

make failed, gtsam issue #1000

cu-autobike opened this issue Mar 23, 2023 · 2 comments · Fixed by #1033

Comments

@cu-autobike
Copy link

I followed the instructions on #427 (comment) to install rtabmap on ros-melodic for the Jetson Xavier (running Ubuntu 18.04), but encountered the following error message when running make:

In file included from /usr/include/gtsam/slam/PriorFactor.h:20:0, from /home/autobike/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43: /usr/include/gtsam/nonlinear/PriorFactor.h: In instantiation of ‘gtsam::Vector gtsam::PriorFactor<VALUE>::evaluateError(const T&, gtsam::OptionalMatrixType) const [with VALUE = vertigo::SwitchVariableLinear; gtsam::Vector = Eigen::Matrix<double, -1, 1>; gtsam::PriorFactor<VALUE>::T = vertigo::SwitchVariableLinear; gtsam::OptionalMatrixType = Eigen::Matrix<double, -1, -1>*; gtsam::Matrix = Eigen::Matrix<double, -1, -1>]’: /home/autobike/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:749:1: required from here /usr/include/gtsam/nonlinear/PriorFactor.h:101:31: error: call to ‘static gtsam::traits<vertigo::SwitchVariableLinear>::TangentVector gtsam::traits<vertigo::SwitchVariableLinear>::Local(const vertigo::SwitchVariableLinear&, const vertigo::SwitchVariableLinear&, gtsam::traits<vertigo::SwitchVariableLinear>::ChartJacobian, gtsam::traits<vertigo::SwitchVariableLinear>::ChartJacobian)’ uses the default argument for parameter 3, which is not yet defined return -traits<T>::Local(x, prior_); ~~~~~~~~~~~~~~~~^~~~~~~~~~~ /usr/include/gtsam/nonlinear/PriorFactor.h:101:31: error: call to ‘static gtsam::traits<vertigo::SwitchVariableLinear>::TangentVector gtsam::traits<vertigo::SwitchVariableLinear>::Local(const vertigo::SwitchVariableLinear&, const vertigo::SwitchVariableLinear&, gtsam::traits<vertigo::SwitchVariableLinear>::ChartJacobian, gtsam::traits<vertigo::SwitchVariableLinear>::ChartJacobian)’ uses the default argument for parameter 4, which is not yet defined corelib/src/CMakeFiles/rtabmap_core.dir/build.make:929: recipe for target 'corelib/src/CMakeFiles/rtabmap_core.dir/optimizer/OptimizerGTSAM.cpp.o' failed make[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/optimizer/OptimizerGTSAM.cpp.o] Error 1 CMakeFiles/Makefile2:825: recipe for target 'corelib/src/CMakeFiles/rtabmap_core.dir/all' failed make[1]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2 Makefile:155: recipe for target 'all' failed make: *** [all] Error 2

The cmake output can be found here:
cmakeoutput2.txt

@matlabbe
Copy link
Member

It is gtsam 4.3. rtabmap is currently tested only with gtsam 4.0

@matlabbe
Copy link
Member

With latest gtsam:

#0 42.06 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:53:
#0 42.06 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:66:40: error: ‘none’ is not a member of ‘boost’
#0 42.06    66 |       OptionalJacobian<2,3> H = boost::none) const;
#0 42.06       |                                        ^~~~
#0 42.06 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: In member function ‘void rtabmap::GravityFactor::serialize(ARCHIVE&, unsigned int)’:
#0 42.06 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:72:32: error: ‘make_nvp’ is not a member of ‘boost::serialization’
#0 42.06    72 |     ar & boost::serialization::make_nvp("nZ_", const_cast<Unit3&>(nZ_));
#0 42.06       |                                ^~~~~~~~
#0 42.06 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:73:32: error: ‘make_nvp’ is not a member of ‘boost::serialization’
#0 42.06    73 |     ar & boost::serialization::make_nvp("bRef_", const_cast<Unit3&>(bRef_));
#0 42.06       |                                ^~~~~~~~
#0 42.06 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: At global scope:
#0 42.06 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:88:18: error: ‘shared_ptr’ in namespace ‘boost’ does not name a template type
#0 42.06    88 |   typedef boost::shared_ptr<Rot3GravityFactor> shared_ptr;
#0 42.06       |                  ^~~~~~~~~~
#0 42.06 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:127:7: error: ‘boost::optional’ has not been declared
#0 42.06   127 |       boost::optional<Matrix&> H = boost::none) const {
#0 42.06       |       ^~~~~
#0 42.06 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:127:22: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.06   127 |       boost::optional<Matrix&> H = boost::none) const {
#0 42.06       |                      ^
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: In member function ‘virtual gtsam::NonlinearFactor::shared_ptr rtabmap::Rot3GravityFactor::clone() const’:
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:114:19: error: ‘static_pointer_cast’ is not a member of ‘boost’
#0 42.07   114 |     return boost::static_pointer_cast<gtsam::NonlinearFactor>(
#0 42.07       |                   ^~~~~~~~~~~~~~~~~~~
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:114:19: note: suggested alternatives:
#0 42.07 In file included from /usr/include/c++/11/memory:77,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:11,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core/cvstd.hpp:81,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core/base.hpp:58,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core.hpp:53,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core/core.hpp:48,
#0 42.07                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
#0 42.07                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Link.h:33,
#0 42.07                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Graph.h:36,
#0 42.07                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:27:
#0 42.07 /usr/include/c++/11/bits/shared_ptr.h:582:5: note:   ‘std::static_pointer_cast’
#0 42.07   582 |     static_pointer_cast(const shared_ptr<_Up>& __r) noexcept
#0 42.07       |     ^~~~~~~~~~~~~~~~~~~
#0 42.07 In file included from /usr/include/c++/11/bits/shared_ptr.h:53,
#0 42.07                  from /usr/include/c++/11/memory:77,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:11,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core/cvstd.hpp:81,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core/base.hpp:58,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core.hpp:53,
#0 42.07                  from /usr/local/include/opencv4/opencv2/core/core.hpp:48,
#0 42.07                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
#0 42.07                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Link.h:33,
#0 42.07                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Graph.h:36,
#0 42.07                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:27:
#0 42.07 /usr/include/c++/11/bits/shared_ptr_base.h:1546:5: note:   ‘std::static_pointer_cast’
#0 42.07  1546 |     static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
#0 42.07       |     ^~~~~~~~~~~~~~~~~~~
#0 42.07 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:53:
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:114:61: error: expected primary-expression before ‘>’ token
#0 42.07   114 |     return boost::static_pointer_cast<gtsam::NonlinearFactor>(
#0 42.07       |                                                             ^
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:115:58: error: invalid new-expression of abstract class type ‘rtabmap::Rot3GravityFactor’
#0 42.07   115 |         gtsam::NonlinearFactor::shared_ptr(new This(*this)));
#0 42.07       |                                                          ^
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:81:7: note:   because the following virtual functions are pure within ‘rtabmap::Rot3GravityFactor’:
#0 42.07    81 | class Rot3GravityFactor: public NoiseModelFactor1<Rot3>, public GravityFactor {
#0 42.07       |       ^~~~~~~~~~~~~~~~~
#0 42.07 In file included from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.07                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.07                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.07 /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:639:18: note:     ‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Rot3}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
#0 42.07   639 |   virtual Vector evaluateError(const ValueTypes&... x,
#0 42.07       |                  ^~~~~~~~~~~~~
#0 42.07 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:53:
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: In member function ‘virtual gtsam::Vector rtabmap::Rot3GravityFactor::evaluateError(const gtsam::Rot3&, int) const’:
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:128:31: error: ‘H’ was not declared in this scope; did you mean ‘gtsam::symbol_shorthand::H’?
#0 42.07   128 |     return attitudeError(nRb, H);
#0 42.07       |                               ^
#0 42.07       |                               gtsam::symbol_shorthand::H
#0 42.07 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:42:
#0 42.07 /usr/local/include/gtsam/inference/Symbol.h:155:12: note: ‘gtsam::symbol_shorthand::H’ declared here
#0 42.07   155 | inline Key H(std::uint64_t j) { return Symbol('h', j); }
#0 42.07       |            ^
#0 42.07 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:53:
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: In member function ‘void rtabmap::Rot3GravityFactor::serialize(ARCHIVE&, unsigned int)’:
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:143:32: error: ‘make_nvp’ is not a member of ‘boost::serialization’
#0 42.07   143 |     ar & boost::serialization::make_nvp("NoiseModelFactor1",
#0 42.07       |                                ^~~~~~~~
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:144:31: error: ‘base_object’ is not a member of ‘boost::serialization’
#0 42.07   144 |         boost::serialization::base_object<Base>(*this));
#0 42.07       |                               ^~~~~~~~~~~
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:144:47: error: expected primary-expression before ‘>’ token
#0 42.07   144 |         boost::serialization::base_object<Base>(*this));
#0 42.07       |                                               ^
#0 42.07 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:145:32: error: ‘make_nvp’ is not a member of ‘boost::serialization’
#0 42.07   145 |     ar & boost::serialization::make_nvp("GravityFactor",
#0 42.07       |                                ^~~~~~~~
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:146:31: error: ‘base_object’ is not a member of ‘boost::serialization’
#0 42.08   146 |         boost::serialization::base_object<GravityFactor>(*this));
#0 42.08       |                               ^~~~~~~~~~~
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:146:56: error: expected primary-expression before ‘>’ token
#0 42.08   146 |         boost::serialization::base_object<GravityFactor>(*this));
#0 42.08       |                                                        ^
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: At global scope:
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:166:18: error: ‘shared_ptr’ in namespace ‘boost’ does not name a template type
#0 42.08   166 |   typedef boost::shared_ptr<Pose3GravityFactor> shared_ptr;
#0 42.08       |                  ^~~~~~~~~~
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:205:7: error: ‘boost::optional’ has not been declared
#0 42.08   205 |       boost::optional<Matrix&> H = boost::none) const {
#0 42.08       |       ^~~~~
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:205:22: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.08   205 |       boost::optional<Matrix&> H = boost::none) const {
#0 42.08       |                      ^
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: In member function ‘virtual gtsam::NonlinearFactor::shared_ptr rtabmap::Pose3GravityFactor::clone() const’:
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:192:19: error: ‘static_pointer_cast’ is not a member of ‘boost’
#0 42.08   192 |     return boost::static_pointer_cast<gtsam::NonlinearFactor>(
#0 42.08       |                   ^~~~~~~~~~~~~~~~~~~
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:192:19: note: suggested alternatives:
#0 42.08 In file included from /usr/include/c++/11/memory:77,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:11,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core/cvstd.hpp:81,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core/base.hpp:58,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core.hpp:53,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core/core.hpp:48,
#0 42.08                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
#0 42.08                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Link.h:33,
#0 42.08                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Graph.h:36,
#0 42.08                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:27:
#0 42.08 /usr/include/c++/11/bits/shared_ptr.h:582:5: note:   ‘std::static_pointer_cast’
#0 42.08   582 |     static_pointer_cast(const shared_ptr<_Up>& __r) noexcept
#0 42.08       |     ^~~~~~~~~~~~~~~~~~~
#0 42.08 In file included from /usr/include/c++/11/bits/shared_ptr.h:53,
#0 42.08                  from /usr/include/c++/11/memory:77,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:11,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core/cvstd.hpp:81,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core/base.hpp:58,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core.hpp:53,
#0 42.08                  from /usr/local/include/opencv4/opencv2/core/core.hpp:48,
#0 42.08                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
#0 42.08                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Link.h:33,
#0 42.08                  from /root/rtabmap/corelib/src/../include/rtabmap/core/Graph.h:36,
#0 42.08                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:27:
#0 42.08 /usr/include/c++/11/bits/shared_ptr_base.h:1546:5: note:   ‘std::static_pointer_cast’
#0 42.08  1546 |     static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
#0 42.08       |     ^~~~~~~~~~~~~~~~~~~
#0 42.08 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:53:
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:192:61: error: expected primary-expression before ‘>’ token
#0 42.08   192 |     return boost::static_pointer_cast<gtsam::NonlinearFactor>(
#0 42.08       |                                                             ^
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:193:58: error: invalid new-expression of abstract class type ‘rtabmap::Pose3GravityFactor’
#0 42.08   193 |         gtsam::NonlinearFactor::shared_ptr(new This(*this)));
#0 42.08       |                                                          ^
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:158:7: note:   because the following virtual functions are pure within ‘rtabmap::Pose3GravityFactor’:
#0 42.08   158 | class Pose3GravityFactor: public NoiseModelFactor1<Pose3>,
#0 42.08       |       ^~~~~~~~~~~~~~~~~~
#0 42.08 In file included from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.08                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.08                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.08 /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:639:18: note:     ‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Pose3}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
#0 42.08   639 |   virtual Vector evaluateError(const ValueTypes&... x,
#0 42.08       |                  ^~~~~~~~~~~~~
#0 42.08 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:53:
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: In member function ‘virtual gtsam::Vector rtabmap::Pose3GravityFactor::evaluateError(const gtsam::Pose3&, int) const’:
#0 42.08 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:206:46: error: ‘H’ was not declared in this scope; did you mean ‘gtsam::symbol_shorthand::H’?
#0 42.08   206 |     Vector e = attitudeError(nTb.rotation(), H);
#0 42.08       |                                              ^
#0 42.08       |                                              gtsam::symbol_shorthand::H
#0 42.08 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:42:
#0 42.08 /usr/local/include/gtsam/inference/Symbol.h:155:12: note: ‘gtsam::symbol_shorthand::H’ declared here
#0 42.08   155 | inline Key H(std::uint64_t j) { return Symbol('h', j); }
#0 42.08       |            ^
#0 42.10 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:53:
#0 42.10 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:210:21: warning: left operand of comma operator has no effect [-Wunused-value]
#0 42.10   210 |       H->block<2,3>(0,0) = H23;
#0 42.10       |                     ^
#0 42.10 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:210:19: error: lvalue required as left operand of assignment
#0 42.10   210 |       H->block<2,3>(0,0) = H23;
#0 42.10       |                  ~^~~~~~
#0 42.10 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h: In member function ‘void rtabmap::Pose3GravityFactor::serialize(ARCHIVE&, unsigned int)’:
#0 42.10 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:227:32: error: ‘make_nvp’ is not a member of ‘boost::serialization’
#0 42.10   227 |     ar & boost::serialization::make_nvp("NoiseModelFactor1",
#0 42.10       |                                ^~~~~~~~
#0 42.10 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:228:31: error: ‘base_object’ is not a member of ‘boost::serialization’
#0 42.10   228 |         boost::serialization::base_object<Base>(*this));
#0 42.10       |                               ^~~~~~~~~~~
#0 42.10 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:228:47: error: expected primary-expression before ‘>’ token
#0 42.10   228 |         boost::serialization::base_object<Base>(*this));
#0 42.10       |                                               ^
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:229:32: error: ‘make_nvp’ is not a member of ‘boost::serialization’
#0 42.11   229 |     ar & boost::serialization::make_nvp("GravityFactor",
#0 42.11       |                                ^~~~~~~~
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:230:31: error: ‘base_object’ is not a member of ‘boost::serialization’
#0 42.11   230 |         boost::serialization::base_object<GravityFactor>(*this));
#0 42.11       |                               ^~~~~~~~~~~
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/GravityFactor.h:230:56: error: expected primary-expression before ‘>’ token
#0 42.11   230 |         boost::serialization::base_object<GravityFactor>(*this));
#0 42.11       |                                                        ^
#0 42.11 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:54:
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYFactor.h: At global scope:
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYFactor.h:44:47: error: ‘boost::optional’ has not been declared
#0 42.11    44 |   gtsam::Vector evaluateError(const VALUE& p, boost::optional<gtsam::Matrix&> H = boost::none) const {
#0 42.11       |                                               ^~~~~
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYFactor.h:44:62: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.11    44 |   gtsam::Vector evaluateError(const VALUE& p, boost::optional<gtsam::Matrix&> H = boost::none) const {
#0 42.11       |                                                              ^
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYFactor.h: In member function ‘gtsam::Vector rtabmap::XYFactor<VALUE>::evaluateError(const VALUE&, int) const’:
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYFactor.h:48:9: error: ‘H’ was not declared in this scope; did you mean ‘gtsam::symbol_shorthand::H’?
#0 42.11    48 |     if (H) *H = (gtsam::Matrix23() << 1.0, 0.0, 0.0,
#0 42.11       |         ^
#0 42.11       |         gtsam::symbol_shorthand::H
#0 42.11 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:42:
#0 42.11 /usr/local/include/gtsam/inference/Symbol.h:155:12: note: ‘gtsam::symbol_shorthand::H’ declared here
#0 42.11   155 | inline Key H(std::uint64_t j) { return Symbol('h', j); }
#0 42.11       |            ^
#0 42.11 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:55:
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h: At global scope:
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h:44:54: error: ‘boost::optional’ has not been declared
#0 42.11    44 |   gtsam::Vector evaluateError(const gtsam::Pose3& p, boost::optional<gtsam::Matrix&> H = boost::none) const {
#0 42.11       |                                                      ^~~~~
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h:44:69: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.11    44 |   gtsam::Vector evaluateError(const gtsam::Pose3& p, boost::optional<gtsam::Matrix&> H = boost::none) const {
#0 42.11       |                                                                     ^
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h:51:55: error: ‘boost::optional’ has not been declared
#0 42.11    51 |   gtsam::Vector evaluateError(const gtsam::Point3& p, boost::optional<gtsam::Matrix&> H = boost::none) const {
#0 42.11       |                                                       ^~~~~
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h:51:70: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.11    51 |   gtsam::Vector evaluateError(const gtsam::Point3& p, boost::optional<gtsam::Matrix&> H = boost::none) const {
#0 42.11       |                                                                      ^
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h: In member function ‘gtsam::Vector rtabmap::XYZFactor<VALUE>::evaluateError(const gtsam::Pose3&, int) const’:
#0 42.11 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h:45:8: error: ‘H’ was not declared in this scope; did you mean ‘gtsam::symbol_shorthand::H’?
#0 42.11    45 |     if(H)
#0 42.11       |        ^
#0 42.11       |        gtsam::symbol_shorthand::H
#0 42.11 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:42:
#0 42.11 /usr/local/include/gtsam/inference/Symbol.h:155:12: note: ‘gtsam::symbol_shorthand::H’ declared here
#0 42.11   155 | inline Key H(std::uint64_t j) { return Symbol('h', j); }
#0 42.11       |            ^
#0 42.16 In file included from /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:14,
#0 42.16                  from /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:17,
#0 42.16                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:58:
#0 42.16 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/DerivedValue.h: In instantiation of ‘class rtabmap::DerivedValue<vertigo::SwitchVariableLinear>’:
#0 42.16 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:22:49:   required from here
#0 42.16 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/DerivedValue.h:75:43: error: invalid covariant return type for ‘boost::shared_ptr<gtsam::Value> rtabmap::DerivedValue<DERIVED>::clone() const [with DERIVED = vertigo::SwitchVariableLinear]’
#0 42.16    75 |   virtual boost::shared_ptr<gtsam::Value> clone() const {
#0 42.16       |                                           ^~~~~
#0 42.16 In file included from /usr/local/include/gtsam/base/GenericValue.h:24,
#0 42.16                  from /usr/local/include/gtsam/nonlinear/Values.h:29,
#0 42.16                  from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:24,
#0 42.16                  from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.16                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.16                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.16 /usr/local/include/gtsam/base/Value.h:49:36: note: overridden function is ‘virtual std::shared_ptr<gtsam::Value> gtsam::Value::clone() const’
#0 42.16    49 |     virtual std::shared_ptr<Value> clone() const = 0;
#0 42.16       |                                    ^~~~~
#0 42.16 In file included from /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:17,
#0 42.16                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:58:
#0 42.16 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h: At global scope:
#0 42.16 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:79:9: error: ‘boost::optional’ has not been declared
#0 42.16    79 |         boost::optional<gtsam::Matrix&> H1=boost::none,
#0 42.16       |         ^~~~~
#0 42.16 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:79:24: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.16    79 |         boost::optional<gtsam::Matrix&> H1=boost::none,
#0 42.16       |                        ^
#0 42.18 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h: In member function ‘vertigo::SwitchVariableLinear vertigo::SwitchVariableLinear::between(const vertigo::SwitchVariableLinear&, int) const’:
#0 42.18 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:81:10: error: ‘H1’ was not declared in this scope; did you mean ‘y1’?
#0 42.18    81 |       if(H1) *H1 = -gtsam::Matrix::Identity(1, 1);
#0 42.18       |          ^~
#0 42.18       |          y1
#0 42.22 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:82:10: error: ‘H2’ was not declared in this scope; did you mean ‘l2’?
#0 42.22    82 |       if(H2) *H2 = gtsam::Matrix::Identity(1, 1);
#0 42.22       |          ^~
#0 42.22       |          l2
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h: At global scope:
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:119:34: error: ‘none’ is not a member of ‘boost’
#0 42.23   119 |   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
#0 42.23       |                                  ^~~~
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:119:70: error: ‘none’ is not a member of ‘boost’
#0 42.23   119 |   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
#0 42.23       |                                                                      ^~~~
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:123:35: error: ‘none’ is not a member of ‘boost’
#0 42.23   123 |         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
#0 42.23       |                                   ^~~~
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:123:67: error: ‘none’ is not a member of ‘boost’
#0 42.23   123 |         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
#0 42.23       |                                                                   ^~~~
#0 42.23 In file included from /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:14,
#0 42.23                  from /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:17,
#0 42.23                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:58:
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/DerivedValue.h: In instantiation of ‘class rtabmap::DerivedValue<vertigo::SwitchVariableSigmoid>’:
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:22:50:   required from here
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/DerivedValue.h:75:43: error: invalid covariant return type for ‘boost::shared_ptr<gtsam::Value> rtabmap::DerivedValue<DERIVED>::clone() const [with DERIVED = vertigo::SwitchVariableSigmoid]’
#0 42.23    75 |   virtual boost::shared_ptr<gtsam::Value> clone() const {
#0 42.23       |                                           ^~~~~
#0 42.23 In file included from /usr/local/include/gtsam/base/GenericValue.h:24,
#0 42.23                  from /usr/local/include/gtsam/nonlinear/Values.h:29,
#0 42.23                  from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:24,
#0 42.23                  from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.23                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.23                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.23 /usr/local/include/gtsam/base/Value.h:49:36: note: overridden function is ‘virtual std::shared_ptr<gtsam::Value> gtsam::Value::clone() const’
#0 42.23    49 |     virtual std::shared_ptr<Value> clone() const = 0;
#0 42.23       |                                    ^~~~~
#0 42.23 In file included from /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:18,
#0 42.23                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:58:
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:79:9: error: ‘boost::optional’ has not been declared
#0 42.23    79 |         boost::optional<gtsam::Matrix&> H1=boost::none,
#0 42.23       |         ^~~~~
#0 42.23 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:79:24: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.23    79 |         boost::optional<gtsam::Matrix&> H1=boost::none,
#0 42.23       |                        ^
#0 42.26 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h: In member function ‘vertigo::SwitchVariableSigmoid vertigo::SwitchVariableSigmoid::between(const vertigo::SwitchVariableSigmoid&, int) const’:
#0 42.26 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:81:10: error: ‘H1’ was not declared in this scope; did you mean ‘y1’?
#0 42.26    81 |       if(H1) *H1 = -gtsam::Matrix::Identity(1, 1);
#0 42.26       |          ^~
#0 42.26       |          y1
#0 42.28 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:82:10: error: ‘H2’ was not declared in this scope; did you mean ‘l2’?
#0 42.28    82 |       if(H2) *H2 = gtsam::Matrix::Identity(1, 1);
#0 42.28       |          ^~
#0 42.28       |          l2
#0 42.28 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h: At global scope:
#0 42.28 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:120:34: error: ‘none’ is not a member of ‘boost’
#0 42.28   120 |   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
#0 42.28       |                                  ^~~~
#0 42.28 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:120:70: error: ‘none’ is not a member of ‘boost’
#0 42.28   120 |   ChartJacobian Horigin = boost::none, ChartJacobian Hother = boost::none) {
#0 42.28       |                                                                      ^~~~
#0 42.28 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:124:35: error: ‘none’ is not a member of ‘boost’
#0 42.28   124 |         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
#0 42.28       |                                   ^~~~
#0 42.29 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:124:67: error: ‘none’ is not a member of ‘boost’
#0 42.29   124 |         ChartJacobian H1 = boost::none, ChartJacobian H2 = boost::none) {
#0 42.29       |                                                                   ^~~~
#0 42.29 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:58:
#0 42.29 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:33:11: error: ‘boost::optional’ has not been declared
#0 42.29    33 |           boost::optional<gtsam::Matrix&> H1 = boost::none,
#0 42.29       |           ^~~~~
#0 42.29 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:33:26: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.29    33 |           boost::optional<gtsam::Matrix&> H1 = boost::none,
#0 42.29       |                          ^
#0 42.31 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h: In member function ‘gtsam::Vector vertigo::BetweenFactorSwitchableLinear<VALUE>::evaluateError(const VALUE&, const VALUE&, const vertigo::SwitchVariableLinear&, int) const’:
#0 42.31 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:39:69: error: ‘H1’ was not declared in this scope; did you mean ‘y1’?
#0 42.31    39 |           gtsam::Vector error = betweenFactor.evaluateError(p1, p2, H1, H2);
#0 42.31       |                                                                     ^~
#0 42.31       |                                                                     y1
#0 42.33 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:39:73: error: ‘H2’ was not declared in this scope; did you mean ‘p2’?
#0 42.33    39 |           gtsam::Vector error = betweenFactor.evaluateError(p1, p2, H1, H2);
#0 42.33       |                                                                         ^~
#0 42.33       |                                                                         p2
#0 42.35 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:45:15: error: ‘H3’ was not declared in this scope
#0 42.35    45 |           if (H3) *H3 = error;
#0 42.35       |               ^~
#0 42.35 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h: At global scope:
#0 42.35 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:67:11: error: ‘boost::optional’ has not been declared
#0 42.35    67 |           boost::optional<gtsam::Matrix&> H1 = boost::none,
#0 42.35       |           ^~~~~
#0 42.35 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:67:26: error: expected ‘,’ or ‘...’ before ‘<’ token
#0 42.35    67 |           boost::optional<gtsam::Matrix&> H1 = boost::none,
#0 42.35       |                          ^
#0 42.37 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h: In member function ‘gtsam::Vector vertigo::BetweenFactorSwitchableSigmoid<VALUE>::evaluateError(const VALUE&, const VALUE&, const vertigo::SwitchVariableSigmoid&, int) const’:
#0 42.37 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:73:67: error: ‘H1’ was not declared in this scope; did you mean ‘y1’?
#0 42.37    73 |         gtsam::Vector error = betweenFactor.evaluateError(p1, p2, H1, H2);
#0 42.37       |                                                                   ^~
#0 42.37       |                                                                   y1
#0 42.39 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:73:71: error: ‘H2’ was not declared in this scope; did you mean ‘p2’?
#0 42.39    73 |         gtsam::Vector error = betweenFactor.evaluateError(p1, p2, H1, H2);
#0 42.39       |                                                                       ^~
#0 42.39       |                                                                       p2
#0 42.41 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:82:13: error: ‘H3’ was not declared in this scope
#0 42.41    82 |         if (H3) *H3 = error /* (w*(1.0-w))*/;  // sig(x)*(1-sig(x)) is the derivative of sig(x) wrt. x
#0 42.41       |             ^~
#0 42.44 [ 28%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryDVO.cpp.o
#0 42.45 /root/rtabmap/corelib/src/optimizer/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>&, cv::Mat&, std::__cxx11::list<std::map<int, rtabmap::Transform> >*, double*, int*)’:
#0 42.45 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:246:176: error: invalid cast to abstract class type ‘rtabmap::XYFactor<Eigen::Matrix<double, 2, 1> >’
#0 42.45   246 |                                                         graph.add(XYFactor<gtsam::Point2>(id1, gtsam::Point2(iter->second.transform().x(), iter->second.transform().y()), model));
#0 42.45       |                                                                                                                                                                                ^
#0 42.45 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:54:
#0 42.45 /root/rtabmap/corelib/src/optimizer/gtsam/XYFactor.h:24:7: note:   because the following virtual functions are pure within ‘rtabmap::XYFactor<Eigen::Matrix<double, 2, 1> >’:
#0 42.45    24 | class XYFactor: public gtsam::NoiseModelFactor1<VALUE> {
#0 42.45       |       ^~~~~~~~
#0 42.45 In file included from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.45                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.45                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.45 /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:639:18: note:     ‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {Eigen::Matrix<double, 2, 1, 0, 2, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
#0 42.45   639 |   virtual Vector evaluateError(const ValueTypes&... x,
#0 42.45       |                  ^~~~~~~~~~~~~
#0 42.45 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:253:175: error: invalid cast to abstract class type ‘rtabmap::XYFactor<gtsam::Pose2>’
#0 42.45   253 |                                                         graph.add(XYFactor<gtsam::Pose2>(id1, gtsam::Point2(iter->second.transform().x(), iter->second.transform().y()), model));
#0 42.45       |                                                                                                                                                                               ^
#0 42.45 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:54:
#0 42.45 /root/rtabmap/corelib/src/optimizer/gtsam/XYFactor.h:24:7: note:   because the following virtual functions are pure within ‘rtabmap::XYFactor<gtsam::Pose2>’:
#0 42.45    24 | class XYFactor: public gtsam::NoiseModelFactor1<VALUE> {
#0 42.45       |       ^~~~~~~~
#0 42.45 In file included from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.45                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.45                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.45 /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:639:18: note:     ‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Pose2}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
#0 42.45   639 |   virtual Vector evaluateError(const ValueTypes&... x,
#0 42.45       |                  ^~~~~~~~~~~~~
#0 42.46 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:283:207: error: invalid cast to abstract class type ‘rtabmap::XYZFactor<Eigen::Matrix<double, 3, 1> >’
#0 42.46   283 |                                                         graph.add(XYZFactor<gtsam::Point3>(id1, gtsam::Point3(iter->second.transform().x(), iter->second.transform().y(), iter->second.transform().z()), model));
#0 42.46       |                                                                                                                                                                                                               ^
#0 42.46 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:55:
#0 42.46 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h:24:7: note:   because the following virtual functions are pure within ‘rtabmap::XYZFactor<Eigen::Matrix<double, 3, 1> >’:
#0 42.46    24 | class XYZFactor: public gtsam::NoiseModelFactor1<VALUE> {
#0 42.46       |       ^~~~~~~~~
#0 42.46 In file included from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.46                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.46                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.46 /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:639:18: note:     ‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {Eigen::Matrix<double, 3, 1, 0, 3, 1>}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
#0 42.46   639 |   virtual Vector evaluateError(const ValueTypes&... x,
#0 42.46       |                  ^~~~~~~~~~~~~
#0 42.46 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:293:206: error: invalid cast to abstract class type ‘rtabmap::XYZFactor<gtsam::Pose3>’
#0 42.46   293 |                                                         graph.add(XYZFactor<gtsam::Pose3>(id1, gtsam::Point3(iter->second.transform().x(), iter->second.transform().y(), iter->second.transform().z()), model));
#0 42.46       |                                                                                                                                                                                                              ^
#0 42.46 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:55:
#0 42.46 /root/rtabmap/corelib/src/optimizer/gtsam/XYZFactor.h:24:7: note:   because the following virtual functions are pure within ‘rtabmap::XYZFactor<gtsam::Pose3>’:
#0 42.46    24 | class XYZFactor: public gtsam::NoiseModelFactor1<VALUE> {
#0 42.46       |       ^~~~~~~~~
#0 42.46 In file included from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.46                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.46                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.46 /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:639:18: note:     ‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Pose3}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
#0 42.46   639 |   virtual Vector evaluateError(const ValueTypes&... x,
#0 42.46       |                  ^~~~~~~~~~~~~
#0 42.48 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:319:106: error: invalid cast to abstract class type ‘rtabmap::Pose3GravityFactor’
#0 42.48   319 |                                         graph.add(Pose3GravityFactor(iter->first, nG, model, Unit3(0,0,1)));
#0 42.48       |                                                                                                          ^
#0 42.50 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:455:272: error: invalid cast to abstract class type ‘vertigo::BetweenFactorSwitchableLinear<gtsam::Pose2>’
#0 42.50   455 |                                                 graph.add(vertigo::BetweenFactorSwitchableLinear<gtsam::Pose2>(id1, id2, gtsam::Symbol('s', switchCounter++), gtsam::Pose2(iter->second.transform().x(), iter->second.transform().y(), iter->second.transform().theta()), model));
#0 42.50       |                                                                                                                                                                                                                                                                                ^
#0 42.50 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:58:
#0 42.50 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:24:9: note:   because the following virtual functions are pure within ‘vertigo::BetweenFactorSwitchableLinear<gtsam::Pose2>’:
#0 42.50    24 |   class BetweenFactorSwitchableLinear : public gtsam::NoiseModelFactor3<VALUE, VALUE, SwitchVariableLinear>
#0 42.50       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 42.51 In file included from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.51                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.51                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.51 /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:639:18: note:     ‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Pose2, gtsam::Pose2, vertigo::SwitchVariableLinear}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
#0 42.51   639 |   virtual Vector evaluateError(const ValueTypes&... x,
#0 42.51       |                  ^~~~~~~~~~~~~
#0 42.51 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:484:216: error: invalid cast to abstract class type ‘vertigo::BetweenFactorSwitchableLinear<gtsam::Pose3>’
#0 42.51   484 |                                                 graph.add(vertigo::BetweenFactorSwitchableLinear<gtsam::Pose3>(id1, id2, gtsam::Symbol('s', switchCounter++), gtsam::Pose3(iter->second.transform().toEigen4d()), model));
#0 42.51       |                                                                                                                                                                                                                        ^
#0 42.51 In file included from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:58:
#0 42.51 /root/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:24:9: note:   because the following virtual functions are pure within ‘vertigo::BetweenFactorSwitchableLinear<gtsam::Pose3>’:
#0 42.51    24 |   class BetweenFactorSwitchableLinear : public gtsam::NoiseModelFactor3<VALUE, VALUE, SwitchVariableLinear>
#0 42.51       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 42.51 In file included from /usr/local/include/gtsam/nonlinear/PriorFactor.h:18,
#0 42.51                  from /usr/local/include/gtsam/slam/PriorFactor.h:20,
#0 42.51                  from /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:43:
#0 42.51 /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:639:18: note:     ‘gtsam::Vector gtsam::NoiseModelFactorN<ValueTypes>::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN<ValueTypes>::OptionalMatrixTypeT<ValueTypes>...) const [with ValueTypes = {gtsam::Pose3, gtsam::Pose3, vertigo::SwitchVariableLinear}; gtsam::Vector = Eigen::Matrix<double, -1, 1>]’
#0 42.51   639 |   virtual Vector evaluateError(const ValueTypes&... x,
#0 42.51       |                  ^~~~~~~~~~~~~
#0 42.51 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:530:52: error: ‘const_iterator’ is not a member of ‘gtsam::Values’
#0 42.51   530 |                                 for(gtsam::Values::const_iterator iter=optimizer->values().begin(); iter!=optimizer->values().end(); ++iter)
#0 42.51       |                                                    ^~~~~~~~~~~~~~
#0 42.53 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:530:101: error: ‘iter’ was not declared in this scope; did you mean ‘it’?
#0 42.53   530 |                                 for(gtsam::Values::const_iterator iter=optimizer->values().begin(); iter!=optimizer->values().end(); ++iter)
#0 42.53       |                                                                                                     ^~~~
#0 42.53       |                                                                                                     it
#0 42.53 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:539:111: error: expected primary-expression before ‘>’ token
#0 42.53   539 |                                                                 gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
#0 42.53       |                                                                                                               ^
#0 42.53 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:539:113: error: expected primary-expression before ‘)’ token
#0 42.53   539 |                                                                 gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
#0 42.53       |                                                                                                                 ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:547:119: error: expected primary-expression before ‘>’ token
#0 42.54   547 |                                                                         gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
#0 42.54       |                                                                                                                       ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:547:121: error: expected primary-expression before ‘)’ token
#0 42.54   547 |                                                                         gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
#0 42.54       |                                                                                                                         ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:553:121: error: expected primary-expression before ‘>’ token
#0 42.54   553 |                                                                         gtsam::Point2 p = iter->value.cast<gtsam::Point2>();
#0 42.54       |                                                                                                                         ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:553:123: error: expected primary-expression before ‘)’ token
#0 42.54   553 |                                                                         gtsam::Point2 p = iter->value.cast<gtsam::Point2>();
#0 42.54       |                                                                                                                           ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:562:111: error: expected primary-expression before ‘>’ token
#0 42.54   562 |                                                                 gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
#0 42.54       |                                                                                                               ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:562:113: error: expected primary-expression before ‘)’ token
#0 42.54   562 |                                                                 gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
#0 42.54       |                                                                                                                 ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:569:119: error: expected primary-expression before ‘>’ token
#0 42.54   569 |                                                                         gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
#0 42.54       |                                                                                                                       ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:569:121: error: expected primary-expression before ‘)’ token
#0 42.54   569 |                                                                         gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
#0 42.54       |                                                                                                                         ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:575:121: error: expected primary-expression before ‘>’ token
#0 42.54   575 |                                                                         gtsam::Point3 p = iter->value.cast<gtsam::Point3>();
#0 42.54       |                                                                                                                         ^
#0 42.54 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:575:123: error: expected primary-expression before ‘)’ token
#0 42.54   575 |                                                                         gtsam::Point3 p = iter->value.cast<gtsam::Point3>();
#0 42.54       |                                                                                                                           ^
#0 42.55 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:633:36: error: ‘const_iterator’ is not a member of ‘gtsam::Values’
#0 42.55   633 |                 for(gtsam::Values::const_iterator iter=optimizer->values().begin(); iter!=optimizer->values().end(); ++iter)
#0 42.55       |                                    ^~~~~~~~~~~~~~
#0 42.57 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:633:85: error: ‘iter’ was not declared in this scope; did you mean ‘it’?
#0 42.57   633 |                 for(gtsam::Values::const_iterator iter=optimizer->values().begin(); iter!=optimizer->values().end(); ++iter)
#0 42.57       |                                                                                     ^~~~
#0 42.57       |                                                                                     it
#0 42.57 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:643:95: error: expected primary-expression before ‘>’ token
#0 42.57   643 |                                                 gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
#0 42.57       |                                                                                               ^
#0 42.57 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:643:97: error: expected primary-expression before ‘)’ token
#0 42.57   643 |                                                 gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
#0 42.57       |                                                                                                 ^
#0 42.57 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:651:103: error: expected primary-expression before ‘>’ token
#0 42.57   651 |                                                         gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
#0 42.57       |                                                                                                       ^
#0 42.57 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:651:105: error: expected primary-expression before ‘)’ token
#0 42.57   651 |                                                         gtsam::Pose2 p = iter->value.cast<gtsam::Pose2>();
#0 42.57       |                                                                                                         ^
#0 42.58 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:657:105: error: expected primary-expression before ‘>’ token
#0 42.58   657 |                                                         gtsam::Point2 p = iter->value.cast<gtsam::Point2>();
#0 42.58       |                                                                                                         ^
#0 42.58 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:657:107: error: expected primary-expression before ‘)’ token
#0 42.58   657 |                                                         gtsam::Point2 p = iter->value.cast<gtsam::Point2>();
#0 42.58       |                                                                                                           ^
#0 42.58 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:666:95: error: expected primary-expression before ‘>’ token
#0 42.58   666 |                                                 gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
#0 42.58       |                                                                                               ^
#0 42.58 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:666:97: error: expected primary-expression before ‘)’ token
#0 42.58   666 |                                                 gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
#0 42.58       |                                                                                                 ^
#0 42.58 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:673:103: error: expected primary-expression before ‘>’ token
#0 42.58   673 |                                                         gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
#0 42.58       |                                                                                                       ^
#0 42.58 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:673:105: error: expected primary-expression before ‘)’ token
#0 42.58   673 |                                                         gtsam::Pose3 p = iter->value.cast<gtsam::Pose3>();
#0 42.58       |                                                                                                         ^
#0 42.58 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:679:105: error: expected primary-expression before ‘>’ token
#0 42.58   679 |                                                         gtsam::Point3 p = iter->value.cast<gtsam::Point3>();
#0 42.58       |                                                                                                         ^
#0 42.58 /root/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:679:107: error: expected primary-expression before ‘)’ token
#0 42.58   679 |                                                         gtsam::Point3 p = iter->value.cast<gtsam::Point3>();
#0 42.58       |                                                                                                           ^
#0 42.61 [ 28%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryOkvis.cpp.o
#0 44.31 [ 29%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryORBSLAM.cpp.o
#0 45.51 [ 29%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryLOAM.cpp.o
#0 47.85 [ 29%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryFLOAM.cpp.o
#0 47.92 [ 30%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryMSCKF.cpp.o
#0 48.53 [ 30%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryVINS.cpp.o
#0 50.08 [ 30%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryOpenVINS.cpp.o
#0 50.46 [ 31%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/odometry/OdometryOpen3D.cpp.o
#0 52.47 [ 31%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/IMU.cpp.o
#0 53.14 make[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:930: corelib/src/CMakeFiles/rtabmap_core.dir/optimizer/OptimizerGTSAM.cpp.o] Error 1
#0 53.14 make[2]: *** Waiting for unfinished jobs....
#0 67.61 make[1]: *** [CMakeFiles/Makefile2:826: corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2
#0 67.61 make: *** [Makefile:156: all] Error 2

@matlabbe matlabbe linked a pull request May 14, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants