Robotics StackExchange | Archived questions

I am trying to build StellaVSLAM to try on a tello. Can someone tell me what are these errors

/usr/include/gtsam/base/OptionalJacobian.h:126:43: error: function definition does not declare parameters 126 | OptionalJacobian(std::nulloptt /none/) : | ^ /usr/include/gtsam/base/OptionalJacobian.h:131:31: error: ‘optional’ in namespace ‘std’ does not name a template type 131 | OptionalJacobian(const std::optional<std::referencewrapperEigen::MatrixXd> optional) : | ^~~~~~~~ /usr/include/gtsam/base/OptionalJacobian.h:131:26: note: ‘std::optional’ is only available from C++17 onwards 131 | OptionalJacobian(const std::optionalstd::reference_wrapper<Eigen::MatrixXd> optional) : | ^~~ /usr/include/gtsam/base/OptionalJacobian.h:131:39: error: expected ‘,’ or ‘...’ before ‘<’ token 131 | OptionalJacobian(const std::optionalstd::reference_wrapper<Eigen::MatrixXd> optional) : | ^ /usr/include/gtsam/base/OptionalJacobian.h: In constructor ‘gtsam::OptionalJacobian::OptionalJacobian(int)’: /usr/include/gtsam/base/OptionalJacobian.h:133:9: error: ‘optional’ was not declared in this scope; did you mean ‘optind’? 133 | if (optional) { | ^~~~~~~~ | optind /usr/include/gtsam/base/OptionalJacobian.h: At global scope: /usr/include/gtsam/base/OptionalJacobian.h:214:43: error: function definition does not declare parameters 214 | OptionalJacobian(std::nulloptt /none/) : | ^ /usr/include/gtsam/base/OptionalJacobian.h:219:31: error: ‘optional’ in namespace ‘std’ does not name a template type 219 | OptionalJacobian(const std::optional<std::referencewrapperEigen::MatrixXd> optional) : | ^~~~~~~~ /usr/include/gtsam/base/OptionalJacobian.h:219:26: note: ‘std::optional’ is only available from C++17 onwards 219 | OptionalJacobian(const std::optionalstd::reference_wrapper<Eigen::MatrixXd> optional) : | ^~~ /usr/include/gtsam/base/OptionalJacobian.h:219:39: error: expected ‘,’ or ‘...’ before ‘<’ token 219 | OptionalJacobian(const std::optionalstd::reference_wrapper<Eigen::MatrixXd> optional) : | ^ /usr/include/gtsam/base/OptionalJacobian.h: In constructor ‘gtsam::OptionalJacobian<-1, -1>::OptionalJacobian(int)’: /usr/include/gtsam/base/OptionalJacobian.h:221:9: error: ‘optional’ was not declared in this scope; did you mean ‘optind’? 221 | if (optional) pointer_ = &((optional).get()); | ^~~~~~~~ | optind In file included from /usr/include/gtsam/nonlinear/NonlinearFactor.h:24, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/nonlinear/Values.h: In member function ‘std::uniqueptrgtsam::Values::ConstKeyValuePair gtsam::Values::derefiterator::operator->()’: /usr/include/gtsam/nonlinear/Values.h:193:21: error: ‘makeunique’ is not a member of ‘std’ 193 | return std::makeunique(it->first, *(it->second)); | ^~~~~~~~~~~ /usr/include/gtsam/nonlinear/Values.h:193:21: note: ‘std::makeunique’ is only available from C++14 onwards /usr/include/gtsam/nonlinear/Values.h:193:50: error: expected primary-expression before ‘>’ token 193 | return std::makeunique(it->first, *(it->second)); | ^ In file included from /usr/include/gtsam/nonlinear/NonlinearFactor.h:25, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/linear/NoiseModel.h: At global scope: /usr/include/gtsam/linear/NoiseModel.h:173:12: error: ‘optional’ in namespace ‘std’ does not name a template type 173 | std::optional sqrtinformation; | ^~~~~~~~ /usr/include/gtsam/linear/NoiseModel.h:173:7: note: ‘std::optional’ is only available from C++17 onwards 173 | std::optional sqrtinformation; | ^~~ /usr/include/gtsam/linear/NoiseModel.h:193:27: error: ‘optional’ in namespace ‘std’ does not name a template type 193 | const std::optional& sqrtinformation = {}) | ^~~~~~~~ /usr/include/gtsam/linear/NoiseModel.h:193:22: note: ‘std::optional’ is only available from C++17 onwards 193 | const std::optional& sqrtinformation = {}) | ^~~ /usr/include/gtsam/linear/NoiseModel.h:193:35: error: expected ‘,’ or ‘...’ before ‘<’ token 193 | const std::optional& sqrtinformation = {}) | ^ /usr/include/gtsam/linear/NoiseModel.h:193:16: error: default argument missing for parameter 2 of ‘gtsam::noiseModel::Gaussian::Gaussian(sizet, int)’ 193 | const std::optional& sqrtinformation = {}) | ^~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/linear/NoiseModel.h:192:23: note: ...following parameter 1 which has a default argument 192 | Gaussian(sizet dim = 1, | ~~~~~~~^~~~~~~ /usr/include/gtsam/linear/NoiseModel.h: In member function ‘const Matrix& gtsam::noiseModel::Gaussian::thisR() const’: /usr/include/gtsam/linear/NoiseModel.h:182:14: error: ‘sqrtinformation’ was not declared in this scope; did you mean ‘SqrtInformation’? 182 | if (!sqrtinformation) throw std::runtimeerror("Gaussian: has no R matrix"); | ^~~~~~~~~~~~~~~~~ | SqrtInformation /usr/include/gtsam/linear/NoiseModel.h:183:17: error: ‘sqrtinformation’ was not declared in this scope; did you mean ‘SqrtInformation’? 183 | return *sqrtinformation; | ^~~~~~~~~~~~~~~~~ | SqrtInformation /usr/include/gtsam/linear/NoiseModel.h: In constructor ‘gtsam::noiseModel::Gaussian::Gaussian(sizet, int)’: /usr/include/gtsam/linear/NoiseModel.h:194:24: error: class ‘gtsam::noiseModel::Gaussian’ does not have any field named ‘sqrtinformation’ 194 | : Base(dim), sqrtinformation(sqrtinformation) {} | ^~~~~~~~~~~~~~~~~ /usr/include/gtsam/linear/NoiseModel.h:194:42: error: ‘sqrtinformation’ was not declared in this scope; did you mean ‘SqrtInformation’? 194 | : Base(dim), sqrtinformation(sqrtinformation) {} | ^~~~~~~~~~~~~~~~ | SqrtInformation /usr/include/gtsam/linear/NoiseModel.h: At global scope: /usr/include/gtsam/linear/NoiseModel.h:734:23: error: ‘optional’ in namespace ‘std’ does not name a template type 734 | GTSAMEXPORT std::optional checkIfDiagonal(const Matrix& M); | ^~~~~~~~ /usr/include/gtsam/linear/NoiseModel.h:734:18: note: ‘std::optional’ is only available from C++17 onwards 734 | GTSAMEXPORT std::optional checkIfDiagonal(const Matrix& M); | ^~~ In file included from /usr/include/gtsam/linear/linearExceptions.h:20, from /usr/include/gtsam/linear/JacobianFactor-inl.h:21, from /usr/include/gtsam/linear/JacobianFactor.h:469, from /usr/include/gtsam/nonlinear/NonlinearFactor.h:26, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/base/ThreadsafeException.h:56:16: error: ‘optional’ in namespace ‘std’ does not name a template type 56 | mutable std::optional description; ///< Optional description | ^~~~~~~~ /usr/include/gtsam/base/ThreadsafeException.h:56:11: note: ‘std::optional’ is only available from C++17 onwards 56 | mutable std::optional description; ///< Optional description | ^~~ /usr/include/gtsam/base/ThreadsafeException.h: In constructor ‘gtsam::ThreadsafeException::ThreadsafeException(const string&)’: /usr/include/gtsam/base/ThreadsafeException.h:70:24: error: class ‘gtsam::ThreadsafeException’ does not have any field named ‘description’ 70 | dynamic(false), description( | ^~~~~~~~~~~~ /usr/include/gtsam/base/ThreadsafeException.h: In member function ‘const char gtsam::ThreadsafeException::what() const’: /usr/include/gtsam/base/ThreadsafeException.h:80:12: error: ‘description’ was not declared in this scope 80 | return description ? description->cstr() : ""; | ^~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/nonlinear/NonlinearFactor.h: At global scope: /usr/include/gtsam/nonlinear/NonlinearFactor.h:469:33: error: ‘enableift’ in namespace ‘std’ does not name a template type; did you mean ‘enableif’? 469 | using AreAllMatrixRefs = std::enableift<(... && | ^~~~~~~~~~~ | enableif /usr/include/gtsam/nonlinear/NonlinearFactor.h:473:54: error: ‘decayt’ in namespace ‘std’ does not name a template type; did you mean ‘decay’? 473 | using IsMatrixPointer = std::issame, Matrix>; | ^~~~~~~ | decay /usr/include/gtsam/nonlinear/NonlinearFactor.h:473:61: error: expected template-argument before ‘<’ token 473 | using IsMatrixPointer = std::issame<typename std::decayt, Matrix>; | ^ /usr/include/gtsam/nonlinear/NonlinearFactor.h:473:61: error: expected ‘>’ before ‘<’ token /usr/include/gtsam/nonlinear/NonlinearFactor.h:473:75: error: wrong number of template arguments (1, should be 2) 473 | using IsMatrixPointer = std::issame<typename std::decayt, Matrix>; | ^ In file included from /usr/include/c++/9/bits/move.h:55, from /usr/include/c++/9/bits/stlpair.h:59, from /usr/include/c++/9/bits/stlalgobase.h:64, from /usr/include/c++/9/vector:60, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/typetraits:1285:12: note: provided for ‘template struct std::issame’ 1285 | struct issame | ^~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/nonlinear/NonlinearFactor.h:476:52: error: ‘decayt’ in namespace ‘std’ does not name a template type; did you mean ‘decay’? 476 | using IsNullpointer = std::issame<typename std::decayt, std::nullptrt>; | ^~~~~~~ | decay /usr/include/gtsam/nonlinear/NonlinearFactor.h:476:59: error: expected template-argument before ‘<’ token 476 | using IsNullpointer = std::issame, std::nullptrt>; | ^ /usr/include/gtsam/nonlinear/NonlinearFactor.h:476:59: error: expected ‘>’ before ‘<’ token /usr/include/gtsam/nonlinear/NonlinearFactor.h:476:80: error: wrong number of template arguments (1, should be 2) 476 | using IsNullpointer = std::issame, std::nullptrt>; | ^ In file included from /usr/include/c++/9/bits/move.h:55, from /usr/include/c++/9/bits/stlpair.h:59, from /usr/include/c++/9/bits/stlalgobase.h:64, from /usr/include/c++/9/vector:60, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/typetraits:1285:12: note: provided for ‘template struct std::issame’ 1285 | struct issame | ^~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/nonlinear/NonlinearFactor.h:483:35: error: ‘enableift’ in namespace ‘std’ does not name a template type; did you mean ‘enableif’? 483 | using AreAllMatrixPtrs = std::enableift<(... && | ^~~~~~~~~~~ | enableif /usr/include/gtsam/nonlinear/NonlinearFactor.h:675:10: error: ‘AreAllMatrixRefs’ does not name a type 675 | inline AreAllMatrixRefs evaluateError(const ValueTypes&... x, | ^~~~~~~~~~~~~~~~ /usr/include/gtsam/nonlinear/NonlinearFactor.h:685:10: error: ‘AreAllMatrixPtrs’ does not name a type 685 | inline AreAllMatrixPtrs evaluateError(const ValueTypes&... x, | ^~~~~~~~~~~~~~~~ In file included from /usr/include/gtsam/geometry/CalibratedCamera.h:22, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:5, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/geometry/Point2.h:70:19: error: ‘optional’ in namespace ‘std’ does not name a template type 70 | GTSAMEXPORT std::optional circleCircleIntersection(double Rd, double rd, double tol = 1e-9); | ^~~~~~~~ /usr/include/gtsam/geometry/Point2.h:70:14: note: ‘std::optional’ is only available from C++17 onwards 70 | GTSAMEXPORT std::optional circleCircleIntersection(double Rd, double rd, double tol = 1e-9); | ^~~ /usr/include/gtsam/geometry/Point2.h:78:84: error: ‘std::optional’ has not been declared 78 | GTSAMEXPORT std::list circleCircleIntersection(Point2 c1, Point2 c2, std::optional fh); | ^~~~~~~~ /usr/include/gtsam/geometry/Point2.h:78:92: error: expected ‘,’ or ‘...’ before ‘<’ token 78 | GTSAMEXPORT std::list circleCircleIntersection(Point2 c1, Point2 c2, std::optional fh); | ^ In file included from /usr/include/gtsam/geometry/Rot3.h:26, from /usr/include/gtsam/geometry/Pose3.h:24, from /usr/include/gtsam/geometry/CalibratedCamera.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:5, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/geometry/Unit3.h:47:16: error: ‘optional’ in namespace ‘std’ does not name a template type 47 | mutable std::optional B; ///< Cached basis | ^~~~~~~~ /usr/include/gtsam/geometry/Unit3.h:47:11: note: ‘std::optional’ is only available from C++17 onwards 47 | mutable std::optional B; ///< Cached basis | ^~~ /usr/include/gtsam/geometry/Unit3.h:48:16: error: ‘optional’ in namespace ‘std’ does not name a template type 48 | mutable std::optional HB; ///< Cached basis derivative | ^~~~~~~~ /usr/include/gtsam/geometry/Unit3.h:48:11: note: ‘std::optional’ is only available from C++17 onwards 48 | mutable std::optional HB; ///< Cached basis derivative | ^~~ /usr/include/gtsam/geometry/Unit3.h: In member function ‘gtsam::Unit3& gtsam::Unit3::operator=(const gtsam::Unit3&)’: /usr/include/gtsam/geometry/Unit3.h:86:5: error: ‘B’ was not declared in this scope; did you mean ‘p’? 86 | B_ = u.B; | ^~ | p /usr/include/gtsam/geometry/Unit3.h:86:12: error: ‘const class gtsam::Unit3’ has no member named ‘B’; did you mean ‘p’? 86 | B_ = u.B; | ^~ | p /usr/include/gtsam/geometry/Unit3.h:87:5: error: ‘HB’ was not declared in this scope 87 | HB = u.HB; | ^~~~ /usr/include/gtsam/geometry/Unit3.h:87:14: error: ‘const class gtsam::Unit3’ has no member named ‘HB’ 87 | HB = u.HB; | ^~~~ In file included from /usr/include/gtsam/geometry/CalibratedCamera.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:5, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/geometry/Pose3.h: At global scope: /usr/include/gtsam/geometry/Pose3.h:86:15: error: ‘optional’ in namespace ‘std’ does not name a template type 86 | static std::optional Align(const Point3Pairs& abPointPairs); | ^~~~~~~~ /usr/include/gtsam/geometry/Pose3.h:86:10: note: ‘std::optional’ is only available from C++17 onwards 86 | static std::optional Align(const Point3Pairs& abPointPairs); | ^~~ /usr/include/gtsam/geometry/Pose3.h:89:15: error: ‘optional’ in namespace ‘std’ does not name a template type 89 | static std::optional Align(const Matrix& a, const Matrix& b); | ^~~~~~~~ /usr/include/gtsam/geometry/Pose3.h:89:10: note: ‘std::optional’ is only available from C++17 onwards 89 | static std::optional Align(const Matrix& a, const Matrix& b); | ^~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In member function ‘gtsam::NonlinearFactor::sharedptr stellavslam::optimize::internalgtsam::ProjectionFactor::clone() const’: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:68:23: error: ‘staticpointercast’ is not a member of ‘boost’; did you mean ‘std::staticpointercast’? 68 | return boost::staticpointercastgtsam::NonlinearFactor( | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/9/memory:81, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:9, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/bits/sharedptr.h:491:5: note: ‘std::staticpointercast’ declared here 491 | staticpointercast(const sharedptr<Up>& _r) noexcept | ^~~~~~~~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:68:65: error: expected primary-expression before ‘>’ token 68 | return boost::staticpointercastgtsam::NonlinearFactor( | ^ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In member function ‘gtsam::NonlinearFactor::sharedptr stellavslam::optimize::internalgtsam::StereoProjectionFactor::clone() const’: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:246:23: error: ‘staticpointercast’ is not a member of ‘boost’; did you mean ‘std::staticpointercast’? 246 | return boost::staticpointercastgtsam::NonlinearFactor( | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/9/memory:81, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:9, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/bits/sharedptr.h:491:5: note: ‘std::staticpointercast’ declared here 491 | staticpointercast(const sharedptr<Up>& _r) noexcept | ^~~~~~~~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:246:65: error: expected primary-expression before ‘>’ token 246 | return boost::staticpointercastgtsam::NonlinearFactor( | ^ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In member function ‘gtsam::NonlinearFactor::sharedptr stellavslam::optimize::internalgtsam::PoseOptFactor::clone() const’: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:320:23: error: ‘staticpointercast’ is not a member of ‘boost’; did you mean ‘std::staticpointercast’? 320 | return boost::staticpointercastgtsam::NonlinearFactor( | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/9/memory:81, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:9, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/bits/sharedptr.h:491:5: note: ‘std::staticpointercast’ declared here 491 | staticpointercast(const sharedptr<Up>& _r) noexcept | ^~~~~~~~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:320:65: error: expected primary-expression before ‘>’ token 320 | return boost::staticpointercastgtsam::NonlinearFactor( | ^ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In member function ‘gtsam::NonlinearFactor::sharedptr stellavslam::optimize::internalgtsam::StereoPoseOptFactor::clone() const’: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:369:23: error: ‘staticpointercast’ is not a member of ‘boost’; did you mean ‘std::staticpointercast’? 369 | return boost::staticpointercastgtsam::NonlinearFactor( | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/9/memory:81, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:9, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/bits/sharedptr.h:491:5: note: ‘std::staticpointercast’ declared here 491 | staticpointercast(const sharedptr<Up>& _r) noexcept | ^~~~~~~~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:369:65: error: expected primary-expression before ‘>’ token 369 | return boost::staticpointercastgtsam::NonlinearFactor( | ^ In file included from /usr/include/gtsam/nonlinear/GraphvizFormatting.h:21, from /usr/include/gtsam/nonlinear/NonlinearFactorGraph.h:26, from /usr/include/gtsam/nonlinear/NonlinearOptimizer.h:21, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/gtsam/inference/DotWriter.h: At global scope: /usr/include/gtsam/inference/DotWriter.h:84:32: error: ‘optional’ in namespace ‘std’ does not name a template type 84 | const std::optional& position, | ^~~~~~~~ /usr/include/gtsam/inference/DotWriter.h:84:27: note: ‘std::optional’ is only available from C++17 onwards 84 | const std::optional& position, | ^~~ /usr/include/gtsam/inference/DotWriter.h:84:40: error: expected ‘,’ or ‘...’ before ‘<’ token 84 | const std::optional& position, | ^ /usr/include/gtsam/inference/DotWriter.h:88:47: error: ‘optional’ in namespace ‘std’ does not name a template type 88 | static void DrawFactor(sizet i, const std::optional& position, | ^~~~~~~~ /usr/include/gtsam/inference/DotWriter.h:88:42: note: ‘std::optional’ is only available from C++17 onwards 88 | static void DrawFactor(sizet i, const std::optional& position, | ^~~ /usr/include/gtsam/inference/DotWriter.h:88:55: error: expected ‘,’ or ‘...’ before ‘<’ token 88 | static void DrawFactor(sizet i, const std::optional& position, | ^ /usr/include/gtsam/inference/DotWriter.h:92:8: error: ‘optional’ in namespace ‘std’ does not name a template type 92 | std::optional variablePos(Key key) const; | ^~~~~~~~ /usr/include/gtsam/inference/DotWriter.h:92:3: note: ‘std::optional’ is only available from C++17 onwards 92 | std::optional variablePos(Key key) const; | ^~~ /usr/include/gtsam/inference/DotWriter.h:97:33: error: ‘optional’ in namespace ‘std’ does not name a template type 97 | const std::optional& position, | ^~~~~~~~ /usr/include/gtsam/inference/DotWriter.h:97:28: note: ‘std::optional’ is only available from C++17 onwards 97 | const std::optional& position, | ^~~ /usr/include/gtsam/inference/DotWriter.h:97:41: error: expected ‘,’ or ‘...’ before ‘<’ token 97 | const std::optional& position, | ^ In file included from /usr/include/gtsam/nonlinear/NonlinearFactorGraph.h:26, from /usr/include/gtsam/nonlinear/NonlinearOptimizer.h:21, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/gtsam/nonlinear/GraphvizFormatting.h:56:8: error: ‘optional’ in namespace ‘std’ does not name a template type 56 | std::optional extractPosition(const Value& value) const; | ^~~~~~~~ /usr/include/gtsam/nonlinear/GraphvizFormatting.h:56:3: note: ‘std::optional’ is only available from C++17 onwards 56 | std::optional extractPosition(const Value& value) const; | ^~~ /usr/include/gtsam/nonlinear/GraphvizFormatting.h:59:8: error: ‘optional’ in namespace ‘std’ does not name a template type 59 | std::optional variablePos(const Values& values, const Vector2& min, | ^~~~~~~~ /usr/include/gtsam/nonlinear/GraphvizFormatting.h:59:3: note: ‘std::optional’ is only available from C++17 onwards 59 | std::optional variablePos(const Values& values, const Vector2& min, | ^~~ /usr/include/gtsam/nonlinear/GraphvizFormatting.h:63:8: error: ‘optional’ in namespace ‘std’ does not name a template type 63 | std::optional factorPos(const Vector2& min, sizet i) const; | ^~~~~~~~ /usr/include/gtsam/nonlinear/GraphvizFormatting.h:63:3: note: ‘std::optional’ is only available from C++17 onwards 63 | std::optional factorPos(const Vector2& min, sizet i) const; | ^~~ In file included from /usr/include/gtsam/inference/FactorGraph.h:451, from /usr/include/gtsam/nonlinear/NonlinearFactorGraph.h:27, from /usr/include/gtsam/nonlinear/NonlinearOptimizer.h:21, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/gtsam/inference/FactorGraph-inst.h: In member function ‘void gtsam::FactorGraph::dot(std::ostream&, const KeyFormatter&, const gtsam::DotWriter&) const’: /usr/include/gtsam/inference/FactorGraph-inst.h:148:28: error: ‘const struct gtsam::DotWriter’ has no member named ‘variablePos’; did you mean ‘variablePositions’? 148 | auto position = writer.variablePos(key); | ^~~~~~~~~~~ | variablePositions /usr/include/gtsam/inference/FactorGraph-inst.h:158:64: error: no matching function for call to ‘gtsam::DotWriter::processFactor(sizet&, const KeyVector&, const KeyFormatter&, , std::ostream) const’ 158 | writer.processFactor(i, factorKeys, keyFormatter, {}, &os); | ^ In file included from /usr/include/gtsam/nonlinear/GraphvizFormatting.h:21, from /usr/include/gtsam/nonlinear/NonlinearFactorGraph.h:26, from /usr/include/gtsam/nonlinear/NonlinearOptimizer.h:21, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/gtsam/inference/DotWriter.h:95:8: note: candidate: ‘void gtsam::DotWriter::processFactor(sizet, const KeyVector&, const KeyFormatter&, int) const’ 95 | void processFactor(sizet i, const KeyVector& keys, | ^~~~~~~~~~~~~ /usr/include/gtsam/inference/DotWriter.h:95:8: note: candidate expects 4 arguments, 5 provided In file included from /usr/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/gtsam/inference/EliminateableFactorGraph.h: At global scope: /usr/include/gtsam/inference/EliminateableFactorGraph.h:94:18: error: ‘optional’ in namespace ‘std’ does not name a template type 94 | typedef std::optional> OptionalVariableIndex; | ^~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:94:13: note: ‘std::optional’ is only available from C++17 onwards 94 | typedef std::optional> OptionalVariableIndex; | ^~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:97:18: error: ‘optional’ in namespace ‘std’ does not name a template type 97 | typedef std::optionalOrdering::OrderingType OptionalOrderingType; | ^~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:97:13: note: ‘std::optional’ is only available from C++17 onwards 97 | typedef std::optionalOrdering::OrderingType OptionalOrderingType; | ^~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:120:7: error: ‘OptionalOrderingType’ has not been declared 120 | OptionalOrderingType orderingType = {}, | ^~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:122:7: error: ‘OptionalVariableIndex’ has not been declared 122 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:141:7: error: ‘OptionalVariableIndex’ has not been declared 141 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:160:7: error: ‘OptionalOrderingType’ has not been declared 160 | OptionalOrderingType orderingType = {}, | ^~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:162:7: error: ‘OptionalVariableIndex’ has not been declared 162 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:176:7: error: ‘OptionalVariableIndex’ has not been declared 176 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:186:7: error: ‘OptionalVariableIndex’ has not been declared 186 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:196:7: error: ‘OptionalVariableIndex’ has not been declared 196 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:206:7: error: ‘OptionalVariableIndex’ has not been declared 206 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:216:7: error: ‘OptionalVariableIndex’ has not been declared 216 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:230:7: error: ‘OptionalVariableIndex’ has not been declared 230 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:246:7: error: ‘OptionalVariableIndex’ has not been declared 246 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:260:7: error: ‘OptionalVariableIndex’ has not been declared 260 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:276:7: error: ‘OptionalVariableIndex’ has not been declared 276 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/gtsam/inference/EliminateableFactorGraph.h:282:7: error: ‘OptionalVariableIndex’ has not been declared 282 | OptionalVariableIndex variableIndex = {}) const; | ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/gtsam/linear/GaussianFactorGraph.h:61:14: error: ‘std::optional’ has not been declared 61 | std::optional<std::referencewrapper> variableIndex) { | ^~~~~~~~ /usr/include/gtsam/linear/GaussianFactorGraph.h:61:22: error: expected ‘,’ or ‘...’ before ‘<’ token 61 | std::optional> variableIndex) { | ^ /usr/include/gtsam/linear/GaussianFactorGraph.h: In static member function ‘static gtsam::Ordering gtsam::EliminationTraitsgtsam::GaussianFactorGraph::DefaultOrderingFunc(const FactorGraphType&, int)’: /usr/include/gtsam/linear/GaussianFactorGraph.h:62:33: error: ‘variableIndex’ was not declared in this scope; did you mean ‘VariableIndex’? 62 | return Ordering::Colamd((variableIndex).get()); | ^~~~~~~~~~~~~ | VariableIndex In file included from /usr/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/gtsam/nonlinear/NonlinearOptimizerParams.h: At global scope: /usr/include/gtsam/nonlinear/NonlinearOptimizerParams.h:108:8: error: ‘optional’ in namespace ‘std’ does not name a template type 108 | std::optional ordering; ///< The optional variable elimination ordering, or empty to use COLAMD (default: empty) | ^~~~~~~~ /usr/include/gtsam/nonlinear/NonlinearOptimizerParams.h:108:3: note: ‘std::optional’ is only available from C++17 onwards 108 | std::optional ordering; ///< The optional variable elimination ordering, or empty to use COLAMD (default: empty) | ^~~ /usr/include/gtsam/nonlinear/NonlinearOptimizerParams.h: In member function ‘void gtsam::NonlinearOptimizerParams::setOrdering(const gtsam::Ordering&)’: /usr/include/gtsam/nonlinear/NonlinearOptimizerParams.h:173:11: error: ‘class gtsam::NonlinearOptimizerParams’ has no member named ‘ordering’; did you mean ‘orderingType’? 173 | this->ordering = ordering; | ^~~~~~~~ | orderingType In file included from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:24, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/gtsam/nonlinear/LevenbergMarquardtParams.h: In static member function ‘static gtsam::LevenbergMarquardtParams gtsam::LevenbergMarquardtParams::EnsureHasOrdering(gtsam::LevenbergMarquardtParams, const gtsam::NonlinearFactorGraph&)’: /usr/include/gtsam/nonlinear/LevenbergMarquardtParams.h:114:17: error: ‘class gtsam::LevenbergMarquardtParams’ has no member named ‘ordering’; did you mean ‘orderingType’? 114 | if (!params.ordering) | ^~~~~~~~ | orderingType /usr/include/gtsam/nonlinear/LevenbergMarquardtParams.h:115:14: error: ‘class gtsam::LevenbergMarquardtParams’ has no member named ‘ordering’; did you mean ‘orderingType’? 115 | params.ordering = Ordering::Create(params.orderingType, graph); | ^~~~~~~~ | orderingType /usr/include/gtsam/nonlinear/LevenbergMarquardtParams.h: In static member function ‘static gtsam::LevenbergMarquardtParams gtsam::LevenbergMarquardtParams::ReplaceOrdering(gtsam::LevenbergMarquardtParams, const gtsam::Ordering&)’: /usr/include/gtsam/nonlinear/LevenbergMarquardtParams.h:121:12: error: ‘class gtsam::LevenbergMarquardtParams’ has no member named ‘ordering’; did you mean ‘orderingType’? 121 | params.ordering = ordering; | ^~~~~~~~ | orderingType In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In instantiation of ‘class stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> >’: /usr/include/c++/9/typetraits:1294:12: required from ‘struct std::isbaseof<gtsam::NonlinearFactor, stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 > >’ /usr/include/gtsam/inference/FactorGraph.h:114:9: required by substitution of ‘template template using IsDerived = typename std::enableif<std::isbaseof<Tp, Up>::value>::type [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; FACTOR = gtsam::NonlinearFactor]’ /usr/include/gtsam/inference/FactorGraph.h:193:28: required by substitution of ‘template gtsam::FactorGraphgtsam::NonlinearFactor::IsDerived gtsam::FactorGraphgtsam::NonlinearFactor::emplaceshared(Args&& ...) [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; Args = ]’ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:111:130: required from here /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:303:19: error: ‘gtsam::Vector stellavslam::optimize::internalgtsam::PoseOptFactor::evaluateError(const gtsam::Pose3&, boost::optional&>) const [with POSE = gtsam::Pose3; LANDMARK = Eigen::Matrix; CALIBRATION = gtsam::Cal3S2; CAMERA = stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2>; gtsam::Vector = Eigen::Matrix]’ marked ‘override’, but does not override 303 | gtsam::Vector evaluateError(const gtsam::Pose3& pose, | ^~~~~~~~~~~~~ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In instantiation of ‘class stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >’: /usr/include/c++/9/typetraits:1294:12: required from ‘struct std::isbaseof, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera > >’ /usr/include/gtsam/inference/FactorGraph.h:114:9: required by substitution of ‘template template using IsDerived = typename std::enableif<std::isbaseof<Tp, Up>::value>::type [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >; FACTOR = gtsam::NonlinearFactor]’ /usr/include/gtsam/inference/FactorGraph.h:193:28: required by substitution of ‘template gtsam::FactorGraphgtsam::NonlinearFactor::IsDerived gtsam::FactorGraphgtsam::NonlinearFactor::emplaceshared(Args&& ...) [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera >; Args = ]’ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:121:130: required from here /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:303:19: error: ‘gtsam::Vector stellavslam::optimize::internalgtsam::PoseOptFactor::evaluateError(const gtsam::Pose3&, boost::optional&>) const [with POSE = gtsam::Pose3; LANDMARK = Eigen::Matrix; CALIBRATION = stellavslam::optimize::internalgtsam::SphericalCameraCalibration; CAMERA = stellavslam::optimize::internalgtsam::SphericalCamera; gtsam::Vector = Eigen::Matrix]’ marked ‘override’, but does not override /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In instantiation of ‘class stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>’: /usr/include/c++/9/typetraits:1294:12: required from ‘struct std::isbaseof<gtsam::NonlinearFactor, stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera> >’ /usr/include/gtsam/inference/FactorGraph.h:114:9: required by substitution of ‘template template using IsDerived = typename std::enableif<std::isbaseof<Tp, Up>::value>::type [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; FACTOR = gtsam::NonlinearFactor]’ /usr/include/gtsam/inference/FactorGraph.h:193:28: required by substitution of ‘template gtsam::FactorGraphgtsam::NonlinearFactor::IsDerived gtsam::FactorGraphgtsam::NonlinearFactor::emplaceshared(Args&& ...) [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; Args = ]’ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:142:127: required from here /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:352:19: error: ‘gtsam::Vector stellavslam::optimize::internalgtsam::StereoPoseOptFactor::evaluateError(const gtsam::Pose3&, boost::optional&>) const [with POSE = gtsam::Pose3; LANDMARK = Eigen::Matrix; CALIBRATION = gtsam::Cal3S2Stereo; STEREOCAMERA = gtsam::StereoCamera; gtsam::Vector = Eigen::Matrix]’ marked ‘override’, but does not override 352 | gtsam::Vector evaluateError(const gtsam::Pose3& pose, | ^~~~~~~~~~~~~ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc: In member function ‘virtual unsigned int stellavslam::optimize::poseoptimizergtsam::optimize(const Mat44t&, const stellavslam::data::frameobservation&, const stellavslam::feature::orb_params, const stellavslam::camera::base*, const std::vector<std::sharedptr >&, stellavslam::Mat44t&, std::vector&) const’: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:182:183: error: no matching function for call to ‘dynamicpointercast<stellavslam::optimize::internalgtsam::PoseOptFactorBase > >(const std::sharedptrgtsam::NonlinearFactor&)’ 182 | const auto& factor = (outlierfactors.at(i) == nullptr) ? boost::dynamicpointercast<internalgtsam::PoseOptFactorBase>(nonlinearfactor) | ^ In file included from /usr/include/boost/sharedptr.hpp:17, from /usr/include/boost/datetime/gregorian/gregmonth.hpp:14, from /usr/include/boost/datetime/gregorian/gregymd.hpp:16, from /usr/include/boost/datetime/gregorian/gregcalendar.hpp:17, from /usr/include/boost/datetime/gregorian/gregoriantypes.hpp:19, from /usr/include/boost/datetime/posixtime/posixtimeconfig.hpp:18, from /usr/include/boost/datetime/posixtime/posixtimesystem.hpp:13, from /usr/include/boost/datetime/posixtime/ptime.hpp:12, from /usr/include/boost/datetime/posixtime/posixtime.hpp:15, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:26, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/boost/smartptr/sharedptr.hpp:898:42: note: candidate: ‘template boost::sharedptr boost::dynamicpointercast(const boost::sharedptr&)’ 898 | template sharedptr dynamicpointercast( sharedptr const & r ) BOOSTSPNOEXCEPT | ^~~~~~~~~~~~~~~~~~~~ /usr/include/boost/smartptr/sharedptr.hpp:898:42: note: template argument deduction/substitution failed: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:182:183: note: ‘const std::sharedptrgtsam::NonlinearFactor’ is not derived from ‘const boost::sharedptr’ 182 | const auto& factor = (outlierfactors.at(i) == nullptr) ? boost::dynamicpointercast>(nonlinearfactor) | ^ In file included from /usr/include/boost/sharedptr.hpp:17, from /usr/include/boost/datetime/gregorian/gregmonth.hpp:14, from /usr/include/boost/datetime/gregorian/gregymd.hpp:16, from /usr/include/boost/datetime/gregorian/gregcalendar.hpp:17, from /usr/include/boost/datetime/gregorian/gregoriantypes.hpp:19, from /usr/include/boost/datetime/posixtime/posixtimeconfig.hpp:18, from /usr/include/boost/datetime/posixtime/posixtimesystem.hpp:13, from /usr/include/boost/datetime/posixtime/ptime.hpp:12, from /usr/include/boost/datetime/posixtime/posixtime.hpp:15, from /usr/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:26, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:15: /usr/include/boost/smartptr/sharedptr.hpp:940:42: note: candidate: ‘template boost::sharedptr boost::dynamicpointercast(boost::sharedptr&&)’ 940 | template sharedptr dynamicpointercast( sharedptr && r ) BOOSTSPNOEXCEPT | ^~~~~~~~~~~~~~~~~~~~ /usr/include/boost/smartptr/sharedptr.hpp:940:42: note: template argument deduction/substitution failed: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:182:183: note: types ‘boost::sharedptr’ and ‘const std::sharedptrgtsam::NonlinearFactor’ have incompatible cv-qualifiers 182 | const auto& factor = (outlierfactors.at(i) == nullptr) ? boost::dynamicpointercast>(nonlinearfactor) | ^ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:206:56: error: no match for ‘operator=’ (operand types are ‘gtsam::FactorGraphgtsam::NonlinearFactor::sharedFactor’ {aka ‘std::sharedptrgtsam::NonlinearFactor’} and ‘gnucxx::alloctraits<std::allocator<boost::sharedptr > > >, boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > > >::valuetype’ {aka ‘boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > >’}) 206 | graph[i] = outlierfactors.at(i); | ^ In file included from /usr/include/c++/9/memory:81, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:9, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/bits/sharedptr.h:309:19: note: candidate: ‘std::sharedptr<Tp>& std::sharedptr<Tp>::operator=(const std::sharedptr<Tp>&) [with _Tp = gtsam::NonlinearFactor]’ 309 | sharedptr& operator=(const sharedptr&) noexcept = default; | ^~~~~~~~ /usr/include/c++/9/bits/sharedptr.h:309:29: note: no known conversion for argument 1 from ‘gnucxx::alloctraits > > >, boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > > >::valuetype’ {aka ‘boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > >’} to ‘const std::sharedptrgtsam::NonlinearFactor&’ 309 | sharedptr& operator=(const sharedptr&) noexcept = default; | ^~~~~~~~~~~~~~~~~ /usr/include/c++/9/bits/sharedptr.h:313:2: note: candidate: ‘template std::sharedptr<Tp>::Assignable&> std::sharedptr<Tp>::operator=(const std::sharedptr<Yp>&) [with Yp = _Yp; _Tp = gtsam::NonlinearFactor]’ 313 | operator=(const sharedptr<Yp>& _r) noexcept | ^~~~~~~~ /usr/include/c++/9/bits/sharedptr.h:313:2: note: template argument deduction/substitution failed: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:206:56: note: ‘gnu_cxx::alloctraits<std::allocator<boost::sharedptr > > >, boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > > >::valuetype’ {aka ‘boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > >’} is not derived from ‘const std::sharedptr<Tp>’ 206 | graph[i] = outlierfactors.at(i); | ^ In file included from /usr/include/c++/9/memory:81, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:9, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/bits/sharedptr.h:324:2: note: candidate: ‘template std::sharedptr<Tp>::Assignablestd::auto_ptr<_Up > std::sharedptr<Tp>::operator=(std::autoptr<Up>&&) [with Yp = _Yp; _Tp = gtsam::NonlinearFactor]’ 324 | operator=(autoptr<Yp>&& _r) | ^~~~~~~~ /usr/include/c++/9/bits/sharedptr.h:324:2: note: template argument deduction/substitution failed: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:206:56: note: ‘gnu_cxx::alloctraits<std::allocator<boost::sharedptr > > >, boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > > >::valuetype’ {aka ‘boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > >’} is not derived from ‘std::autoptr<Up>’ 206 | graph[i] = outlierfactors.at(i); | ^ In file included from /usr/include/c++/9/memory:81, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:9, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/bits/sharedptr.h:333:7: note: candidate: ‘std::sharedptr<Tp>& std::sharedptr<Tp>::operator=(std::sharedptr<Tp>&&) [with _Tp = gtsam::NonlinearFactor]’ 333 | operator=(sharedptr&& r) noexcept | ^~~~~~~~ /usr/include/c++/9/bits/shared_ptr.h:333:30: note: no known conversion for argument 1 from ‘gnucxx::alloctraits > > >, boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > > >::valuetype’ {aka ‘boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > >’} to ‘std::sharedptrgtsam::NonlinearFactor&&’ 333 | operator=(sharedptr&& _r) noexcept | ~~~~~~~~~~~~~^~~ /usr/include/c++/9/bits/sharedptr.h:341:2: note: candidate: ‘template std::sharedptr<Tp>::Assignablestd::shared_ptr<_Yp > std::sharedptr<Tp>::operator=(std::sharedptr<Yp>&&) [with Yp = _Yp; _Tp = gtsam::NonlinearFactor]’ 341 | operator=(sharedptr<Yp>&& _r) noexcept | ^~~~~~~~ /usr/include/c++/9/bits/sharedptr.h:341:2: note: template argument deduction/substitution failed: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:206:56: note: ‘gnu_cxx::alloctraits<std::allocator<boost::sharedptr > > >, boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > > >::valuetype’ {aka ‘boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > >’} is not derived from ‘std::sharedptr<Tp>’ 206 | graph[i] = outlierfactors.at(i); | ^ In file included from /usr/include/c++/9/memory:81, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:9, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/bits/sharedptr.h:349:2: note: candidate: ‘template std::sharedptr<Tp>::Assignable > std::sharedptr<Tp>::operator=(std::uniqueptr<Up, Ep>&&) [with _Yp = _Yp; _Del = _Del; _Tp = gtsam::NonlinearFactor]’ 349 | operator=(uniqueptr<Yp, _Del>&& _r) | ^~~~~~~~ /usr/include/c++/9/bits/sharedptr.h:349:2: note: template argument deduction/substitution failed: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:206:56: note: ‘gnu_cxx::alloctraits<std::allocator<boost::sharedptr > > >, boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > > >::valuetype’ {aka ‘boost::sharedptr<stellavslam::optimize::internalgtsam::PoseOptFactorBase > >’} is not derived from ‘std::uniqueptr<Tp, _Dp>’ 206 | graph[i] = outlierfactors.at(i); | ^ In file included from /usr/include/x8664-linux-gnu/c++/9/bits/c++allocator.h:33, from /usr/include/c++/9/bits/allocator.h:46, from /usr/include/c++/9/vector:64, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/ext/newallocator.h: In instantiation of ‘void gnucxx::newallocator<Tp>::construct(Up*, Args&& ...) [with _Up = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2>&}; Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >]’: /usr/include/c++/9/bits/alloctraits.h:244:4: required from ‘static std::Require::constructhelper<Tp, Args>::type> std::allocatortraits<Alloc>::Sconstruct(Alloc&, Tp*, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2>&}; Alloc = Eigen::alignedallocator, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> > >; std::Require<typename std::allocatortraits<Alloc>::constructhelper<Tp, _Args>::type> = void]’ /usr/include/c++/9/bits/alloctraits.h:350:16: required from ‘static decltype (std::allocatortraits<Alloc>::Sconstruct(a, _p, (forward<Args>)(std::allocator_traits::construct::args)...)) std::allocatortraits<Alloc>::construct(Alloc&, _Tp*, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2>&}; Alloc = Eigen::alignedallocator, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> > >; decltype (std::allocatortraits<Alloc>::Sconstruct(a, _p, (forward<Args>)(std::allocator_traits::construct::args)...)) = void]’ /usr/include/c++/9/bits/sharedptrbase.h:548:39: required from ‘std::Spcountedptrinplace<Tp, _Alloc, _Lp>::Spcountedptrinplace(Alloc, Args&& ...) [with _Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2>&}; Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; Alloc = Eigen::alignedallocator, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> > >; gnucxx::Lockpolicy _Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr_base.h:679:16: required from ‘std::sharedcount<Lp>::sharedcount(Tp*&, std::Spallocsharedtag<Alloc>, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; Alloc = Eigen::alignedallocator, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> > >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2>&}; _gnucxx::Lockpolicy Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr_base.h:1344:71: required from ‘std::sharedptr<Tp, Lp>::sharedptr(std::Spallocsharedtag<Tp>, _Args&& ...) [with _Alloc = Eigen::alignedallocator, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> > >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2>&}; Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; gnucxx::Lockpolicy _Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr.h:359:59: required from ‘std::sharedptr<Tp>::sharedptr(std::Spallocsharedtag<Tp>, Args&& ...) [with _Alloc = Eigen::alignedallocator, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> > >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2>&}; Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >]’ /usr/include/c++/9/bits/sharedptr.h:701:14: required from ‘std::sharedptr<Tp> std::allocateshared(const Alloc&, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; Alloc = Eigen::alignedallocator, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> > >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2>&}]’ /usr/include/gtsam/inference/FactorGraph.h:194:59: required from ‘gtsam::FactorGraph::IsDerived gtsam::FactorGraph::emplaceshared(Args&& ...) [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCameragtsam::Cal3_S2 >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptrgtsam::Cal3_S2&}; FACTOR = gtsam::NonlinearFactor; gtsam::FactorGraph::IsDerived = void]’ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:111:130: required from here /usr/include/c++/9/ext/newallocator.h:146:4: error: invalid new-expression of abstract class type ‘stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> >’ 146 | { ::new((void *)p) Up(std::forward<Args>(args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:288:7: note: because the following virtual functions are pure within ‘stellavslam::optimize::internalgtsam::PoseOptFactor, gtsam::Cal3S2, stellavslam::optimize::internalgtsam::PinholeCamera<gtsam::Cal3S2> >’: 288 | class PoseOptFactor : public PoseOptFactorBase { | ^~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: ‘gtsam::Vector gtsam::NoiseModelFactorN::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN::OptionalMatrixTypeT...) const [with ValueTypes = {gtsam::Pose3}; gtsam::Vector = Eigen::Matrix]’ 642 | virtual Vector evaluateError(const ValueTypes&... x, | ^~~~~~~~~~~~~ In file included from /usr/include/x8664-linux-gnu/c++/9/bits/c++allocator.h:33, from /usr/include/c++/9/bits/allocator.h:46, from /usr/include/c++/9/vector:64, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/ext/newallocator.h: In instantiation of ‘void _gnucxx::newallocator<Tp>::construct(Up*, _Args&& ...) [with _Up = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >; _Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>&}; _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >]’: /usr/include/c++/9/bits/alloctraits.h:244:4: required from ‘static std::Require<typename std::allocatortraits<_Alloc>::constructhelper<Tp, Args>::type> std::allocatortraits<Alloc>::Sconstruct(Alloc&, Tp*, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >; _Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>&}; _Alloc = Eigen::alignedallocator, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera > >; std::Require<typename std::allocatortraits<Alloc>::constructhelper<Tp, _Args>::type> = void]’ /usr/include/c++/9/bits/alloctraits.h:350:16: required from ‘static decltype (std::allocatortraits<Alloc>::Sconstruct(a, _p, (forward<Args>)(std::allocator_traits::construct::args)...)) std::allocatortraits<Alloc>::construct(Alloc&, _Tp*, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >; _Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>&}; _Alloc = Eigen::alignedallocator, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera > >; decltype (std::allocatortraits<Alloc>::Sconstruct(a, _p, (forward<Args>)(std::allocator_traits::construct::args)...)) = void]’ /usr/include/c++/9/bits/sharedptrbase.h:548:39: required from ‘std::Spcountedptrinplace<Tp, _Alloc, _Lp>::Spcountedptrinplace(Alloc, Args&& ...) [with _Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>&}; _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >; _Alloc = Eigen::alignedallocator, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera > >; gnucxx::Lockpolicy _Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr_base.h:679:16: required from ‘std::sharedcount<Lp>::sharedcount(Tp*&, std::Spallocsharedtag<Alloc>, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >; _Alloc = Eigen::alignedallocator, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera > >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>&}; _gnucxx::Lockpolicy _Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr_base.h:1344:71: required from ‘std::sharedptr<Tp, Lp>::sharedptr(std::Spallocsharedtag<Tp>, _Args&& ...) [with _Alloc = Eigen::alignedallocator, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera > >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>&}; _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >; _gnucxx::Lockpolicy _Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr.h:359:59: required from ‘std::sharedptr<Tp>::sharedptr(std::Spallocsharedtag<Tp>, Args&& ...) [with _Alloc = Eigen::alignedallocator, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera > >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>&}; _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >]’ /usr/include/c++/9/bits/sharedptr.h:701:14: required from ‘std::sharedptr<Tp> std::allocateshared(const _Alloc&, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration> >; _Alloc = Eigen::alignedallocator, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera > >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>&}]’ /usr/include/gtsam/inference/FactorGraph.h:194:59: required from ‘gtsam::FactorGraph::IsDerived gtsam::FactorGraph::emplaceshared(Args&& ...) [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera >; Args = {Eigen::Matrix, unsigned int&, Eigen::Matrix&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, boost::sharedptr&}; FACTOR = gtsam::NonlinearFactor; gtsam::FactorGraph::IsDerived = void]’ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:121:130: required from here /usr/include/c++/9/ext/newallocator.h:146:4: error: invalid new-expression of abstract class type ‘stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera >’ 146 | { ::new((void )p) Up(std::forward<Args>(args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:288:7: note: because the following virtual functions are pure within ‘stellavslam::optimize::internalgtsam::PoseOptFactor, stellavslam::optimize::internalgtsam::SphericalCameraCalibration, stellavslam::optimize::internalgtsam::SphericalCamera >’: 288 | class PoseOptFactor : public PoseOptFactorBase { | ^~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: ‘gtsam::Vector gtsam::NoiseModelFactorN::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN::OptionalMatrixTypeT...) const [with ValueTypes = {gtsam::Pose3}; gtsam::Vector = Eigen::Matrix]’ 642 | virtual Vector evaluateError(const ValueTypes&... x, | ^~~~~~~~~~~~~ In file included from /usr/include/x8664-linux-gnu/c++/9/bits/c++allocator.h:33, from /usr/include/c++/9/bits/allocator.h:46, from /usr/include/c++/9/vector:64, from /home/mariah/tellows/src/stellavslam/src/stellavslam/type.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/base.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/camera/equirectangular.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:1: /usr/include/c++/9/ext/newallocator.h: In instantiation of ‘void _gnucxx::newallocator<Tp>::construct(_Up, Args&& ...) [with _Up = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2Stereo>&}; Tp = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>]’: /usr/include/c++/9/bits/alloctraits.h:244:4: required from ‘static std::Require::constructhelper<Tp, Args>::type> std::allocatortraits<Alloc>::Sconstruct(Alloc&, Tp*, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2Stereo>&}; Alloc = Eigen::alignedallocator, gtsam::Cal3S2Stereo, gtsam::StereoCamera> >; std::Require::constructhelper<Tp, Args>::type> = void]’ /usr/include/c++/9/bits/alloctraits.h:350:16: required from ‘static decltype (std::allocatortraits<Alloc>::Sconstruct(a, _p, (forward<Args>)(std::allocator_traits::construct::args)...)) std::allocatortraits<Alloc>::construct(Alloc&, _Tp*, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2Stereo>&}; Alloc = Eigen::alignedallocator, gtsam::Cal3S2Stereo, gtsam::StereoCamera> >; decltype (std::allocatortraits<Alloc>::Sconstruct(a, _p, (forward<Args>)(std::allocatortraits::construct::args)...)) = void]’ /usr/include/c++/9/bits/sharedptrbase.h:548:39: required from ‘std::Spcountedptrinplace<Tp, _Alloc, _Lp>::Spcountedptrinplace(Alloc, Args&& ...) [with _Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2Stereo>&}; Tp = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; Alloc = Eigen::alignedallocator, gtsam::Cal3S2Stereo, gtsam::StereoCamera> >; _gnucxx::Lockpolicy _Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr_base.h:679:16: required from ‘std::sharedcount<Lp>::sharedcount(Tp*&, std::Spallocsharedtag<Alloc>, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; Alloc = Eigen::alignedallocator, gtsam::Cal3S2Stereo, gtsam::StereoCamera> >; _Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2Stereo>&}; _gnucxx::Lockpolicy Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr_base.h:1344:71: required from ‘std::sharedptr<Tp, Lp>::sharedptr(std::Spallocsharedtag<Tp>, _Args&& ...) [with _Alloc = Eigen::alignedallocator, gtsam::Cal3S2Stereo, gtsam::StereoCamera> >; _Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2Stereo>&}; Tp = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; gnucxx::Lockpolicy _Lp = _gnucxx::Satomic]’ /usr/include/c++/9/bits/sharedptr.h:359:59: required from ‘std::sharedptr<Tp>::sharedptr(std::Spallocsharedtag<Tp>, Args&& ...) [with _Alloc = Eigen::alignedallocator, gtsam::Cal3S2Stereo, gtsam::StereoCamera> >; _Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2Stereo>&}; Tp = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>]’ /usr/include/c++/9/bits/sharedptr.h:701:14: required from ‘std::sharedptr<Tp> std::allocateshared(const Alloc&, _Args&& ...) [with _Tp = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; Alloc = Eigen::alignedallocator, gtsam::Cal3S2Stereo, gtsam::StereoCamera> >; _Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptr<gtsam::Cal3S2Stereo>&}]’ /usr/include/gtsam/inference/FactorGraph.h:194:59: required from ‘gtsam::FactorGraph::IsDerived gtsam::FactorGraph::emplaceshared(Args&& ...) [with DERIVEDFACTOR = stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>; Args = {Eigen::Matrix, unsigned int&, gtsam::StereoPoint2&, std::sharedptrgtsam::noiseModel::Robust&, gtsam::Symbol, std::sharedptrgtsam::Cal3_S2Stereo&}; FACTOR = gtsam::NonlinearFactor; gtsam::FactorGraph::IsDerived = void]’ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:142:127: required from here /usr/include/c++/9/ext/newallocator.h:146:4: error: invalid new-expression of abstract class type ‘stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3_S2Stereo, gtsam::StereoCamera>’ 146 | { ::new((void *)p) Up(std::forward<Args>(_args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:337:7: note: because the following virtual functions are pure within ‘stellavslam::optimize::internalgtsam::StereoPoseOptFactor, gtsam::Cal3S2Stereo, gtsam::StereoCamera>’: 337 | class StereoPoseOptFactor : public PoseOptFactorBase { | ^~~~~~~~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:4, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/nonlinear/NonlinearFactor.h:642:18: note: ‘gtsam::Vector gtsam::NoiseModelFactorN::evaluateError(const ValueTypes& ..., gtsam::NoiseModelFactorN::OptionalMatrixTypeT...) const [with ValueTypes = {gtsam::Pose3}; gtsam::Vector = Eigen::Matrix]’ 642 | virtual Vector evaluateError(const ValueTypes&... x, | ^~~~~~~~~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In instantiation of ‘gtsam::Vector stellavslam::optimize::internalgtsam::StereoPoseOptFactor::project(const gtsam::Pose3&) const [with POSE = gtsam::Pose3; LANDMARK = Eigen::Matrix; CALIBRATION = gtsam::Cal3S2Stereo; STEREOCAMERA = gtsam::StereoCamera; gtsam::Vector = Eigen::Matrix]’: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:377:19: required from here /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:378:23: error: no matching function for call to ‘gtsam::StereoCamera::StereoCamera(const gtsam::Pose3&, const boost::sharedptr<gtsam::Cal3S2Stereo>&)’ 378 | STEREOCAMERA camera(pose, calibration); | ^~~~~~ In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:7, from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /usr/include/gtsam/geometry/StereoCamera.h:77:3: note: candidate: ‘gtsam::StereoCamera::StereoCamera(const gtsam::Pose3&, gtsam::Cal3S2Stereo::sharedptr)’ 77 | StereoCamera(const Pose3& leftCamPose, const Cal3S2Stereo::sharedptr K); | ^~~~~~~~~~~~ /usr/include/gtsam/geometry/StereoCamera.h:77:74: note: no known conversion for argument 2 from ‘const boost::sharedptr<gtsam::Cal3S2Stereo>’ to ‘gtsam::Cal3S2Stereo::sharedptr’ {aka ‘std::sharedptr<gtsam::Cal3S2Stereo>’} 77 | StereoCamera(const Pose3& leftCamPose, const Cal3S2Stereo::sharedptr K); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/include/gtsam/geometry/StereoCamera.h:72:3: note: candidate: ‘gtsam::StereoCamera::StereoCamera()’ 72 | StereoCamera() : | ^~~~~~~~~~~~ /usr/include/gtsam/geometry/StereoCamera.h:72:3: note: candidate expects 0 arguments, 2 provided /usr/include/gtsam/geometry/StereoCamera.h:47:20: note: candidate: ‘gtsam::StereoCamera::StereoCamera(const gtsam::StereoCamera&)’ 47 | class GTSAMEXPORT StereoCamera { | ^~~~~~~~~~~~ /usr/include/gtsam/geometry/StereoCamera.h:47:20: note: candidate expects 1 argument, 2 provided /usr/include/gtsam/geometry/StereoCamera.h:47:20: note: candidate: ‘gtsam::StereoCamera::StereoCamera(gtsam::StereoCamera&&)’ /usr/include/gtsam/geometry/StereoCamera.h:47:20: note: candidate expects 1 argument, 2 provided In file included from /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/poseoptimizergtsam.cc:7: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h: In instantiation of ‘gtsam::Vector stellavslam::optimize::internalgtsam::PoseOptFactor::project(const gtsam::Pose3&) const [with POSE = gtsam::Pose3; LANDMARK = Eigen::Matrix; CALIBRATION = stellavslam::optimize::internalgtsam::SphericalCameraCalibration; CAMERA = stellavslam::optimize::internalgtsam::SphericalCamera<stellavslam::optimize::internalgtsam::SphericalCameraCalibration>; gtsam::Vector = Eigen::Matrix]’: /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:328:19: required from here /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:116:100: error: could not convert ‘boost::none’ from ‘const boost::nonet’ to ‘gtsam::OptionalJacobian<2, 6>’ 116 | gtsam::Point2 project(const gtsam::Point3& point, gtsam::OptionalJacobian<2, 6> Dpose = boost::none, gtsam::OptionalJacobian<2, 3> Dpoint = boost::none) const { | ~~~~~~~^~~~ | | | const boost::nonet /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:330:43: note: when instantiating default argument for call to ‘gtsam::Point2 stellavslam::optimize::internalgtsam::SphericalCamera::project(const Point3&, gtsam::OptionalJacobian<2, 6>, gtsam::OptionalJacobian<2, 3>) const [with CALIBRATION = stellavslam::optimize::internalgtsam::SphericalCameraCalibration; gtsam::Point2 = Eigen::Matrix; gtsam::Point3 = Eigen::Matrix]’ 330 | return camera.project(this->point); | ^ /home/mariah/tellows/src/stellavslam/src/stellavslam/optimize/internalgtsam/projectionfactor.h:330:43: error: could not convert ‘boost::none’ from ‘const boost::nonet’ to ‘gtsam::OptionalJacobian<2, 6>’ make[2]: *** [src/stellavslam/CMakeFiles/stellavslam.dir/build.make:752: src/stellavslam/CMakeFiles/stellavslam.dir/optimize/poseoptimizergtsam.cc.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:516: src/stellavslam/CMakeFiles/stella_vslam.dir/all] Error 2 make: *** [Makefile:130: all] Error 2

Asked by mgrallos on 2023-02-05 22:39:42 UTC

Comments

Answers