dongjing3309 / gtsam-examples

GTSAM Tutorial Examples
Other
312 stars 96 forks source link

Undefined function or variable 'NonlinearFactorGraph' #3

Closed Junkai-Liu closed 5 years ago

Junkai-Liu commented 5 years ago

When I run gtsam matlab toolbox ,output error undefined function or variable 'NonlinearFactorGraph',I have added the gtsam/matlab to the matlab searching path,however,still can't fix this problem .Did I do something wrong?

dongjing3309 commented 5 years ago

Hi @Junkai-Liu , looks like the GTSAM matlab toolbox is not correctly installed. Did you put the path with .mex files in matlab path?

Junkai-Liu commented 5 years ago

I put the path with matlab files in matlab path .But it seems like don't work

dongjing3309 commented 5 years ago

@Junkai-Liu you should not add path gtsam/matlab, which does not contains the compiled .mex file. You should add the installed gtsam toolbox path to matlab path, which is /usr/local/gtsam_toolbox on Ubuntu by default

Junkai-Liu commented 5 years ago

@dongjing3309 my running operate system version is ubuntu16.04lts , how do i modify the installation of matlab.Should i follow the instructions to delete all of files as below? [ Delete or rename all files starting with 'libstdc++' in your MATLAB installation directory, in paths:

/usr/local/MATLAB/[version]/sys/os/[system]/ 
/usr/local/MATLAB/[version]/bin/[system]/

}

dongjing3309 commented 5 years ago

I don't see the need to do these steps, since I have not see any issue without doing these steps

Junkai-Liu commented 5 years ago

Should I install gtsam_toolbox independently?Because I didn't find the gtsam_toolbox in the path of default location.I merely follow the instructions to install gtsam in my computer.

Junkai-Liu commented 5 years ago

All right, i have found the problem .I didn't mention that I should modify Cmakelists.Thank u for your reply very much.

Junkai-Liu commented 5 years ago

@dongjing3309 I have changed the option of MATLAB toolbox flags into enabled. But when I compile
gtsam_wrapper occurs mistake.I have checked related issue which u modify the gtsam.h.However,it seems doesn't work either.how can i fix this problem?

dongjing3309 commented 5 years ago

What is the error message?

Junkai-Liu commented 5 years ago

