borglab / gtsam

GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.
http://gtsam.org
Other
2.61k stars 766 forks source link

Matlab wrapper not compiling #1799

Closed DanielSofia closed 2 months ago

DanielSofia commented 2 months ago

Hi, I'm want to install GTSAM Matlab toolbox. Using Matlab 2023a, Ubuntu 22.04 LTS. ALways I try to "make" inside appears the following errors: MatlabWrapper] Ignoring classes: ['gtsam::Point2', 'gtsam::Point3', 'gtsam::CustomFactor'] [100%] Building CXX object matlab/CMakeFiles/gtsam_unstable_matlab_wrapper.dir//wrap/gtsam_unstable/gtsam_unstable_wrapper.cpp.o /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp: In function ‘void gtsamCal3_S2Stereo_vector_1468(int, mxArray, int, const mxArray)’: /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:18824:45: error: ‘Vector6’ was not declared in this scope; did you mean ‘gtsam::Vector6’? 18824 | out[0] = wrap_shared_ptr(std::make_shared(obj->vector()),"Vector6", false); | ^~~ | gtsam::Vector6 In file included from /home/danielsofia/Downloads/gtsam/wrap/matlab.h:25, from /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:1: /home/danielsofia/Downloads/gtsam/gtsam/base/Vector.h:51:9: note: ‘gtsam::Vector6’ declared here 51 | using Vector##N = Eigen::Matrix<double, N, 1>; \ | ^~ /home/danielsofia/Downloads/gtsam/gtsam/base/Vector.h:56:1: note: in expansion of macro ‘GTSAM_MAKE_VECTOR_DEFS’ 56 | GTSAM_MAKE_VECTOR_DEFS(6) | ^~~~~~ /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:18824:53: error: no matching function for call to ‘make_shared< >(gtsam::Vector6)’ 18824 | out[0] = wrap_shared_ptr(std::make_shared(obj->vector()),"Vector6", false); | ~~~~~^~~~~~~ In file included from /usr/include/c++/11/memory:77, from /home/danielsofia/Downloads/gtsam/gtsam/base/Testable.h:40, from /home/danielsofia/Downloads/gtsam/gtsam/base/Manifold.h:23, from /home/danielsofia/Downloads/gtsam/gtsam/base/Lie.h:26, from /home/danielsofia/Downloads/gtsam/gtsam/base/VectorSpace.h:11, from /home/danielsofia/Downloads/gtsam/gtsam/geometry/Point2.h:20, from /home/danielsofia/Downloads/gtsam/wrap/matlab.h:27, from /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:1: /usr/include/c++/11/bits/shared_ptr.h:875:5: note: candidate: ‘template<class _Tp, class ... _Args> std::shared_ptr<_Tp> std::make_shared(_Args&& ...)’ 875 | make_shared(_Args&&... __args) | ^~~ /usr/include/c++/11/bits/shared_ptr.h:875:5: note: template argument deduction/substitution failed: /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:18824:53: error: template argument 1 is invalid 18824 | out[0] = wrap_shared_ptr(std::make_shared(obj->vector()),"Vector6", false); | ~~~~~^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33, from /usr/include/c++/11/bits/allocator.h:46, from /usr/include/c++/11/string:41, from /home/danielsofia/Downloads/gtsam/gtsam/base/types.h:28, from /home/danielsofia/Downloads/gtsam/gtsam/global_includes.h:22, from /home/danielsofia/Downloads/gtsam/gtsam/base/Vector.h:28, from /home/danielsofia/Downloads/gtsam/wrap/matlab.h:25, from /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:1: /usr/include/c++/11/ext/new_allocator.h: In instantiation of ‘void gnu_cxx::new_allocator<_Tp>::construct(_Up, _Args&& ...) [with _Up = gtsam::GaussianConditional; _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional]’: /usr/include/c++/11/bits/alloc_traits.h:516:17: required from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up, _Args&& ...) [with _Up = gtsam::GaussianConditional; _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator]’ /usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional; _Alloc = std::allocator; gnu_cxx::_Lock_policy _Lp = gnu_cxx::_S_atomic]’ /usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::shared_count<_Lp>::shared_count(_Tp&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = gtsam::GaussianConditional; _Alloc = std::allocator; _Args = {std::shared_ptr&}; gnu_cxx::_Lock_policy _Lp = gnu_cxx::_S_atomic]’ /usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator; _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional; gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator; _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional]’ /usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = gtsam::GaussianConditional; _Alloc = std::allocator; _Args = {std::shared_ptr&}]’ /usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = gtsam::GaussianConditional; _Args = {std::shared_ptr&}]’ /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:28797:72: required from here /usr/include/c++/11/ext/new_allocator.h:162:11: error: no matching function for call to ‘gtsam::GaussianConditional::GaussianConditional(std::shared_ptr&)’ 162 | { ::new((void )p) _Up(std::forward<_Args>(args)...); } | ^~~~~~~~~~~~~~ In file included from /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianBayesNet.h:23, from /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:134: /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:83:5: note: candidate: ‘template gtsam::GaussianConditional::GaussianConditional(const KEYS&, size_t, const gtsam::VerticalBlockMatrix&, const SharedDiagonal&)’ 83 | GaussianConditional( | ^~~~~~~ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:83:5: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33, from /usr/include/c++/11/bits/allocator.h:46, from /usr/include/c++/11/string:41, from /home/danielsofia/Downloads/gtsam/gtsam/base/types.h:28, from /home/danielsofia/Downloads/gtsam/gtsam/global_includes.h:22, from /home/danielsofia/Downloads/gtsam/gtsam/base/Vector.h:28, from /home/danielsofia/Downloads/gtsam/wrap/matlab.h:25, from /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:1: /usr/include/c++/11/ext/new_allocator.h:162:11: note: candidate expects 4 arguments, 1 provided 162 | { ::new((void )p) _Up(std::forward<_Args>(args)...); } | ^~~~~~~~~~~~~~ In file included from /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianBayesNet.h:23, from /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:134: /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:74:5: note: candidate: ‘template gtsam::GaussianConditional::GaussianConditional(const TERMS&, size_t, const Vector&, const SharedDiagonal&)’ 74 | GaussianConditional(const TERMS& terms, | ^~~~~~~ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:74:5: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33, from /usr/include/c++/11/bits/allocator.h:46, from /usr/include/c++/11/string:41, from /home/danielsofia/Downloads/gtsam/gtsam/base/types.h:28, from /home/danielsofia/Downloads/gtsam/gtsam/global_includes.h:22, from /home/danielsofia/Downloads/gtsam/gtsam/base/Vector.h:28, from /home/danielsofia/Downloads/gtsam/wrap/matlab.h:25, from /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:1: /usr/include/c++/11/ext/new_allocator.h:162:11: note: candidate expects 4 arguments, 1 provided 162 | { ::new((void )p) _Up(std::forward<_Args>(args)...); } | ^~~~~~~~~~~~~~ In file included from /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianBayesNet.h:23, from /home/danielsofia/Downloads/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:134: /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:66:5: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(gtsam::Key, const Vector&, const Matrix&, gtsam::Key, const Matrix&, gtsam::Key, const Matrix&, const SharedDiagonal&)’ 66 | GaussianConditional(Key key, const Vector& d, const Matrix& R, Key parent1, | ^~~~~~~ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:66:5: note: candidate expects 8 arguments, 1 provided /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:61:5: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(gtsam::Key, const Vector&, const Matrix&, gtsam::Key, const Matrix&, const SharedDiagonal&)’ 61 | GaussianConditional(Key key, const Vector& d, const Matrix& R, Key parent1, | ^~~~~~~ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:61:5: note: candidate expects 6 arguments, 1 provided /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:57:5: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(gtsam::Key, const Vector&, const Matrix&, const SharedDiagonal&)’ 57 | GaussianConditional(Key key, const Vector& d, const Matrix& R, | ^~~~~~~ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:57:5: note: candidate expects 4 arguments, 1 provided /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:54:5: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional()’ 54 | GaussianConditional() {} | ^~~~~~~ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:54:5: note: candidate expects 0 arguments, 1 provided /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:40:22: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(const gtsam::GaussianConditional&)’ 40 | class GTSAM_EXPORT GaussianConditional : | ^~~~~~~ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:40:22: note: no known conversion for argument 1 from ‘std::shared_ptr’ to ‘const gtsam::GaussianConditional&’ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:40:22: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(gtsam::GaussianConditional&&)’ /home/danielsofia/Downloads/gtsam/gtsam/linear/GaussianConditional.h:40:22: note: no known conversion for argument 1 from ‘std::shared_ptr’ to ‘gtsam::GaussianConditional&&’ [100%] Linking CXX shared module ../wrap/gtsam_unstable_mex/gtsam_unstable_wrapper.mexa64 [100%] Built target gtsam_unstable_matlab_wrapper make[2]: [matlab/CMakeFiles/gtsam_matlab_wrapper.dir/build.make:96: matlab/CMakeFiles/gtsam_matlab_wrapper.dir/__/wrap/gtsam/gtsam_wrapper.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:33375: matlab/CMakeFiles/gtsam_matlab_wrapper.dir/all] Error 2 make: *** [Makefile:166: all] Error 2

And all finished.

Can you help me please? Thanks a lot

varunagrawal commented 2 months ago

@DanielSofia thank you for reporting this. This is my mistake and I'll make a PR to rectify this in a minute.

DanielSofia commented 2 months ago

@varunagrawal thanks a lot. Please, when you can change the code, please tell me. Thanks again 👍

varunagrawal commented 2 months ago

@DanielSofia the PR has been merged, so if you pull the latest develop branch, it should compile for you. Please let me know if there is anything else that comes up.

DanielSofia commented 2 months ago

@varunagrawal Sorry but I tried to compile in different ways and methods but the error "Ignoring classes: ['gtsam::Point2', 'gtsam::Point3', 'gtsam::CustomFactor'] appears in the same way, and in the end I can't install the GTSAM Matlab Toolbox.

[ 88%] Generating ../wrap/gtsam/gtsam_wrapper.cpp [MatlabWrapper] Ignoring classes: ['gtsam::Point2', 'gtsam::Point3', 'gtsam::CustomFactor'] [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/geometry/BearingS2.cpp.o [ 88%] Linking CXX executable easyPoint2KalmanFilter [ 88%] Built target easyPoint2KalmanFilter [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/geometry/Event.cpp.o [ 88%] Linking CXX executable TriangulationLOSTExample [ 88%] Built target TriangulationLOSTExample [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/geometry/Pose3Upright.cpp.o [ 88%] Linking CXX executable VisualISAM2Example [ 88%] Built target VisualISAM2Example [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/geometry/SimPolygon2D.cpp.o [ 88%] Linking CXX executable SFMExample_SmartFactorPCG [ 88%] Built target SFMExample_SmartFactorPCG [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/geometry/SimWall2D.cpp.o [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/linear/LPInitSolver.cpp.o [ 88%] Linking CXX executable VisualISAMExample [ 88%] Built target VisualISAMExample [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/linear/LPSolver.cpp.o [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/linear/QPSParser.cpp.o [ 88%] Linking CXX executable SFMExample_SmartFactor [ 88%] Built target SFMExample_SmartFactor [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/linear/QPSolver.cpp.o [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/discrete/AllDiff.cpp.o [ 88%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/discrete/CSP.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/discrete/Domain.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/discrete/Scheduler.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/discrete/SingleValue.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/dynamics/PoseRTV.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/dynamics/SimpleHelicopter.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/nonlinear/ConcurrentBatchFilter.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/nonlinear/ConcurrentBatchSmoother.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/nonlinear/ConcurrentFilteringAndSmoothing.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/nonlinear/ConcurrentIncrementalFilter.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/nonlinear/ConcurrentIncrementalSmoother.cpp.o [ 90%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/nonlinear/IncrementalFixedLagSmoother.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/nonlinear/LinearizedFactor.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/slam/AHRS.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/slam/DummyFactor.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/slam/LocalOrientedPlane3Factor.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/slam/Mechanization_bRn2.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/slam/ProjectionFactorRollingShutter.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/slam/RelativeElevationFactor.cpp.o In file included from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Core:337, from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Dense:1, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/OptionalJacobian.h:24, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Matrix.h:27, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Manifold.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/GenericValue.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam/nonlinear/Values.h:29, from /home/danielsofia/Downloads/gtsam-develop/gtsam/nonlinear/NonlinearFactor.h:24, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/nonlinear/LinearizedFactor.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/nonlinear/LinearizedFactor.cpp:18: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h: In function ‘static void Eigen::internal::selfadjoint_product_impl<Lhs, LhsMode, false, Rhs, 0, true>::run(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Matrix<double, -1, 1>; Lhs = Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false>; int LhsMode = 18; Rhs = Eigen::Matrix<double, -1, 1>]’: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:229:7: warning: ‘result’ may be used uninitialized [-Wmaybe-uninitialized] 227 | internal::selfadjoint_matrix_vector_product<Scalar, Index, (internal::traits::Flags&RowMajorBit) ? RowMajor : ColMajor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | int(LhsUpLo), bool(LhsBlasTraits::NeedToConjugate), bool(RhsBlasTraits::NeedToConjugate)>::run | ~~~~~~~~~~~~~~~~~~~~~~ 229 | ( | ^ 230 | lhs.rows(), // size | ~~~~~~~~~~~ 231 | &lhs.coeffRef(0,0), lhs.outerStride(), // lhs info | ~~~~~~~~~~~ 232 | actualRhsPtr, // rhs info | ~~~~~~~~~~~ 233 | actualDestPtr, // result info | ~~~~~~~~~~~~~~ 234 | actualAlpha // scale factor | ~~~~~~~~~~~ 235 | ); | ~ /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:41:6: note: by argument 4 of type ‘const double’ to ‘static void Eigen::internal::selfadjoint_matrix_vector_product<Scalar, Index, StorageOrder, UpLo, ConjugateLhs, ConjugateRhs, Version>::run(Index, const Scalar, Index, const Scalar, Scalar, Scalar) [with Scalar = double; Index = long int; int StorageOrder = 0; int UpLo = 2; bool ConjugateLhs = false; bool ConjugateRhs = false; int Version = 0]’ declared here 41 | void selfadjoint_matrix_vector_product<Scalar,Index,StorageOrder,UpLo,ConjugateLhs,ConjugateRhs,Version>::run( | ^~~~~~~~~~~~~~~~~~~~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h: In function ‘static void Eigen::internal::selfadjoint_product_impl<Lhs, LhsMode, false, Rhs, 0, true>::run(Dest&, const Lhs&, const Rhs&, const Scalar&) [with Dest = Eigen::Transpose<Eigen::Matrix<double, 1, -1> >; Lhs = Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, false> >; int LhsMode = 1; Rhs = Eigen::Transpose<const Eigen::Transpose<Eigen::Matrix<double, -1, 1> > >]’: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:229:7: warning: ‘result’ may be used uninitialized [-Wmaybe-uninitialized] 227 | internal::selfadjoint_matrix_vector_product<Scalar, Index, (internal::traits::Flags&RowMajorBit) ? RowMajor : ColMajor, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | int(LhsUpLo), bool(LhsBlasTraits::NeedToConjugate), bool(RhsBlasTraits::NeedToConjugate)>::run | ~~~~~~~~~~~~~~~~~~~~~~ 229 | ( | ^ 230 | lhs.rows(), // size | ~~~~~~~~~~~ 231 | &lhs.coeffRef(0,0), lhs.outerStride(), // lhs info | ~~~~~~~~~~~ 232 | actualRhsPtr, // rhs info | ~~~~~~~~~~~ 233 | actualDestPtr, // result info | ~~~~~~~~~~~~~~ 234 | actualAlpha // scale factor | ~~~~~~~~~~~ 235 | ); | ~ /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:41:6: note: by argument 4 of type ‘const double’ to ‘static void Eigen::internal::selfadjoint_matrix_vector_product<Scalar, Index, StorageOrder, UpLo, ConjugateLhs, ConjugateRhs, Version>::run(Index, const Scalar, Index, const Scalar, Scalar, Scalar) [with Scalar = double; Index = long int; int StorageOrder = 1; int UpLo = 1; bool ConjugateLhs = false; bool ConjugateRhs = false; int Version = 0]’ declared here 41 | void selfadjoint_matrix_vector_product<Scalar,Index,StorageOrder,UpLo,ConjugateLhs,ConjugateRhs,Version>::run( | ^~~~~~~~~~~~~~~~~~~~~~~ [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/slam/SmartStereoProjectionFactorPP.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/slam/SmartStereoProjectionPoseFactor.cpp.o [ 92%] Building CXX object gtsam_unstable/CMakeFiles/gtsam_unstable.dir/partition/GenericGraph.cpp.o [ 92%] Building CXX object matlab/CMakeFiles/gtsam_matlab_wrapper.dir//wrap/gtsam/gtsam_wrapper.cpp.o In file included from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Core:341, from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Dense:1, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/OptionalJacobian.h:24, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Matrix.h:27, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Manifold.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam/geometry/BearingRange.h:21, from /home/danielsofia/Downloads/gtsam-develop/gtsam/geometry/Pose3.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h:24, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.cpp:22: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h: In function ‘static void Eigen::internal::trmv_selector<Mode, 1>::run(const Lhs&, const Rhs&, Dest&, const typename Dest::Scalar&) [with Lhs = Eigen::Transpose<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, -1, false> >; Rhs = Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >; Dest = Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1>, 1, -1, true>, 1, -1, false> >; int Mode = 6]’: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h:332:12: warning: ‘result’ may be used uninitialized [-Wmaybe-uninitialized] 327 | internal::triangular_matrix_vector_product | ~~~~~~~~~~ 328 | <Index,Mode, | ~~~~ 329 | LhsScalar, LhsBlasTraits::NeedToConjugate, | ~~~~~~~~~~ 330 | RhsScalar, RhsBlasTraits::NeedToConjugate, | ~~~~~~~~~~ 331 | RowMajor> | ~~~~~ 332 | ::run(actualLhs.rows(),actualLhs.cols(), | ~^~~~~~~~~~~ 333 | actualLhs.data(),actualLhs.outerStride(), | ~~~~~~~~~ 334 | actualRhsPtr,1, | ~~~ 335 | dest.data(),dest.innerStride(), | ~~~~~~~ 336 | actualAlpha); | ~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h:105:24: note: by argument 5 of type ‘const double’ to ‘static void Eigen::internal::triangular_matrix_vector_product<Index, Mode, LhsScalar, ConjLhs, RhsScalar, ConjRhs, 1, Version>::run(Index, Index, const LhsScalar, Index, const RhsScalar, Index, Eigen::internal::triangular_matrix_vector_product<Index, Mode, LhsScalar, ConjLhs, RhsScalar, ConjRhs, 1, Version>::ResScalar, Index, const ResScalar&) [with Index = long int; int Mode = 6; LhsScalar = double; bool ConjLhs = false; RhsScalar = double; bool ConjRhs = false; int Version = 0]’ declared here 105 | EIGEN_DONT_INLINE void triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,RowMajor,Version> | ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Core:341, from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Dense:1, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/OptionalJacobian.h:24, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Matrix.h:27, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Manifold.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam/geometry/BearingRange.h:21, from /home/danielsofia/Downloads/gtsam-develop/gtsam/geometry/Pose3.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/slam/SmartStereoProjectionFactorPP.h:21, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/slam/SmartStereoProjectionFactorPP.cpp:19: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h: In function ‘static void Eigen::internal::trmv_selector<Mode, 1>::run(const Lhs&, const Rhs&, Dest&, const typename Dest::Scalar&) [with Lhs = Eigen::Transpose<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, -1, false> >; Rhs = Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >; Dest = Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1>, 1, -1, true>, 1, -1, false> >; int Mode = 6]’: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h:332:12: warning: ‘result’ may be used uninitialized [-Wmaybe-uninitialized] 327 | internal::triangular_matrix_vector_product | ~~~~~~~~~~ 328 | <Index,Mode, | ~~~~ 329 | LhsScalar, LhsBlasTraits::NeedToConjugate, | ~~~~~~~~~~ 330 | RhsScalar, RhsBlasTraits::NeedToConjugate, | ~~~~~~~~~~ 331 | RowMajor> | ~~~~~ 332 | ::run(actualLhs.rows(),actualLhs.cols(), | ~^~~~~~~~~~~ 333 | actualLhs.data(),actualLhs.outerStride(), | ~~~~~~~~~ 334 | actualRhsPtr,1, | ~~~ 335 | dest.data(),dest.innerStride(), | ~~~~~~~ 336 | actualAlpha); | ~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h:105:24: note: by argument 5 of type ‘const double’ to ‘static void Eigen::internal::triangular_matrix_vector_product<Index, Mode, LhsScalar, ConjLhs, RhsScalar, ConjRhs, 1, Version>::run(Index, Index, const LhsScalar, Index, const RhsScalar, Index, Eigen::internal::triangular_matrix_vector_product<Index, Mode, LhsScalar, ConjLhs, RhsScalar, ConjRhs, 1, Version>::ResScalar, Index, const ResScalar&) [with Index = long int; int Mode = 6; LhsScalar = double; bool ConjLhs = false; RhsScalar = double; bool ConjRhs = false; int Version = 0]’ declared here 105 | EIGEN_DONT_INLINE void triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,RowMajor,Version> | ^~~~~~~~~~~~~~~~~~~~~ [ 92%] Linking CXX shared library libgtsam_unstable.so [ 92%] Built target gtsam_unstable [ 92%] Building CXX object gtsam_unstable/examples/CMakeFiles/FixedLagSmootherExample.dir/FixedLagSmootherExample.cpp.o [ 92%] Building CXX object gtsam_unstable/discrete/examples/CMakeFiles/schedulingQuals13.dir/schedulingQuals13.cpp.o [ 92%] Building CXX object gtsam_unstable/discrete/examples/CMakeFiles/schedulingQuals12.dir/schedulingQuals12.cpp.o [ 92%] Building CXX object gtsam_unstable/examples/CMakeFiles/ConcurrentFilteringAndSmoothingExample.dir/ConcurrentFilteringAndSmoothingExample.cpp.o [ 92%] Building CXX object gtsam_unstable/examples/CMakeFiles/GncPoseAveragingExample.dir/GncPoseAveragingExample.cpp.o [ 92%] Building CXX object gtsam_unstable/examples/CMakeFiles/ConcurrentCalibration.dir/ConcurrentCalibration.cpp.o [ 92%] Building CXX object gtsam_unstable/discrete/examples/CMakeFiles/schedulingExample.dir/schedulingExample.cpp.o [ 95%] Linking CXX executable schedulingQuals13 [ 95%] Linking CXX executable schedulingQuals12 [ 95%] Built target schedulingQuals13 [ 95%] Built target schedulingQuals12 [ 95%] Building CXX object gtsam_unstable/examples/CMakeFiles/ISAM2_SmartFactorStereo_IMU.dir/ISAM2_SmartFactorStereo_IMU.cpp.o [ 95%] Building CXX object gtsam_unstable/examples/CMakeFiles/SmartProjectionFactorExample.dir/SmartProjectionFactorExample.cpp.o [ 95%] Linking CXX executable schedulingExample [ 95%] Built target schedulingExample [ 97%] Building CXX object gtsam_unstable/examples/CMakeFiles/SmartRangeExample_plaza1.dir/SmartRangeExample_plaza1.cpp.o [ 97%] Linking CXX executable GncPoseAveragingExample [ 97%] Built target GncPoseAveragingExample [ 97%] Building CXX object gtsam_unstable/examples/CMakeFiles/SmartRangeExample_plaza2.dir/SmartRangeExample_plaza2.cpp.o [ 97%] Linking CXX executable ConcurrentFilteringAndSmoothingExample [ 97%] Built target ConcurrentFilteringAndSmoothingExample [ 97%] Building CXX object gtsam_unstable/examples/CMakeFiles/SmartStereoProjectionFactorExample.dir/SmartStereoProjectionFactorExample.cpp.o [ 97%] Linking CXX executable FixedLagSmootherExample [ 97%] Built target FixedLagSmootherExample [ 97%] Building CXX object gtsam_unstable/examples/CMakeFiles/TimeOfArrivalExample.dir/TimeOfArrivalExample.cpp.o [ 97%] Linking CXX executable ConcurrentCalibration [ 97%] Built target ConcurrentCalibration [ 97%] Linking CXX executable TimeOfArrivalExample [ 97%] Built target TimeOfArrivalExample [ 97%] Linking CXX executable SmartRangeExample_plaza1 [ 97%] Built target SmartRangeExample_plaza1 [ 97%] Linking CXX executable SmartRangeExample_plaza2 [ 97%] Built target SmartRangeExample_plaza2 In file included from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Core:341, from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Dense:1, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/OptionalJacobian.h:24, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Matrix.h:27, from /home/danielsofia/Downloads/gtsam-develop/gtsam/navigation/PreintegrationCombinedParams.h:26, from /home/danielsofia/Downloads/gtsam-develop/gtsam/navigation/CombinedImuFactor.h:26, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/examples/ISAM2_SmartFactorStereo_IMU.cpp:11: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h: In function ‘static void Eigen::internal::trmv_selector<Mode, 1>::run(const Lhs&, const Rhs&, Dest&, const typename Dest::Scalar&) [with Lhs = Eigen::Transpose<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, -1, false> >; Rhs = Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >; Dest = Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1>, 1, -1, true>, 1, -1, false> >; int Mode = 6]’: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h:332:12: warning: ‘result’ may be used uninitialized [-Wmaybe-uninitialized] 327 | internal::triangular_matrix_vector_product | ~~~~~~~~~~ 328 | <Index,Mode, | ~~~~ 329 | LhsScalar, LhsBlasTraits::NeedToConjugate, | ~~~~~~~~~~ 330 | RhsScalar, RhsBlasTraits::NeedToConjugate, | ~~~~~~~~~~ 331 | RowMajor> | ~~~~~ 332 | ::run(actualLhs.rows(),actualLhs.cols(), | ~^~~~~~~~~~~ 333 | actualLhs.data(),actualLhs.outerStride(), | ~~~~~~~~~ 334 | actualRhsPtr,1, | ~~~ 335 | dest.data(),dest.innerStride(), | ~~~~~~~ 336 | actualAlpha); | ~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h:105:24: note: by argument 5 of type ‘const double’ to ‘static void Eigen::internal::triangular_matrix_vector_product<Index, Mode, LhsScalar, ConjLhs, RhsScalar, ConjRhs, 1, Version>::run(Index, Index, const LhsScalar, Index, const RhsScalar, Index, Eigen::internal::triangular_matrix_vector_product<Index, Mode, LhsScalar, ConjLhs, RhsScalar, ConjRhs, 1, Version>::ResScalar, Index, const ResScalar&) [with Index = long int; int Mode = 6; LhsScalar = double; bool ConjLhs = false; RhsScalar = double; bool ConjRhs = false; int Version = 0]’ declared here 105 | EIGEN_DONT_INLINE void triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,RowMajor,Version> | ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33, from /usr/include/c++/11/bits/allocator.h:46, from /usr/include/c++/11/string:41, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/types.h:28, from /home/danielsofia/Downloads/gtsam-develop/gtsam/global_includes.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Vector.h:28, from /home/danielsofia/Downloads/gtsam-develop/wrap/matlab.h:25, from /home/danielsofia/Downloads/gtsam-develop/build/wrap/gtsam/gtsam_wrapper.cpp:1: /usr/include/c++/11/ext/new_allocator.h: In instantiation of ‘void gnu_cxx::new_allocator<_Tp>::construct(_Up, _Args&& ...) [with _Up = gtsam::GaussianConditional; _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional]’: /usr/include/c++/11/bits/alloc_traits.h:516:17: required from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up, _Args&& ...) [with _Up = gtsam::GaussianConditional; _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator]’ /usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional; _Alloc = std::allocator; gnu_cxx::_Lock_policy _Lp = gnu_cxx::_S_atomic]’ /usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::shared_count<_Lp>::shared_count(_Tp&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = gtsam::GaussianConditional; _Alloc = std::allocator; _Args = {std::shared_ptr&}; gnu_cxx::_Lock_policy _Lp = gnu_cxx::_S_atomic]’ /usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator; _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional; gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator; _Args = {std::shared_ptr&}; _Tp = gtsam::GaussianConditional]’ /usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = gtsam::GaussianConditional; _Alloc = std::allocator; _Args = {std::shared_ptr&}]’ /usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = gtsam::GaussianConditional; _Args = {std::shared_ptr&}]’ /home/danielsofia/Downloads/gtsam-develop/build/wrap/gtsam/gtsam_wrapper.cpp:28834:72: required from here /usr/include/c++/11/ext/new_allocator.h:162:11: error: no matching function for call to ‘gtsam::GaussianConditional::GaussianConditional(std::shared_ptr&)’ 162 | { ::new((void )p) _Up(std::forward<_Args>(args)...); } | ^~~~~~~~~~~~~~ In file included from /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianBayesNet.h:23, from /home/danielsofia/Downloads/gtsam-develop/build/wrap/gtsam/gtsam_wrapper.cpp:134: /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:83:5: note: candidate: ‘template gtsam::GaussianConditional::GaussianConditional(const KEYS&, size_t, const gtsam::VerticalBlockMatrix&, const SharedDiagonal&)’ 83 | GaussianConditional( | ^~~~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:83:5: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33, from /usr/include/c++/11/bits/allocator.h:46, from /usr/include/c++/11/string:41, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/types.h:28, from /home/danielsofia/Downloads/gtsam-develop/gtsam/global_includes.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Vector.h:28, from /home/danielsofia/Downloads/gtsam-develop/wrap/matlab.h:25, from /home/danielsofia/Downloads/gtsam-develop/build/wrap/gtsam/gtsam_wrapper.cpp:1: /usr/include/c++/11/ext/new_allocator.h:162:11: note: candidate expects 4 arguments, 1 provided 162 | { ::new((void )p) _Up(std::forward<_Args>(args)...); } | ^~~~~~~~~~~~~~ In file included from /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianBayesNet.h:23, from /home/danielsofia/Downloads/gtsam-develop/build/wrap/gtsam/gtsam_wrapper.cpp:134: /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:74:5: note: candidate: ‘template gtsam::GaussianConditional::GaussianConditional(const TERMS&, size_t, const Vector&, const SharedDiagonal&)’ 74 | GaussianConditional(const TERMS& terms, | ^~~~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:74:5: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33, from /usr/include/c++/11/bits/allocator.h:46, from /usr/include/c++/11/string:41, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/types.h:28, from /home/danielsofia/Downloads/gtsam-develop/gtsam/global_includes.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Vector.h:28, from /home/danielsofia/Downloads/gtsam-develop/wrap/matlab.h:25, from /home/danielsofia/Downloads/gtsam-develop/build/wrap/gtsam/gtsam_wrapper.cpp:1: /usr/include/c++/11/ext/new_allocator.h:162:11: note: candidate expects 4 arguments, 1 provided 162 | { ::new((void )p) _Up(std::forward<_Args>(args)...); } | ^~~~~~~~~~~~~~ In file included from /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianBayesNet.h:23, from /home/danielsofia/Downloads/gtsam-develop/build/wrap/gtsam/gtsam_wrapper.cpp:134: /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:66:5: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(gtsam::Key, const Vector&, const Matrix&, gtsam::Key, const Matrix&, gtsam::Key, const Matrix&, const SharedDiagonal&)’ 66 | GaussianConditional(Key key, const Vector& d, const Matrix& R, Key parent1, | ^~~~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:66:5: note: candidate expects 8 arguments, 1 provided /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:61:5: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(gtsam::Key, const Vector&, const Matrix&, gtsam::Key, const Matrix&, const SharedDiagonal&)’ 61 | GaussianConditional(Key key, const Vector& d, const Matrix& R, Key parent1, | ^~~~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:61:5: note: candidate expects 6 arguments, 1 provided /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:57:5: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(gtsam::Key, const Vector&, const Matrix&, const SharedDiagonal&)’ 57 | GaussianConditional(Key key, const Vector& d, const Matrix& R, | ^~~~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:57:5: note: candidate expects 4 arguments, 1 provided /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:54:5: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional()’ 54 | GaussianConditional() {} | ^~~~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:54:5: note: candidate expects 0 arguments, 1 provided /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:40:22: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(const gtsam::GaussianConditional&)’ 40 | class GTSAM_EXPORT GaussianConditional : | ^~~~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:40:22: note: no known conversion for argument 1 from ‘std::shared_ptr’ to ‘const gtsam::GaussianConditional&’ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:40:22: note: candidate: ‘gtsam::GaussianConditional::GaussianConditional(gtsam::GaussianConditional&&)’ /home/danielsofia/Downloads/gtsam-develop/gtsam/linear/GaussianConditional.h:40:22: note: no known conversion for argument 1 from ‘std::shared_ptr’ to ‘gtsam::GaussianConditional&&’ In file included from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Core:341, from /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/Dense:1, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/OptionalJacobian.h:24, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Matrix.h:27, from /home/danielsofia/Downloads/gtsam-develop/gtsam/base/Manifold.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam/geometry/BearingRange.h:21, from /home/danielsofia/Downloads/gtsam-develop/gtsam/geometry/Pose3.h:22, from /home/danielsofia/Downloads/gtsam-develop/gtsam_unstable/examples/SmartStereoProjectionFactorExample.cpp:29: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h: In function ‘static void Eigen::internal::trmv_selector<Mode, 1>::run(const Lhs&, const Rhs&, Dest&, const typename Dest::Scalar&) [with Lhs = Eigen::Transpose<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, -1, false> >; Rhs = Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >; Dest = Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1>, 1, -1, true>, 1, -1, false> >; int Mode = 6]’: /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h:332:12: warning: ‘result’ may be used uninitialized [-Wmaybe-uninitialized] 327 | internal::triangular_matrix_vector_product | ~~~~~~~~~~ 328 | <Index,Mode, | ~~~~ 329 | LhsScalar, LhsBlasTraits::NeedToConjugate, | ~~~~~~~~~~ 330 | RhsScalar, RhsBlasTraits::NeedToConjugate, | ~~~~~~~~~~ 331 | RowMajor> | ~~~~~ 332 | ::run(actualLhs.rows(),actualLhs.cols(), | ~^~~~~~~~~~~ 333 | actualLhs.data(),actualLhs.outerStride(), | ~~~~~~~~~ 334 | actualRhsPtr,1, | ~~~ 335 | dest.data(),dest.innerStride(), | ~~~~~~~ 336 | actualAlpha); | ~~~~ /home/danielsofia/Downloads/gtsam-develop/gtsam/3rdparty/Eigen/Eigen/src/Core/products/TriangularMatrixVector.h:105:24: note: by argument 5 of type ‘const double’ to ‘static void Eigen::internal::triangular_matrix_vector_product<Index, Mode, LhsScalar, ConjLhs, RhsScalar, ConjRhs, 1, Version>::run(Index, Index, const LhsScalar, Index, const RhsScalar, Index, Eigen::internal::triangular_matrix_vector_product<Index, Mode, LhsScalar, ConjLhs, RhsScalar, ConjRhs, 1, Version>::ResScalar, Index, const ResScalar&) [with Index = long int; int Mode = 6; LhsScalar = double; bool ConjLhs = false; RhsScalar = double; bool ConjRhs = false; int Version = 0]’ declared here 105 | EIGEN_DONT_INLINE void triangular_matrix_vector_product<Index,Mode,LhsScalar,ConjLhs,RhsScalar,ConjRhs,RowMajor,Version> | ^~~~~~~~~~~~~~~~~~~~~ [100%] Linking CXX executable ISAM2_SmartFactorStereo_IMU [100%] Built target ISAM2_SmartFactorStereo_IMU [100%] Linking CXX executable SmartStereoProjectionFactorExample [100%] Built target SmartStereoProjectionFactorExample [100%] Linking CXX executable SmartProjectionFactorExample [100%] Built target SmartProjectionFactorExample make[2]: [matlab/CMakeFiles/gtsam_matlab_wrapper.dir/build.make:96: matlab/CMakeFiles/gtsam_matlab_wrapper.dir/__/wrap/gtsam/gtsam_wrapper.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:33082: matlab/CMakeFiles/gtsam_matlab_wrapper.dir/all] Error 2 make: *** [Makefile:166: all] Error 2

There is something I missed install? I strictly used the following guide: https://github.com/borglab/gtsam/blob/develop/matlab/README.md If you can help I always be grateful to your work. Thanks again @varunagrawal

varunagrawal commented 2 months ago

@DanielSofia can you try now? It should work.

DanielSofia commented 2 months ago

@varunagrawal I already try and all works 100%. Now I can compile gtsam wrapper for MATLAB Toolbox in Ubuntu 22.04 LTS. Thanks a lot for your time and attention.