error message as below: [ 64%] Building CXX object gtsam/CMakeFiles/gtsam_matlab_wrapper.dir/__/wrap/gtsam/gtsam_wrapper.cpp.o In file included from /usr/include/boost/serialization/split_member.hpp:23:0, from /usr/include/boost/serialization/nvp.hpp:29, from /home/rush/gtsam/gtsam/base/Vector.h:255, from /home/rush/gtsam/wrap/matlab.h:25, from /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:1: /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/archive/detail/iserializer.hpp:184:40: required from ‘void boost::archive::detail::iserializer<Archive, T>::load_object_data(boost::archive::detail::basic_iarchive&, void, unsigned int) const [with Archive = boost::archive::text_iarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/archive/detail/iserializer.hpp:116:1: required from ‘class boost::archive::detail::iserializer<boost::archive::text_iarchive, std::vector<long unsigned int, tbb::tbb_allocator > >’ /usr/include/boost/archive/detail/iserializer.hpp:367:5: required from ‘boost::archive::detail::pointer_iserializer<Archive, T>::pointer_iserializer() [with Archive = boost::archive::text_iarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/serialization/singleton.hpp:106:7: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_iarchive, std::vector<long unsigned int, tbb::tbb_allocator > >’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, std::vector<long unsigned int, tbb::tbb_allocator > >’ /usr/include/boost/archive/text_iarchive.hpp:136:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_iarchive, boost::archive::detail::adl_tag) [with Serializable = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false_) const [with T = std::vector<long unsigned int, tbb::tbballocator >; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:156:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<long unsigned int, tbb::tbb_allocator >’ has no member named ‘serialize’ t.serialize(ar, file_version); ^ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/archive/detail/oserializer.hpp:148:40: required from ‘void boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void) const [with Archive = boost::archive::text_oarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/archive/detail/oserializer.hpp:101:1: required from ‘class boost::archive::detail::oserializer<boost::archive::text_oarchive, std::vector<long unsigned int, tbb::tbb_allocator > >’ /usr/include/boost/archive/detail/oserializer.hpp:214:5: required from ‘boost::archive::detail::pointer_oserializer<Archive, T>::pointer_oserializer() [with Archive = boost::archive::text_oarchive; T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/serialization/singleton.hpp:106:7: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_oarchive, std::vector<long unsigned int, tbb::tbb_allocator > >’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, std::vector<long unsigned int, tbb::tbb_allocator > >’ /usr/include/boost/archive/text_oarchive.hpp:121:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_oarchive, boost::archive::detail::adl_tag) [with Serializable = std::vector<long unsigned int, tbb::tbb_allocator >]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false_) const [with T = std::vector<long unsigned int, tbb::tbballocator >; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = std::vector<long unsigned int, tbb::tbb_allocator >]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:156:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<long unsigned int, tbb::tbb_allocator >’ has no member named ‘serialize’ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<long int, tbb::tbb_allocator >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<long int, tbb::tbb_allocator >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<long int, tbb::tbb_allocator >]’ /usr/include/boost/archive/detail/oserializer.hpp:148:40: required from ‘void boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void) const [with Archive = boost::archive::text_oarchive; T = std::vector<long int, tbb::tbb_allocator >]’ /usr/include/boost/archive/detail/oserializer.hpp:101:1: required from ‘class boost::archive::detail::oserializer<boost::archive::text_oarchive, std::vector<long int, tbb::tbb_allocator > >’ /usr/include/boost/archive/detail/oserializer.hpp:253:13: required from ‘static void boost::archive::detail::save_non_pointer_type::save_standard::invoke(Archive&, const T&) [with T = std::vector<long int, tbb::tbb_allocator >; Archive = boost::archive::text_oarchive]’ /usr/include/boost/archive/detail/oserializer.hpp:308:22: [ skipping 58 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_oarchive, gtsam::JacobianFactor>’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, gtsam::JacobianFactor>’ /usr/include/boost/archive/text_oarchive.hpp:121:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_oarchive, boost::archive::detail::adl_tag) [with Serializable = gtsam::JacobianFactor]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false) const [with T = gtsam::JacobianFactor; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = gtsam::JacobianFactor]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:185:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<long int, tbb::tbb_allocator >’ has no member named ‘serialize’ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/archive/detail/oserializer.hpp:148:40: required from ‘void boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void) const [with Archive = boost::archive::text_oarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/archive/detail/oserializer.hpp:101:1: required from ‘class boost::archive::detail::oserializer<boost::archive::text_oarchive, std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > > >’ /usr/include/boost/archive/detail/oserializer.hpp:253:13: required from ‘static void boost::archive::detail::save_non_pointer_type::save_standard::invoke(Archive&, const T&) [with T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >; Archive = boost::archive::text_oarchive]’ /usr/include/boost/archive/detail/oserializer.hpp:308:22: [ skipping 58 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_oarchive, gtsam::GaussianFactorGraph>’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, gtsam::GaussianFactorGraph>’ /usr/include/boost/archive/text_oarchive.hpp:121:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_oarchive, boost::archive::detail::adl_tag) [with Serializable = gtsam::GaussianFactorGraph]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false) const [with T = gtsam::GaussianFactorGraph; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = gtsam::GaussianFactorGraph]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:187:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >’ has no member named ‘serialize’ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/archive/detail/oserializer.hpp:148:40: required from ‘void boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void) const [with Archive = boost::archive::text_oarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/archive/detail/oserializer.hpp:101:1: required from ‘class boost::archive::detail::oserializer<boost::archive::text_oarchive, std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > > >’ /usr/include/boost/archive/detail/oserializer.hpp:253:13: required from ‘static void boost::archive::detail::save_non_pointer_type::save_standard::invoke(Archive&, const T&) [with T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >; Archive = boost::archive::text_oarchive]’ /usr/include/boost/archive/detail/oserializer.hpp:308:22: [ skipping 58 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_oarchive, gtsam::NonlinearFactorGraph>’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, gtsam::NonlinearFactorGraph>’ /usr/include/boost/archive/text_oarchive.hpp:121:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_oarchive, boost::archive::detail::adl_tag) [with Serializable = gtsam::NonlinearFactorGraph]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false) const [with T = gtsam::NonlinearFactorGraph; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = gtsam::NonlinearFactorGraph]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:190:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >’ has no member named ‘serialize’ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_oarchive; T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >]’ /usr/include/boost/archive/detail/oserializer.hpp:148:40: required from ‘void boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void) const [with Archive = boost::archive::text_oarchive; T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >]’ /usr/include/boost/archive/detail/oserializer.hpp:101:1: required from ‘class boost::archive::detail::oserializer<boost::archive::text_oarchive, std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > > >’ /usr/include/boost/archive/detail/oserializer.hpp:253:13: required from ‘static void boost::archive::detail::save_non_pointer_type::save_standard::invoke(Archive&, const T&) [with T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >; Archive = boost::archive::text_oarchive]’ /usr/include/boost/archive/detail/oserializer.hpp:308:22: [ skipping 62 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_oarchive, gtsam::VectorValues>’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, gtsam::VectorValues>’ /usr/include/boost/archive/text_oarchive.hpp:121:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_oarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_oarchive, boost::archive::detail::adl_tag) [with Serializable = gtsam::VectorValues]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false) const [with T = gtsam::VectorValues; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = gtsam::VectorValues]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:184:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >’ has no member named ‘serialize’ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<long int, tbb::tbb_allocator >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<long int, tbb::tbb_allocator >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<long int, tbb::tbb_allocator >]’ /usr/include/boost/archive/detail/iserializer.hpp:184:40: required from ‘void boost::archive::detail::iserializer<Archive, T>::load_object_data(boost::archive::detail::basic_iarchive&, void, unsigned int) const [with Archive = boost::archive::text_iarchive; T = std::vector<long int, tbb::tbb_allocator >]’ /usr/include/boost/archive/detail/iserializer.hpp:116:1: required from ‘class boost::archive::detail::iserializer<boost::archive::text_iarchive, std::vector<long int, tbb::tbb_allocator > >’ /usr/include/boost/archive/detail/iserializer.hpp:410:13: required from ‘static void boost::archive::detail::load_non_pointer_type::load_standard::invoke(Archive&, const T&) [with T = std::vector<long int, tbb::tbb_allocator >; Archive = boost::archive::text_iarchive]’ /usr/include/boost/archive/detail/iserializer.hpp:462:22: [ skipping 62 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_iarchive, gtsam::JacobianFactor>’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, gtsam::JacobianFactor>’ /usr/include/boost/archive/text_iarchive.hpp:136:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_iarchive, boost::archive::detail::adl_tag) [with Serializable = gtsam::JacobianFactor]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false) const [with T = gtsam::JacobianFactor; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = gtsam::JacobianFactor]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:185:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<long int, tbb::tbb_allocator >’ has no member named ‘serialize’ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/archive/detail/iserializer.hpp:184:40: required from ‘void boost::archive::detail::iserializer<Archive, T>::load_object_data(boost::archive::detail::basic_iarchive&, void, unsigned int) const [with Archive = boost::archive::text_iarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/archive/detail/iserializer.hpp:116:1: required from ‘class boost::archive::detail::iserializer<boost::archive::text_iarchive, std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > > >’ /usr/include/boost/archive/detail/iserializer.hpp:410:13: required from ‘static void boost::archive::detail::load_non_pointer_type::load_standard::invoke(Archive&, const T&) [with T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >; Archive = boost::archive::text_iarchive]’ /usr/include/boost/archive/detail/iserializer.hpp:462:22: [ skipping 62 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_iarchive, gtsam::GaussianFactorGraph>’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, gtsam::GaussianFactorGraph>’ /usr/include/boost/archive/text_iarchive.hpp:136:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_iarchive, boost::archive::detail::adl_tag) [with Serializable = gtsam::GaussianFactorGraph]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false) const [with T = gtsam::GaussianFactorGraph; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = gtsam::GaussianFactorGraph]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:187:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >’ has no member named ‘serialize’ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/archive/detail/iserializer.hpp:184:40: required from ‘void boost::archive::detail::iserializer<Archive, T>::load_object_data(boost::archive::detail::basic_iarchive&, void, unsigned int) const [with Archive = boost::archive::text_iarchive; T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >]’ /usr/include/boost/archive/detail/iserializer.hpp:116:1: required from ‘class boost::archive::detail::iserializer<boost::archive::text_iarchive, std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > > >’ /usr/include/boost/archive/detail/iserializer.hpp:410:13: required from ‘static void boost::archive::detail::load_non_pointer_type::load_standard::invoke(Archive&, const T&) [with T = std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >; Archive = boost::archive::text_iarchive]’ /usr/include/boost/archive/detail/iserializer.hpp:462:22: [ skipping 62 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_iarchive, gtsam::NonlinearFactorGraph>’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, gtsam::NonlinearFactorGraph>’ /usr/include/boost/archive/text_iarchive.hpp:136:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_iarchive, boost::archive::detail::adl_tag) [with Serializable = gtsam::NonlinearFactorGraph]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false) const [with T = gtsam::NonlinearFactorGraph; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = gtsam::NonlinearFactorGraph]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:190:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<boost::shared_ptr, tbb::tbb_allocator<boost::shared_ptr > >’ has no member named ‘serialize’ /usr/include/boost/serialization/access.hpp: In instantiation of ‘static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >]’: /usr/include/boost/serialization/serialization.hpp:69:22: required from ‘void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >]’ /usr/include/boost/serialization/serialization.hpp:128:18: required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::text_iarchive; T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >]’ /usr/include/boost/archive/detail/iserializer.hpp:184:40: required from ‘void boost::archive::detail::iserializer<Archive, T>::load_object_data(boost::archive::detail::basic_iarchive&, void, unsigned int) const [with Archive = boost::archive::text_iarchive; T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >]’ /usr/include/boost/archive/detail/iserializer.hpp:116:1: required from ‘class boost::archive::detail::iserializer<boost::archive::text_iarchive, std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > > >’ /usr/include/boost/archive/detail/iserializer.hpp:410:13: required from ‘static void boost::archive::detail::load_non_pointer_type::load_standard::invoke(Archive&, const T&) [with T = std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >; Archive = boost::archive::text_iarchive]’ /usr/include/boost/archive/detail/iserializer.hpp:462:22: [ skipping 66 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/serialization/export.hpp:86:1: required from ‘struct boost::archive::detail::ptr_serialization_support<boost::archive::text_iarchive, gtsam::VectorValues>’ /usr/include/boost/archive/detail/register_archive.hpp:25:8: required from ‘struct boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, gtsam::VectorValues>’ /usr/include/boost/archive/text_iarchive.hpp:136:1: required by substitution of ‘template typename boost::archive::detail::_ptr_serialization_support<boost::archive::text_iarchive, Serializable>::type boost::archive::detail::instantiate_ptr_serialization(Serializable, boost::archive::text_iarchive, boost::archive::detail::adl_tag) [with Serializable = gtsam::VectorValues]’ /usr/include/boost/serialization/export.hpp:132:38: required from ‘void boost::archive::detail::extra_detail::guid_initializer::exportguid(mpl::false) const [with T = gtsam::VectorValues; mpl::false = mpl::bool_]’ /usr/include/boost/serialization/export.hpp:142:20: required from ‘const boost::archive::detail::extra_detail::guid_initializer& boost::archive::detail::extra_detail::guid_initializer::export_guid() const [with T = gtsam::VectorValues]’ /home/rush/gtsam/build/wrap/gtsam/gtsam_wrapper.cpp:184:1: required from here /usr/include/boost/serialization/access.hpp:118:9: error: ‘class std::vector<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> >, tbb::tbb_allocator<std::pair<long unsigned int, Eigen::Matrix<double, -1, 1> > > >’ has no member named ‘serialize’ gtsam/CMakeFiles/gtsam_matlab_wrapper.dir/build.make:70: recipe for target 'gtsam/CMakeFiles/gtsam_matlab_wrapper.dir/__/wrap/gtsam/gtsam_wrapper.cpp.o' failed make[2]: [gtsam/CMakeFiles/gtsam_matlab_wrapper.dir/__/wrap/gtsam/gtsam_wrapper.cpp.o] Error 1 CMakeFiles/Makefile2:1603: recipe for target 'gtsam/CMakeFiles/gtsam_matlab_wrapper.dir/all' failed make[1]: [gtsam/CMakeFiles/gtsam_matlab_wrapper.dir/all] Error 2 Makefile:162: recipe for target 'all' failed make: *** [all] Error 2

I suppose compile error when compile with gtsam_wrapper

dongjing3309 commented 5 years ago

@Junkai-Liu looks like this is a GTSAM issue, you may want to submit an issue to GTSAM bitbucket repo.

Junkai-Liu commented 5 years ago

All right ,thank u