shruti@shruti-Inspiron-5458:~/gtsam/examples$ make SimpleRotation g++ SimpleRotation.cpp -o SimpleRotation In file included from /usr/include/c++/5/cstdint:35:0, from /usr/local/include/gtsam/base/types.h:28, from /usr/local/include/gtsam/global_includes.h:22, from /usr/local/include/gtsam/base/Vector.h:27, from /usr/local/include/gtsam/base/Matrix.h:26, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support \ ^ In file included from /usr/local/include/gtsam/global_includes.h:22:0, from /usr/local/include/gtsam/base/Vector.h:27, from /usr/local/include/gtsam/base/Matrix.h:26, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/local/include/gtsam/base/types.h:57:16: error: ‘uint64_t’ in namespace ‘std’ does not name a type typedef std::uint64_t Key; ^ In file included from /usr/local/include/gtsam/inference/Symbol.h:21:0, from SimpleRotation.cpp:31: /usr/local/include/gtsam/inference/Key.h:33:37: error: ‘Key’ was not declared in this scope typedef boost::function KeyFormatter; ^ /usr/local/include/gtsam/inference/Key.h:33:41: error: template argument 1 is invalid typedef boost::function KeyFormatter; ^ /usr/local/include/gtsam/inference/Key.h:36:47: error: ‘Key’ was not declared in this scope GTSAM_EXPORT std::string _defaultKeyFormatter(Key key); ^ /usr/local/include/gtsam/inference/Key.h:41:50: error: invalid conversion from ‘std::__cxx11::string* {aka std::__cxx11::basic_string*}’ to ‘gtsam::KeyFormatter {aka int}’ [-fpermissive] static const KeyFormatter DefaultKeyFormatter = &_defaultKeyFormatter; ^ /usr/local/include/gtsam/inference/Key.h:44:50: error: ‘Key’ is not a member of ‘gtsam’ GTSAM_EXPORT std::string _multirobotKeyFormatter(gtsam::Key key); ^ /usr/local/include/gtsam/inference/Key.h:53:6: error: invalid conversion from ‘std::__cxx11::string* {aka std::__cxx11::basic_string*}’ to ‘gtsam::KeyFormatter {aka int}’ [-fpermissive] &_multirobotKeyFormatter; ^ /usr/local/include/gtsam/inference/Key.h:56:20: error: ‘Key’ was not declared in this scope typedef FastVector KeyVector; ^ /usr/local/include/gtsam/inference/Key.h:56:23: error: template argument 1 is invalid typedef FastVector KeyVector; ^ /usr/local/include/gtsam/inference/Key.h:59:18: error: ‘Key’ was not declared in this scope typedef FastList KeyList; ^ /usr/local/include/gtsam/inference/Key.h:59:21: error: template argument 1 is invalid typedef FastList KeyList; ^ /usr/local/include/gtsam/inference/Key.h:60:17: error: ‘Key’ was not declared in this scope typedef FastSet KeySet; ^ /usr/local/include/gtsam/inference/Key.h:60:20: error: template argument 1 is invalid typedef FastSet KeySet; ^ /usr/local/include/gtsam/inference/Key.h:61:17: error: ‘Key’ was not declared in this scope typedef FastMap KeyGroupMap; ^ /usr/local/include/gtsam/inference/Key.h:61:25: error: template argument 1 is invalid typedef FastMap KeyGroupMap; ^ /usr/local/include/gtsam/inference/Key.h:64:28: error: variable or field ‘PrintKey’ declared void GTSAM_EXPORT void PrintKey(Key key, const std::string& s = "", ^ /usr/local/include/gtsam/inference/Key.h:64:28: error: ‘Key’ was not declared in this scope /usr/local/include/gtsam/inference/Key.h:64:37: error: expected primary-expression before ‘const’ GTSAM_EXPORT void PrintKey(Key key, const std::string& s = "", ^ /usr/local/include/gtsam/inference/Key.h:65:5: error: expected primary-expression before ‘const’ const KeyFormatter& keyFormatter = DefaultKeyFormatter); ^ /usr/local/include/gtsam/inference/Key.h:83:15: error: ‘Key’ was not declared in this scope struct traits { ^ /usr/local/include/gtsam/inference/Key.h:83:18: error: template argument 1 is invalid struct traits { ^ In file included from SimpleRotation.cpp:31:0: /usr/local/include/gtsam/inference/Symbol.h:37:8: error: ‘uint64_t’ in namespace ‘std’ does not name a type std::uint64_t j_; ^ /usr/local/include/gtsam/inference/Symbol.h:52:32: error: ‘std::uint64_t’ has not been declared Symbol(unsigned char c, std::uint64_t j) : ^ /usr/local/include/gtsam/inference/Symbol.h:57:14: error: expected ‘)’ before ‘key’ Symbol(Key key); ^ /usr/local/include/gtsam/inference/Symbol.h:60:3: error: ‘Key’ does not name a type Key key() const; ^ /usr/local/include/gtsam/inference/Symbol.h:63:12: error: expected type-specifier before ‘Key’ operator Key() const { return key(); } ^ /usr/local/include/gtsam/inference/Symbol.h:77:8: error: ‘uint64_t’ in namespace ‘std’ does not name a type std::uint64_t index() const { ^ /usr/local/include/gtsam/inference/Symbol.h:95:19: error: ‘Key’ has not been declared bool operator==(Key comp) const { ^ /usr/local/include/gtsam/inference/Symbol.h:105:19: error: ‘Key’ has not been declared bool operator!=(Key comp) const { ^ /usr/local/include/gtsam/inference/Symbol.h:114:31: error: ‘Key’ was not declared in this scope static boost::function ChrTest(unsigned char c); ^ /usr/local/include/gtsam/inference/Symbol.h:114:35: error: template argument 1 is invalid static boost::function ChrTest(unsigned char c); ^ /usr/local/include/gtsam/inference/Symbol.h: In constructor ‘gtsam::Symbol::Symbol()’: /usr/local/include/gtsam/inference/Symbol.h:43:12: error: class ‘gtsam::Symbol’ does not have any field named ‘j_’ c_(0), j_(0) { ^ /usr/local/include/gtsam/inference/Symbol.h: In copy constructor ‘gtsam::Symbol::Symbol(const gtsam::Symbol&)’: /usr/local/include/gtsam/inference/Symbol.h:48:17: error: class ‘gtsam::Symbol’ does not have any field named ‘j_’ c_(key.c_), j_(key.j_) { ^ /usr/local/include/gtsam/inference/Symbol.h:48:24: error: ‘const class gtsam::Symbol’ has no member named ‘j_’ c_(key.c_), j_(key.j_) { ^ /usr/local/include/gtsam/inference/Symbol.h: In constructor ‘gtsam::Symbol::Symbol(unsigned char, int)’: /usr/local/include/gtsam/inference/Symbol.h:53:12: error: class ‘gtsam::Symbol’ does not have any field named ‘j_’ c_(c), j_(j) { ^ /usr/local/include/gtsam/inference/Symbol.h: In member function ‘bool gtsam::Symbol::operator<(const gtsam::Symbol&) const’: /usr/local/include/gtsam/inference/Symbol.h:86:46: error: ‘j_’ was not declared in this scope return c_ < comp.c_ || (comp.c_ == c_ && j_ < comp.j_); ^ /usr/local/include/gtsam/inference/Symbol.h:86:56: error: ‘const class gtsam::Symbol’ has no member named ‘j_’ return c_ < comp.c_ || (comp.c_ == c_ && j_ < comp.j_); ^ /usr/local/include/gtsam/inference/Symbol.h: In member function ‘bool gtsam::Symbol::operator==(const gtsam::Symbol&) const’: /usr/local/include/gtsam/inference/Symbol.h:91:34: error: ‘const class gtsam::Symbol’ has no member named ‘j_’ return comp.c_ == c_ && comp.j_ == j_; ^ /usr/local/include/gtsam/inference/Symbol.h:91:40: error: ‘j_’ was not declared in this scope return comp.c_ == c_ && comp.j_ == j_; ^ /usr/local/include/gtsam/inference/Symbol.h: In member function ‘bool gtsam::Symbol::operator==(int) const’: /usr/local/include/gtsam/inference/Symbol.h:96:21: error: ‘Key’ was not declared in this scope return comp == (Key)(*this); ^ /usr/local/include/gtsam/inference/Symbol.h: In member function ‘bool gtsam::Symbol::operator!=(const gtsam::Symbol&) const’: /usr/local/include/gtsam/inference/Symbol.h:101:34: error: ‘const class gtsam::Symbol’ has no member named ‘j_’ return comp.c_ != c_ || comp.j_ != j_; ^ /usr/local/include/gtsam/inference/Symbol.h:101:40: error: ‘j_’ was not declared in this scope return comp.c_ != c_ || comp.j_ != j_; ^ /usr/local/include/gtsam/inference/Symbol.h: In member function ‘bool gtsam::Symbol::operator!=(int) const’: /usr/local/include/gtsam/inference/Symbol.h:106:21: error: ‘Key’ was not declared in this scope return comp != (Key)(*this); ^ In file included from /usr/local/include/gtsam/base/Vector.h:255:0, from /usr/local/include/gtsam/base/Matrix.h:26, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/local/include/gtsam/inference/Symbol.h: In member function ‘void gtsam::Symbol::serialize(ARCHIVE&, unsigned int)’: /usr/local/include/gtsam/inference/Symbol.h:123:10: error: ‘j_’ was not declared in this scope ar & BOOST_SERIALIZATION_NVP(j_); ^ In file included from SimpleRotation.cpp:31:0: /usr/local/include/gtsam/inference/Symbol.h: At global scope: /usr/local/include/gtsam/inference/Symbol.h:128:8: error: ‘Key’ does not name a type inline Key symbol(unsigned char c, std::uint64_t j) { return (Key)Symbol(c,j); ^ /usr/local/include/gtsam/inference/Symbol.h:131:32: error: ‘gtsam::symbolChr’ declared as an ‘inline’ variable inline unsigned char symbolChr(Key key) { return Symbol(key).chr(); } ^ /usr/local/include/gtsam/inference/Symbol.h:131:32: error: ‘Key’ was not declared in this scope /usr/local/include/gtsam/inference/Symbol.h:131:41: error: expected ‘,’ or ‘;’ before ‘{’ token inline unsigned char symbolChr(Key key) { return Symbol(key).chr(); } ^ /usr/local/include/gtsam/inference/Symbol.h:134:13: error: ‘uint64_t’ in namespace ‘std’ does not name a type inline std::uint64_t symbolIndex(Key key) { return Symbol(key).index(); } ^ /usr/local/include/gtsam/inference/Symbol.h:137:8: error: ‘Key’ does not name a type inline Key A(std::uint64_t j) { return Symbol('a', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:138:8: error: ‘Key’ does not name a type inline Key B(std::uint64_t j) { return Symbol('b', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:139:8: error: ‘Key’ does not name a type inline Key C(std::uint64_t j) { return Symbol('c', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:140:8: error: ‘Key’ does not name a type inline Key D(std::uint64_t j) { return Symbol('d', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:141:8: error: ‘Key’ does not name a type inline Key E(std::uint64_t j) { return Symbol('e', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:142:8: error: ‘Key’ does not name a type inline Key F(std::uint64_t j) { return Symbol('f', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:143:8: error: ‘Key’ does not name a type inline Key G(std::uint64_t j) { return Symbol('g', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:144:8: error: ‘Key’ does not name a type inline Key H(std::uint64_t j) { return Symbol('h', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:145:8: error: ‘Key’ does not name a type inline Key I(std::uint64_t j) { return Symbol('i', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:146:8: error: ‘Key’ does not name a type inline Key J(std::uint64_t j) { return Symbol('j', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:147:8: error: ‘Key’ does not name a type inline Key K(std::uint64_t j) { return Symbol('k', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:148:8: error: ‘Key’ does not name a type inline Key L(std::uint64_t j) { return Symbol('l', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:149:8: error: ‘Key’ does not name a type inline Key M(std::uint64_t j) { return Symbol('m', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:150:8: error: ‘Key’ does not name a type inline Key N(std::uint64_t j) { return Symbol('n', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:151:8: error: ‘Key’ does not name a type inline Key O(std::uint64_t j) { return Symbol('o', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:152:8: error: ‘Key’ does not name a type inline Key P(std::uint64_t j) { return Symbol('p', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:153:8: error: ‘Key’ does not name a type inline Key Q(std::uint64_t j) { return Symbol('q', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:154:8: error: ‘Key’ does not name a type inline Key R(std::uint64_t j) { return Symbol('r', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:155:8: error: ‘Key’ does not name a type inline Key S(std::uint64_t j) { return Symbol('s', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:156:8: error: ‘Key’ does not name a type inline Key T(std::uint64_t j) { return Symbol('t', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:157:8: error: ‘Key’ does not name a type inline Key U(std::uint64_t j) { return Symbol('u', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:158:8: error: ‘Key’ does not name a type inline Key V(std::uint64_t j) { return Symbol('v', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:159:8: error: ‘Key’ does not name a type inline Key W(std::uint64_t j) { return Symbol('w', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:160:8: error: ‘Key’ does not name a type inline Key X(std::uint64_t j) { return Symbol('x', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:161:8: error: ‘Key’ does not name a type inline Key Y(std::uint64_t j) { return Symbol('y', j); } ^ /usr/local/include/gtsam/inference/Symbol.h:162:8: error: ‘Key’ does not name a type inline Key Z(std::uint64_t j) { return Symbol('z', j); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values.h:79:9: error: ‘Key’ was not declared in this scope Key, ^ /usr/local/include/gtsam/nonlinear/Values.h:81:19: error: ‘Key’ was not declared in this scope std::less, ^ /usr/local/include/gtsam/nonlinear/Values.h:81:22: error: template argument 1 is invalid std::less, ^ /usr/local/include/gtsam/nonlinear/Values.h:83:62: error: wrong number of template arguments (1, should be 2) boost::fast_pool_allocator > > KeyValueMap; ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/ios:40, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/Dense:1, from /usr/local/include/gtsam/base/OptionalJacobian.h:22, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/c++/5/bits/stl_pair.h:96:12: note: provided for ‘template struct std::pair’ struct pair ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values.h:83:64: error: template argument 1 is invalid boost::fast_pool_allocator > > KeyValueMap; ^ /usr/local/include/gtsam/nonlinear/Values.h:83:66: error: template argument 1 is invalid boost::fast_pool_allocator > > KeyValueMap; ^ /usr/local/include/gtsam/nonlinear/Values.h:83:66: error: template argument 3 is invalid /usr/local/include/gtsam/nonlinear/Values.h:83:66: error: template argument 5 is invalid /usr/local/include/gtsam/nonlinear/Values.h:89:26: error: ‘::const_iterator’ has not been declared typedef KeyValueMap::const_iterator::value_type ConstKeyValuePtrPair; ^ /usr/local/include/gtsam/nonlinear/Values.h:89:42: error: typedef name may not be a nested-name-specifier typedef KeyValueMap::const_iterator::value_type ConstKeyValuePtrPair; ^ /usr/local/include/gtsam/nonlinear/Values.h:89:42: error: expected ‘;’ at end of member declaration /usr/local/include/gtsam/nonlinear/Values.h:89:53: error: ‘ConstKeyValuePtrPair’ does not name a type typedef KeyValueMap::const_iterator::value_type ConstKeyValuePtrPair; ^ /usr/local/include/gtsam/nonlinear/Values.h:90:26: error: ‘::iterator’ has not been declared typedef KeyValueMap::iterator::value_type KeyValuePtrPair; ^ /usr/local/include/gtsam/nonlinear/Values.h:90:36: error: typedef name may not be a nested-name-specifier typedef KeyValueMap::iterator::value_type KeyValuePtrPair; ^ /usr/local/include/gtsam/nonlinear/Values.h:90:36: error: expected ‘;’ at end of member declaration /usr/local/include/gtsam/nonlinear/Values.h:90:36: error: redeclaration of ‘typedef gtsam::Values::value_type’ /usr/local/include/gtsam/nonlinear/Values.h:89:42: note: previous declaration ‘typedef gtsam::Values::value_type’ typedef KeyValueMap::const_iterator::value_type ConstKeyValuePtrPair; ^ /usr/local/include/gtsam/nonlinear/Values.h:90:47: error: ‘KeyValuePtrPair’ does not name a type typedef KeyValueMap::iterator::value_type KeyValuePtrPair; ^ /usr/local/include/gtsam/nonlinear/Values.h:102:13: error: ‘Key’ does not name a type const Key key; ///< The key ^ /usr/local/include/gtsam/nonlinear/Values.h:105:24: error: expected ‘)’ before ‘_key’ KeyValuePair(Key _key, Value& _value) : key(_key), value(_value) {} ^ /usr/local/include/gtsam/nonlinear/Values.h:110:13: error: ‘Key’ does not name a type const Key key; ///< The key ^ /usr/local/include/gtsam/nonlinear/Values.h:113:29: error: expected ‘)’ before ‘_key’ ConstKeyValuePair(Key _key, const Value& _value) : key(_key), value(_valu ^ /usr/local/include/gtsam/nonlinear/Values.h:119:62: error: template argument 2 is invalid boost::function1, KeyValueMap::it ^ /usr/local/include/gtsam/nonlinear/Values.h:119:86: error: template argument 1 is invalid nction1, KeyValueMap::iterator> iterator; ^ /usr/local/include/gtsam/nonlinear/Values.h:119:86: error: template argument 2 is invalid /usr/local/include/gtsam/nonlinear/Values.h:123:72: error: template argument 2 is invalid boost::function1, KeyValue ^ /usr/local/include/gtsam/nonlinear/Values.h:123:102: error: template argument 1 is invalid ValuePair, const ConstKeyValuePtrPair&>, KeyValueMap::const_iterator> const_ite ^ /usr/local/include/gtsam/nonlinear/Values.h:123:102: error: template argument 2 is invalid /usr/local/include/gtsam/nonlinear/Values.h:127:62: error: template argument 2 is invalid boost::function1, KeyValueMap::re ^ /usr/local/include/gtsam/nonlinear/Values.h:127:94: error: template argument 1 is invalid KeyValuePair, const KeyValuePtrPair&>, KeyValueMap::reverse_iterator> reverse_i ^ /usr/local/include/gtsam/nonlinear/Values.h:127:94: error: template argument 2 is invalid /usr/local/include/gtsam/nonlinear/Values.h:131:72: error: template argument 2 is invalid boost::function1, KeyValue ^ /usr/local/include/gtsam/nonlinear/Values.h:131:110: error: template argument 1 is invalid r, const ConstKeyValuePtrPair&>, KeyValueMap::const_reverse_iterator> const_rev ^ /usr/local/include/gtsam/nonlinear/Values.h:131:110: error: template argument 2 is invalid In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values.h:133:26: error: redeclaration of ‘typedef struct gtsam::Values::KeyValuePair gtsam::Values::value_type’ typedef KeyValuePair value_type; ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values.h:89:42: note: previous declaration ‘typedef gtsam::Values::value_type’ typedef KeyValueMap::const_iterator::value_type ConstKeyValuePtrPair; ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values.h:150:18: error: expected ‘,’ or ‘...’ before ‘&&’ token Values(Values&& other); ^ /usr/local/include/gtsam/nonlinear/Values.h:150:26: error: invalid constructor; you probably meant ‘gtsam::Values (const gtsam::Values&)’ Values(Values&& other); ^ /usr/local/include/gtsam/nonlinear/Values.h:183:18: error: ‘Key’ has not been declared ValueType at(Key j) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:193:18: error: expected ‘;’ at end of member declaration const Value& at(Key j) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:193:21: error: ‘const gtsam::Value& gtsam::Values::at’ conflicts with a previous declaration const Value& at(Key j) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:183:15: note: previous declaration ‘ValueType gtsam::Values::at(int) const’ ValueType at(Key j) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:193:25: error: expected ‘)’ before ‘j’ const Value& at(Key j) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:198:17: error: ‘Key’ has not been declared bool exists(Key j) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:205:46: error: ‘Key’ has not been declared boost::optional exists(Key j) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:209:19: error: ‘Key’ has not been declared iterator find(Key j) { return boost::make_transform_iterator(values_.find(j ^ /usr/local/include/gtsam/nonlinear/Values.h:213:25: error: ‘Key’ has not been declared const_iterator find(Key j) const { return boost::make_transform_iterator(va ^ /usr/local/include/gtsam/nonlinear/Values.h:216:26: error: ‘Key’ has not been declared iterator lower_bound(Key j) { return boost::make_transform_iterator(values_ ^ /usr/local/include/gtsam/nonlinear/Values.h:219:32: error: ‘Key’ has not been declared const_iterator lower_bound(Key j) const { return boost::make_transform_iter ^ /usr/local/include/gtsam/nonlinear/Values.h:222:26: error: ‘Key’ has not been declared iterator upper_bound(Key j) { return boost::make_transform_iterator(values_ ^ /usr/local/include/gtsam/nonlinear/Values.h:225:32: error: ‘Key’ has not been declared const_iterator upper_bound(Key j) const { return boost::make_transform_iter ^ /usr/local/include/gtsam/nonlinear/Values.h:254:17: error: ‘Key’ has not been declared void insert(Key j, const Value& val); ^ /usr/local/include/gtsam/nonlinear/Values.h:263:17: error: ‘Key’ has not been declared void insert(Key j, const ValueType& val); ^ /usr/local/include/gtsam/nonlinear/Values.h:266:23: error: ‘Key’ has not been declared void insertDouble(Key j, double c) { insert(j,c); } ^ /usr/local/include/gtsam/nonlinear/Values.h:272:41: error: ‘Key’ has not been declared std::pair tryInsert(Key j, const Value& value); ^ /usr/local/include/gtsam/nonlinear/Values.h:275:17: error: ‘Key’ has not been declared void update(Key j, const Value& val); ^ /usr/local/include/gtsam/nonlinear/Values.h:282:17: error: ‘Key’ has not been declared void update(Key j, const T& val); ^ /usr/local/include/gtsam/nonlinear/Values.h:288:16: error: ‘Key’ has not been declared void erase(Key j); ^ /usr/local/include/gtsam/nonlinear/Values.h:325:39: error: ‘Key’ was not declared in this scope filter(const boost::function& filterFcn); ^ /usr/local/include/gtsam/nonlinear/Values.h:325:43: error: template argument 1 is invalid filter(const boost::function& filterFcn); ^ /usr/local/include/gtsam/nonlinear/Values.h:348:39: error: ‘Key’ was not declared in this scope filter(const boost::function& filterFcn = &_truePredicate); ^ /usr/local/include/gtsam/nonlinear/Values.h:348:43: error: type/value mismatch at argument 1 in template parameter list for ‘template class boost::function’ filter(const boost::function& filterFcn = &_truePredicate); ^ /usr/local/include/gtsam/nonlinear/Values.h:348:43: note: expected a type, got ‘(bool)()’ /usr/local/include/gtsam/nonlinear/Values.h:364:39: error: ‘Key’ was not declared in this scope filter(const boost::function& filterFcn) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:364:43: error: template argument 1 is invalid filter(const boost::function& filterFcn) const; ^ /usr/local/include/gtsam/nonlinear/Values.h:386:39: error: ‘Key’ was not declared in this scope filter(const boost::function& filterFcn = &_truePredicate) ^ /usr/local/include/gtsam/nonlinear/Values.h:386:43: error: type/value mismatch at argument 1 in template parameter list for ‘template class boost::function’ filter(const boost::function& filterFcn = &_truePredicate) ^ /usr/local/include/gtsam/nonlinear/Values.h:386:43: note: expected a type, got ‘(bool)()’ /usr/local/include/gtsam/nonlinear/Values.h:392:57: error: ‘Key’ was not declared in this scope static bool filterHelper(const boost::function filter, const Con ^ /usr/local/include/gtsam/nonlinear/Values.h:392:61: error: type/value mismatch at argument 1 in template parameter list for ‘template class boost::function’ static bool filterHelper(const boost::function filter, const Con ^ /usr/local/include/gtsam/nonlinear/Values.h:392:61: note: expected a type, got ‘(bool)()’ /usr/local/include/gtsam/nonlinear/Values.h:405:85: error: expected unqualified-id before ‘::’ token KeyValuePair make_const_deref_pair(const KeyValueMap::const_iterator::value_typ ^ /usr/local/include/gtsam/nonlinear/Values.h:405:85: error: expected ‘)’ before ‘::’ token /usr/local/include/gtsam/nonlinear/Values.h:405:71: error: expected ‘;’ at end of member declaration static ConstKeyValuePair make_const_deref_pair(const KeyValueMap::const_itera ^ /usr/local/include/gtsam/nonlinear/Values.h:405:87: error: ‘value_type’ in namespace ‘::’ does not name a type yValuePair make_const_deref_pair(const KeyValueMap::const_iterator::value_type& ^ /usr/local/include/gtsam/nonlinear/Values.h:408:68: error: expected unqualified-id before ‘::’ token static KeyValuePair make_deref_pair(const KeyValueMap::iterator::value_type ^ /usr/local/include/gtsam/nonlinear/Values.h:408:68: error: expected ‘)’ before ‘::’ token /usr/local/include/gtsam/nonlinear/Values.h:408:60: error: expected ‘;’ at end of member declaration static KeyValuePair make_deref_pair(const KeyValueMap::iterator::value_type ^ /usr/local/include/gtsam/nonlinear/Values.h:408:70: error: ‘value_type’ in namespace ‘::’ does not name a type static KeyValuePair make_deref_pair(const KeyValueMap::iterator::value_type& ^ /usr/local/include/gtsam/nonlinear/Values.h:348:74: error: ‘Key’ was not declared in this scope filter(const boost::function& filterFcn = &_truePredicate); ^ /usr/local/include/gtsam/nonlinear/Values.h:386:74: error: ‘Key’ was not declared in this scope ilter(const boost::function& filterFcn = &_truePredicate) const ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values.h: In constructor ‘gtsam::Values::ConstKeyValuePair::ConstKeyValuePair(const gtsam::Values::KeyValuePair&)’: /usr/local/include/gtsam/nonlinear/Values.h:114:51: error: class ‘gtsam::Values::ConstKeyValuePair’ does not have any field named ‘key’ ConstKeyValuePair(const KeyValuePair& kv) : key(kv.key), value(kv.value) ^ /usr/local/include/gtsam/nonlinear/Values.h:114:58: error: ‘const struct gtsam::Values::KeyValuePair’ has no member named ‘key’ ConstKeyValuePair(const KeyValuePair& kv) : key(kv.key), value(kv.value) ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::iterator gtsam::Values::find(int)’: /usr/local/include/gtsam/nonlinear/Values.h:209:74: error: request for member ‘find’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ terator find(Key j) { return boost::make_transform_iterator(values_.find(j), &m ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::const_iterator gtsam::Values::find(int) const’: /usr/local/include/gtsam/nonlinear/Values.h:213:86: error: request for member ‘find’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ r find(Key j) const { return boost::make_transform_iterator(values_.find(j), &m ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::iterator gtsam::Values::lower_bound(int)’: /usr/local/include/gtsam/nonlinear/Values.h:216:81: error: request for member ‘lower_bound’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ lower_bound(Key j) { return boost::make_transform_iterator(values_.lower_bound ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::const_iterator gtsam::Values::lower_bound(int) const’: /usr/local/include/gtsam/nonlinear/Values.h:219:93: error: request for member ‘lower_bound’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ _bound(Key j) const { return boost::make_transform_iterator(values_.lower_bound ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::iterator gtsam::Values::upper_bound(int)’: /usr/local/include/gtsam/nonlinear/Values.h:222:81: error: request for member ‘upper_bound’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ upper_bound(Key j) { return boost::make_transform_iterator(values_.upper_bound ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::const_iterator gtsam::Values::upper_bound(int) const’: /usr/local/include/gtsam/nonlinear/Values.h:225:93: error: request for member ‘upper_bound’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ _bound(Key j) const { return boost::make_transform_iterator(values_.upper_bound ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘std::size_t gtsam::Values::size() const’: /usr/local/include/gtsam/nonlinear/Values.h:228:42: error: request for member ‘size’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ size_t size() const { return values_.size(); } ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘bool gtsam::Values::empty() const’: /usr/local/include/gtsam/nonlinear/Values.h:231:41: error: request for member ‘empty’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ bool empty() const { return values_.empty(); } ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::const_iterator gtsam::Values::begin() const’: /usr/local/include/gtsam/nonlinear/Values.h:233:82: error: request for member ‘begin’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ rator begin() const { return boost::make_transform_iterator(values_.begin(), &m ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::const_iterator gtsam::Values::end() const’: /usr/local/include/gtsam/nonlinear/Values.h:234:80: error: request for member ‘end’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ terator end() const { return boost::make_transform_iterator(values_.end(), &mak ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::iterator gtsam::Values::begin()’: /usr/local/include/gtsam/nonlinear/Values.h:235:70: error: request for member ‘begin’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ iterator begin() { return boost::make_transform_iterator(values_.begin(), &m ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::iterator gtsam::Values::end()’: /usr/local/include/gtsam/nonlinear/Values.h:236:68: error: request for member ‘end’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ iterator end() { return boost::make_transform_iterator(values_.end(), &make ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::const_reverse_iterator gtsam::Values::rbegin() const’: /usr/local/include/gtsam/nonlinear/Values.h:237:91: error: request for member ‘rbegin’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ ator rbegin() const { return boost::make_transform_iterator(values_.rbegin(), & ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::const_reverse_iterator gtsam::Values::rend() const’: /usr/local/include/gtsam/nonlinear/Values.h:238:89: error: request for member ‘rend’ in ‘((const gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘const KeyValueMap {aka const int}’ erator rend() const { return boost::make_transform_iterator(values_.rend(), &ma ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::reverse_iterator gtsam::Values::rbegin()’: /usr/local/include/gtsam/nonlinear/Values.h:239:79: error: request for member ‘rbegin’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ e_iterator rbegin() { return boost::make_transform_iterator(values_.rbegin(), & ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘gtsam::Values::reverse_iterator gtsam::Values::rend()’: /usr/local/include/gtsam/nonlinear/Values.h:240:77: error: request for member ‘rend’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ rse_iterator rend() { return boost::make_transform_iterator(values_.rend(), &ma ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘void gtsam::Values::swap(gtsam::Values&)’: /usr/local/include/gtsam/nonlinear/Values.h:300:40: error: request for member ‘swap’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ void swap(Values& other) { values_.swap(other.values_); } ^ /usr/local/include/gtsam/nonlinear/Values.h: In member function ‘void gtsam::Values::clear()’: /usr/local/include/gtsam/nonlinear/Values.h:303:28: error: request for member ‘clear’ in ‘((gtsam::Values*)this)->gtsam::Values::values_’, which is of non-class type ‘gtsam::Values::KeyValueMap {aka int}’ void clear() { values_.clear(); } ^ /usr/local/include/gtsam/nonlinear/Values.h: In static member function ‘static bool gtsam::Values::filterHelper(int, const gtsam::Values::ConstKeyValuePair&)’: /usr/local/include/gtsam/nonlinear/Values.h:395:31: error: ‘const struct gtsam::Values::ConstKeyValuePair’ has no member named ‘key’ return filter(key_value.key) && (dynamic_cast::_ValuesConstKeyValuePair(const gtsam::_ValuesKeyValuePair&)’: /usr/local/include/gtsam/nonlinear/Values-inl.h:54:9: error: class ‘gtsam::_ValuesConstKeyValuePair’ does not have any field named ‘key’ key(rhs.key), value(rhs.value) { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: At global scope: /usr/local/include/gtsam/nonlinear/Values-inl.h:195:14: error: ‘Key’ was not declared in this scope FastList keys() const { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:195:17: error: template argument 1 is invalid FastList keys() const { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: In member function ‘int gtsam::Values::ConstFiltered::keys() const’: /usr/local/include/gtsam/nonlinear/Values-inl.h:196:16: error: ‘Key’ was not declared in this scope FastList result; ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:196:19: error: template argument 1 is invalid FastList result; ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:198:16: error: request for member ‘push_back’ in ‘result’, which is of non-class type ‘int’ result.push_back(it->key); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: In constructor ‘gtsam::Values::Values(const gtsam::Values::Filtered&)’: /usr/local/include/gtsam/nonlinear/Values-inl.h:222:7: error: ‘Key’ was not declared in this scope Key key = key_value.key; ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:223:14: error: ‘key’ was not declared in this scope insert(key, static_cast(key_value.value)); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: In constructor ‘gtsam::Values::Values(const gtsam::Values::ConstFiltered&)’: /usr/local/include/gtsam/nonlinear/Values-inl.h:231:7: error: ‘Key’ was not declared in this scope Key key = key_value.key; ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:232:14: error: ‘key’ was not declared in this scope insert(key, static_cast(key_value.value)); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: At global scope: /usr/local/include/gtsam/nonlinear/Values-inl.h:238:52: error: ‘Key’ was not declared in this scope inline Values::filter(const boost::function& filterFcn) { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:238:56: error: template argument 1 is invalid inline Values::filter(const boost::function& filterFcn) { ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:65:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/ios:40, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/Dense:1, from /usr/local/include/gtsam/base/OptionalJacobian.h:22, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/c++/5/bits/stl_iterator_base_types.h: In instantiation of ‘struct std::iterator_traits’: /usr/include/boost/iterator/iterator_categories.hpp:117:8: required from ‘struct boost::iterators::iterator_traversal’ /usr/include/boost/iterator/filter_iterator.hpp:40:11: required from ‘struct boost::iterators::detail::filter_iterator_base, int>’ /usr/include/boost/iterator/filter_iterator.hpp:45:9: required from ‘class boost::iterators::filter_iterator, int>’ /usr/include/c++/5/bits/stl_iterator_base_types.h:168:53: required from ‘struct std::iterator_traits, int> >’ /usr/include/boost/iterator/transform_iterator.hpp:51:17: required from ‘struct boost::iterators::detail::transform_iterator_base (*)(gtsam::Values::KeyValuePair), boost::iterators::filter_iterator, int>, boost::iterators::use_default, boost::iterators::use_default>’ /usr/include/boost/iterator/transform_iterator.hpp:75:9: required from ‘class boost::iterators::transform_iterator (*)(gtsam::Values::KeyValuePair), boost::iterators::filter_iterator, int>, boost::iterators::use_default, boost::iterators::use_default>’ /usr/local/include/gtsam/nonlinear/Values-inl.h:160:14: required from ‘class gtsam::Values::Filtered’ /usr/local/include/gtsam/nonlinear/Values-inl.h:238:68: required from here /usr/include/c++/5/bits/stl_iterator_base_types.h:168:53: error: ‘int’ is not a class, struct, or union type typedef typename _Iterator::iterator_category iterator_category; ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:169:53: error: ‘int’ is not a class, struct, or union type typedef typename _Iterator::value_type value_type; ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:170:53: error: ‘int’ is not a class, struct, or union type typedef typename _Iterator::difference_type difference_type; ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:171:53: error: ‘int’ is not a class, struct, or union type typedef typename _Iterator::pointer pointer; ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:172:53: error: ‘int’ is not a class, struct, or union type typedef typename _Iterator::reference reference; ^ In file included from /usr/local/include/gtsam/nonlinear/Values.h:31:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/include/boost/iterator/filter_iterator.hpp: In instantiation of ‘struct boost::iterators::detail::filter_iterator_base, int>’: /usr/include/boost/iterator/filter_iterator.hpp:45:9: required from ‘class boost::iterators::filter_iterator, int>’ /usr/include/c++/5/bits/stl_iterator_base_types.h:168:53: required from ‘struct std::iterator_traits, int> >’ /usr/include/boost/iterator/transform_iterator.hpp:51:17: required from ‘struct boost::iterators::detail::transform_iterator_base (*)(gtsam::Values::KeyValuePair), boost::iterators::filter_iterator, int>, boost::iterators::use_default, boost::iterators::use_default>’ /usr/include/boost/iterator/transform_iterator.hpp:75:9: required from ‘class boost::iterators::transform_iterator (*)(gtsam::Values::KeyValuePair), boost::iterators::filter_iterator, int>, boost::iterators::use_default, boost::iterators::use_default>’ /usr/local/include/gtsam/nonlinear/Values-inl.h:160:14: required from ‘class gtsam::Values::Filtered’ /usr/local/include/gtsam/nonlinear/Values-inl.h:238:68: required from here /usr/include/boost/iterator/filter_iterator.hpp:40:11: error: no type named ‘type’ in ‘struct boost::iterators::iterator_traversal’ > type; ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:65:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/ios:40, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/Dense:1, from /usr/local/include/gtsam/base/OptionalJacobian.h:22, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/c++/5/bits/stl_iterator_base_types.h: In instantiation of ‘struct std::iterator_traits, int> >’: /usr/include/boost/iterator/transform_iterator.hpp:51:17: required from ‘struct boost::iterators::detail::transform_iterator_base (*)(gtsam::Values::KeyValuePair), boost::iterators::filter_iterator, int>, boost::iterators::use_default, boost::iterators::use_default>’ /usr/include/boost/iterator/transform_iterator.hpp:75:9: required from ‘class boost::iterators::transform_iterator (*)(gtsam::Values::KeyValuePair), boost::iterators::filter_iterator, int>, boost::iterators::use_default, boost::iterators::use_default>’ /usr/local/include/gtsam/nonlinear/Values-inl.h:160:14: required from ‘class gtsam::Values::Filtered’ /usr/local/include/gtsam/nonlinear/Values-inl.h:238:68: required from here /usr/include/c++/5/bits/stl_iterator_base_types.h:168:53: error: no type named ‘iterator_category’ in ‘class boost::iterators::filter_iterator, int>’ typedef typename _Iterator::iterator_category iterator_category; ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:169:53: error: no type named ‘value_type’ in ‘class boost::iterators::filter_iterator, int>’ typedef typename _Iterator::value_type value_type; ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:170:53: error: no type named ‘difference_type’ in ‘class boost::iterators::filter_iterator, int>’ typedef typename _Iterator::difference_type difference_type; ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:171:53: error: no type named ‘pointer’ in ‘class boost::iterators::filter_iterator, int>’ typedef typename _Iterator::pointer pointer; ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:172:53: error: no type named ‘reference’ in ‘class boost::iterators::filter_iterator, int>’ typedef typename _Iterator::reference reference; ^ In file included from /usr/local/include/gtsam/nonlinear/Values.h:532:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values-inl.h:245:45: error: ‘Key’ was not declared in this scope Values::filter(const boost::function& filterFcn) { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:245:49: error: type/value mismatch at argument 1 in template parameter list for ‘template class boost::function’ Values::filter(const boost::function& filterFcn) { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:245:49: note: expected a type, got ‘(bool)()’ /usr/local/include/gtsam/nonlinear/Values-inl.h:251:52: error: ‘Key’ was not declared in this scope inline Values::filter(const boost::function& filterFcn) const { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:251:56: error: template argument 1 is invalid inline Values::filter(const boost::function& filterFcn) const { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:258:45: error: ‘Key’ was not declared in this scope Values::filter(const boost::function& filterFcn) const { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:258:49: error: type/value mismatch at argument 1 in template parameter list for ‘template class boost::function’ Values::filter(const boost::function& filterFcn) const { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:258:49: note: expected a type, got ‘(bool)()’ /usr/local/include/gtsam/nonlinear/Values-inl.h:264:71: error: ‘Key’ was not declared in this scope inline bool Values::filterHelper(const boost::function filte ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:264:75: error: template argument 1 is invalid nline bool Values::filterHelper(const boost::function filter, ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: In static member function ‘static bool gtsam::Values::filterHelper(int, const gtsam::Values::ConstKeyValuePair&) [with ValueType = gtsam::Value]’: /usr/local/include/gtsam/nonlinear/Values-inl.h:267:30: error: ‘const struct gtsam::Values::ConstKeyValuePair’ has no member named ‘key’ return filter(key_value.key); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:267:33: error: ‘filter’ cannot be used as a function return filter(key_value.key); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: At global scope: /usr/local/include/gtsam/nonlinear/Values-inl.h:278:27: error: ‘Key’ has not been declared ValueType operator()(Key j, const Value* const pointer) { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:294:45: error: ‘Key’ has not been declared Eigen::Matrix operator()(Key j, const Value* const pointer) ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: In member function ‘Eigen::Matrix gtsam::internal::handle_matrix, true>::operator()(int, const gtsam::Value*)’: /usr/local/include/gtsam/nonlinear/Values-inl.h:297:77: error: ‘&’ cannot appear in a constant-expression return dynamic_cast>&>(*pointer ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:297:78: error: template argument 3 is invalid return dynamic_cast>&>(*pointer) ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:297:78: error: template argument 4 is invalid /usr/local/include/gtsam/nonlinear/Values-inl.h:297:78: error: template argument 6 is invalid /usr/local/include/gtsam/nonlinear/Values-inl.h:297:81: error: ‘pointer’ cannot appear in a constant-expression urn dynamic_cast>&>(*pointer).va ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:297:81: error: ‘*’ cannot appear in a constant-expression /usr/local/include/gtsam/nonlinear/Values-inl.h:297:90: error: ‘.’ cannot appear in a constant-expression namic_cast>&>(*pointer).value(); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:297:96: error: a function call cannot appear in a constant-expression namic_cast>&>(*pointer).value(); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:297:96: error: template argument 1 is invalid /usr/local/include/gtsam/nonlinear/Values-inl.h:297:97: error: expected ‘>’ before ‘;’ token namic_cast>&>(*pointer).value(); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:297:97: error: expected ‘(’ before ‘;’ token /usr/local/include/gtsam/nonlinear/Values-inl.h:297:97: error: expected primary-expression before ‘;’ token /usr/local/include/gtsam/nonlinear/Values-inl.h:297:97: error: expected ‘)’ before ‘;’ token /usr/local/include/gtsam/nonlinear/Values-inl.h: At global scope: /usr/local/include/gtsam/nonlinear/Values-inl.h:308:45: error: ‘Key’ has not been declared Eigen::Matrix operator()(Key j, const Value* const pointer) ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: In member function ‘Eigen::Matrix gtsam::internal::handle_matrix, false>::operator()(int, const gtsam::Value*)’: /usr/local/include/gtsam/nonlinear/Values-inl.h:311:77: error: ‘&’ cannot appear in a constant-expression return dynamic_cast>&>(*pointer ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:311:78: error: template argument 3 is invalid return dynamic_cast>&>(*pointer) ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:311:78: error: template argument 4 is invalid /usr/local/include/gtsam/nonlinear/Values-inl.h:311:78: error: template argument 6 is invalid /usr/local/include/gtsam/nonlinear/Values-inl.h:311:81: error: ‘pointer’ cannot appear in a constant-expression urn dynamic_cast>&>(*pointer).va ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:311:81: error: ‘*’ cannot appear in a constant-expression /usr/local/include/gtsam/nonlinear/Values-inl.h:311:90: error: ‘.’ cannot appear in a constant-expression namic_cast>&>(*pointer).value(); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:311:96: error: a function call cannot appear in a constant-expression namic_cast>&>(*pointer).value(); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:311:96: error: template argument 1 is invalid /usr/local/include/gtsam/nonlinear/Values-inl.h:311:97: error: expected ‘>’ before ‘;’ token namic_cast>&>(*pointer).value(); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:311:97: error: expected ‘(’ before ‘;’ token /usr/local/include/gtsam/nonlinear/Values-inl.h:311:97: error: expected primary-expression before ‘;’ token /usr/local/include/gtsam/nonlinear/Values-inl.h:311:97: error: expected ‘)’ before ‘;’ token /usr/local/include/gtsam/nonlinear/Values-inl.h: At global scope: /usr/local/include/gtsam/nonlinear/Values-inl.h:332:44: error: template argument 3 is invalid struct handle> { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:332:44: error: template argument 4 is invalid /usr/local/include/gtsam/nonlinear/Values-inl.h:332:44: error: template argument 6 is invalid /usr/local/include/gtsam/nonlinear/Values-inl.h:332:25: error: template argument 1 is invalid struct handle> { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:343:25: error: ‘ValueType gtsam::Values::at’ is not a static data member of ‘class gtsam::Values’ ValueType Values::at(Key j) const { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:343:25: error: template definition of non-template ‘ValueType gtsam::Values::at’ /usr/local/include/gtsam/nonlinear/Values-inl.h:343:25: error: ‘Key’ was not declared in this scope /usr/local/include/gtsam/nonlinear/Values-inl.h:357:52: error: ‘boost::optional gtsam::Values::exists’ is not a static data member of ‘class gtsam::Values’ boost::optional Values::exists(Key j) const { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:357:52: error: template definition of non-template ‘boost::optional gtsam::Values::exists’ /usr/local/include/gtsam/nonlinear/Values-inl.h:357:52: error: ‘Key’ was not declared in this scope /usr/local/include/gtsam/nonlinear/Values-inl.h:380:23: error: variable or field ‘insert’ declared void void Values::insert(Key j, const ValueType& val) { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:380:23: error: ‘Key’ was not declared in this scope /usr/local/include/gtsam/nonlinear/Values-inl.h:380:30: error: expected primary-expression before ‘const’ void Values::insert(Key j, const ValueType& val) { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:386:23: error: variable or field ‘update’ declared void void Values::update(Key j, const ValueType& val) { ^ /usr/local/include/gtsam/nonlinear/Values-inl.h:386:23: error: ‘Key’ was not declared in this scope /usr/local/include/gtsam/nonlinear/Values-inl.h:386:30: error: expected primary-expression before ‘const’ void Values::update(Key j, const ValueType& val) { ^ In file included from /usr/local/include/gtsam/linear/GaussianFactor.h:23:0, from /usr/local/include/gtsam/linear/JacobianFactor.h:21, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/inference/Factor.h:61:24: error: ‘Key’ was not declared in this scope typedef FastVector::iterator iterator; ^ /usr/local/include/gtsam/inference/Factor.h:61:27: error: template argument 1 is invalid typedef FastVector::iterator iterator; ^ /usr/local/include/gtsam/inference/Factor.h:61:30: error: expected ‘;’ at end of member declaration typedef FastVector::iterator iterator; ^ /usr/local/include/gtsam/inference/Factor.h:61:39: error: declaration does not declare anything [-fpermissive] typedef FastVector::iterator iterator; ^ /usr/local/include/gtsam/inference/Factor.h:64:24: error: ‘Key’ was not declared in this scope typedef FastVector::const_iterator const_iterator; ^ /usr/local/include/gtsam/inference/Factor.h:64:27: error: template argument 1 is invalid typedef FastVector::const_iterator const_iterator; ^ /usr/local/include/gtsam/inference/Factor.h:64:30: error: expected ‘;’ at end of member declaration typedef FastVector::const_iterator const_iterator; ^ /usr/local/include/gtsam/inference/Factor.h:64:45: error: declaration does not declare anything [-fpermissive] typedef FastVector::const_iterator const_iterator; ^ /usr/local/include/gtsam/inference/Factor.h:69:16: error: ‘Key’ was not declared in this scope FastVector keys_; ^ /usr/local/include/gtsam/inference/Factor.h:69:19: error: template argument 1 is invalid FastVector keys_; ^ /usr/local/include/gtsam/inference/Factor.h:106:5: error: ‘Key’ does not name a type Key front() const { return keys_.front(); } ^ /usr/local/include/gtsam/inference/Factor.h:109:5: error: ‘Key’ does not name a type Key back() const { return keys_.back(); } ^ /usr/local/include/gtsam/inference/Factor.h:112:25: error: ‘Key’ has not been declared const_iterator find(Key key) const { return std::find(begin(), end(), key); ^ /usr/local/include/gtsam/inference/Factor.h:115:22: error: ‘Key’ was not declared in this scope const FastVector& keys() const { return keys_; } ^ /usr/local/include/gtsam/inference/Factor.h:115:25: error: template argument 1 is invalid const FastVector& keys() const { return keys_; } ^ /usr/local/include/gtsam/inference/Factor.h:151:16: error: ‘Key’ was not declared in this scope FastVector& keys() { return keys_; } ^ /usr/local/include/gtsam/inference/Factor.h:151:19: error: template argument 1 is invalid FastVector& keys() { return keys_; } ^ /usr/local/include/gtsam/inference/Factor.h: In member function ‘gtsam::Factor::const_iterator gtsam::Factor::begin() const’: /usr/local/include/gtsam/inference/Factor.h:118:49: error: request for member ‘begin’ in ‘((const gtsam::Factor*)this)->gtsam::Factor::keys_’, which is of non-class type ‘const int’ const_iterator begin() const { return keys_.begin(); } ^ /usr/local/include/gtsam/inference/Factor.h: In member function ‘gtsam::Factor::const_iterator gtsam::Factor::end() const’: /usr/local/include/gtsam/inference/Factor.h:121:47: error: request for member ‘end’ in ‘((const gtsam::Factor*)this)->gtsam::Factor::keys_’, which is of non-class type ‘const int’ const_iterator end() const { return keys_.end(); } ^ /usr/local/include/gtsam/inference/Factor.h: In member function ‘std::size_t gtsam::Factor::size() const’: /usr/local/include/gtsam/inference/Factor.h:126:40: error: request for member ‘size’ in ‘((const gtsam::Factor*)this)->gtsam::Factor::keys_’, which is of non-class type ‘const int’ size_t size() const { return keys_.size(); } ^ /usr/local/include/gtsam/inference/Factor.h: In member function ‘gtsam::Factor::iterator gtsam::Factor::begin()’: /usr/local/include/gtsam/inference/Factor.h:154:37: error: request for member ‘begin’ in ‘((gtsam::Factor*)this)->gtsam::Factor::keys_’, which is of non-class type ‘int’ iterator begin() { return keys_.begin(); } ^ /usr/local/include/gtsam/inference/Factor.h: In member function ‘gtsam::Factor::iterator gtsam::Factor::end()’: /usr/local/include/gtsam/inference/Factor.h:157:35: error: request for member ‘end’ in ‘((gtsam::Factor*)this)->gtsam::Factor::keys_’, which is of non-class type ‘int’ iterator end() { return keys_.end(); } ^ In file included from /usr/local/include/gtsam/linear/JacobianFactor.h:21:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/GaussianFactor.h: At global scope: /usr/local/include/gtsam/linear/GaussianFactor.h:109:22: error: ‘Key’ was not declared in this scope virtual std::map hessianBlockDiagonal() const = 0; ^ /usr/local/include/gtsam/linear/GaussianFactor.h:109:32: error: template argument 1 is invalid virtual std::map hessianBlockDiagonal() const = 0; ^ /usr/local/include/gtsam/linear/GaussianFactor.h:109:32: error: template argument 3 is invalid /usr/local/include/gtsam/linear/GaussianFactor.h:109:32: error: template argument 4 is invalid /usr/local/include/gtsam/linear/GaussianFactor.h:129:49: error: ‘Key’ was not declared in this scope virtual void updateHessian(const FastVector& keys, ^ /usr/local/include/gtsam/linear/GaussianFactor.h:129:52: error: template argument 1 is invalid virtual void updateHessian(const FastVector& keys, ^ /usr/local/include/gtsam/linear/GaussianFactor.h:142:29: error: ‘Key’ has not been declared virtual Vector gradient(Key key, const VectorValues& x) const = 0; ^ /usr/local/include/gtsam/linear/GaussianFactor.h:146:51: error: ‘Key’ has not been declared static DenseIndex Slot(const CONTAINER& keys, Key key) { ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:123:24: error: expected ‘)’ before ‘i1’ JacobianFactor(Key i1, const Matrix& A1, ^ /usr/local/include/gtsam/linear/JacobianFactor.h:127:24: error: expected ‘)’ before ‘i1’ JacobianFactor(Key i1, const Matrix& A1, ^ /usr/local/include/gtsam/linear/JacobianFactor.h:132:24: error: expected ‘)’ before ‘i1’ JacobianFactor(Key i1, const Matrix& A1, Key i2, ^ /usr/local/include/gtsam/linear/JacobianFactor.h:199:22: error: ‘Key’ was not declared in this scope virtual std::map hessianBlockDiagonal() const; ^ /usr/local/include/gtsam/linear/JacobianFactor.h:199:32: error: template argument 1 is invalid virtual std::map hessianBlockDiagonal() const; ^ /usr/local/include/gtsam/linear/JacobianFactor.h:199:32: error: template argument 3 is invalid /usr/local/include/gtsam/linear/JacobianFactor.h:199:32: error: template argument 4 is invalid /usr/local/include/gtsam/linear/JacobianFactor.h:286:41: error: ‘Key’ was not declared in this scope void updateHessian(const FastVector& keys, SymmetricBlockMatrix* info) ^ /usr/local/include/gtsam/linear/JacobianFactor.h:286:44: error: template argument 1 is invalid void updateHessian(const FastVector& keys, SymmetricBlockMatrix* info) ^ /usr/local/include/gtsam/linear/JacobianFactor.h:316:21: error: ‘Key’ has not been declared Vector gradient(Key key, const VectorValues& x) const; ^ In file included from /usr/local/include/gtsam/linear/JacobianFactor-inl.h:21:0, from /usr/local/include/gtsam/linear/JacobianFactor.h:391, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/linearExceptions.h:95:5: error: ‘Key’ does not name a type Key j_; ^ /usr/local/include/gtsam/linear/linearExceptions.h:97:44: error: expected ‘)’ before ‘j’ IndeterminantLinearSystemException(Key j) throw() : j_(j) {} ^ /usr/local/include/gtsam/linear/linearExceptions.h:99:5: error: ‘Key’ does not name a type Key nearbyVariable() const { return j_; } ^ In file included from /usr/local/include/gtsam/linear/JacobianFactor.h:391:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor-inl.h: In constructor ‘gtsam::JacobianFactor::JacobianFactor(const KEYS&, const gtsam::VerticalBlockMatrix&, const SharedDiagonal&)’: /usr/local/include/gtsam/linear/JacobianFactor-inl.h:43:32: error: request for member ‘size’ in ‘gtsam::JacobianFactor::Base:: keys_’, which is of non-class type ‘int’ if((DenseIndex)Base::keys_.size() != augmentedMatrix.nBlocks() - 1) ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h: In member function ‘void gtsam::JacobianFactor::fillTerms(const TERMS&, const Vector&, const SharedDiagonal&)’: /usr/local/include/gtsam/linear/JacobianFactor-inl.h:67:17: error: request for member ‘resize’ in ‘gtsam::JacobianFactor::Base:: keys_’, which is of non-class type ‘int’ Base::keys_.resize(terms.size()); ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:73:23: error: ‘Key’ was not declared in this scope const std::pair& term = *it; ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:73:34: error: template argument 1 is invalid const std::pair& term = *it; ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:74:31: error: request for member ‘second’ in ‘term’, which is of non-class type ‘const int’ const Matrix& Ai = term.second; ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:84:23: error: ‘Key’ was not declared in this scope const std::pair& term = *it; ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:84:34: error: template argument 1 is invalid const std::pair& term = *it; ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:85:11: error: expected ‘;’ before ‘key’ Key key = term.first; ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:86:31: error: request for member ‘second’ in ‘term’, which is of non-class type ‘const int’ const Matrix& Ai = term.second; ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:93:20: error: invalid types ‘int[gtsam::DenseIndex {aka long int}]’ for array subscript Base::keys_[i] = key; ^ /usr/local/include/gtsam/linear/JacobianFactor-inl.h:93:24: error: ‘key’ was not declared in this scope Base::keys_[i] = key; ^ In file included from /usr/local/include/gtsam/slam/PriorFactor.h:18:0, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: At global scope: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:138:35: error: ‘Key’ was not declared in this scope shared_ptr rekey(const std::map& rekey_mapping) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:138:39: error: ‘Key’ was not declared in this scope shared_ptr rekey(const std::map& rekey_mapping) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:138:42: error: template argument 1 is invalid shared_ptr rekey(const std::map& rekey_mapping) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:138:42: error: template argument 2 is invalid /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:138:42: error: template argument 3 is invalid /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:138:42: error: template argument 4 is invalid /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:144:38: error: ‘Key’ was not declared in this scope shared_ptr rekey(const std::vector& new_keys) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:144:41: error: template argument 1 is invalid shared_ptr rekey(const std::vector& new_keys) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:144:41: error: template argument 2 is invalid /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:144:14: error: ‘gtsam::NonlinearFactor::shared_ptr gtsam::NonlinearFactor::rekey(const int&) const’ cannot be overloaded shared_ptr rekey(const std::vector& new_keys) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:138:14: error: with ‘gtsam::NonlinearFactor::shared_ptr gtsam::NonlinearFactor::rekey(const int&) const’ shared_ptr rekey(const std::map& rekey_mapping) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:295:10: error: ‘Key’ does not name a type inline Key key() const { return keys_[0]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:302:57: error: ‘Key’ has not been declared NoiseModelFactor1(const SharedNoiseModel& noiseModel, Key key1) : ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: In member function ‘virtual gtsam::Vector gtsam::NoiseModelFactor1::unwhitenedError(const gtsam::Values&, boost::optional >&>) const’: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:310:36: error: invalid types ‘const int[int]’ for array subscript const X& x1 = x.at(keys_[0]); ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: At global scope: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:371:57: error: ‘Key’ has not been declared NoiseModelFactor2(const SharedNoiseModel& noiseModel, Key j1, Key j2) : ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:371:65: error: ‘Key’ has not been declared NoiseModelFactor2(const SharedNoiseModel& noiseModel, Key j1, Key j2) : ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:377:10: error: ‘Key’ does not name a type inline Key key1() const { return keys_[0]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:378:10: error: ‘Key’ does not name a type inline Key key2() const { return keys_[1]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: In member function ‘virtual gtsam::Vector gtsam::NoiseModelFactor2::unwhitenedError(const gtsam::Values&, boost::optional >&>) const’: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:384:38: error: invalid types ‘const int[int]’ for array subscript const X1& x1 = x.at(keys_[0]); ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:385:38: error: invalid types ‘const int[int]’ for array subscript const X2& x2 = x.at(keys_[1]); ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: At global scope: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:448:57: error: ‘Key’ has not been declared NoiseModelFactor3(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3) ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:448:65: error: ‘Key’ has not been declared NoiseModelFactor3(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3) ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:448:73: error: ‘Key’ has not been declared NoiseModelFactor3(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3) : ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:454:10: error: ‘Key’ does not name a type inline Key key1() const { return keys_[0]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:455:10: error: ‘Key’ does not name a type inline Key key2() const { return keys_[1]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:456:10: error: ‘Key’ does not name a type inline Key key3() const { return keys_[2]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: In member function ‘virtual gtsam::Vector gtsam::NoiseModelFactor3::unwhitenedError(const gtsam::Values&, boost::optional >&>) const’: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:463:46: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:463:66: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:463:86: error: invalid types ‘const int[int]’ for array subscript aluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2]), (*H)[0] ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:465:46: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:465:66: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:465:86: error: invalid types ‘const int[int]’ for array subscript turn evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2])); ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: At global scope: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:527:57: error: ‘Key’ has not been declared NoiseModelFactor4(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:527:65: error: ‘Key’ has not been declared NoiseModelFactor4(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:527:73: error: ‘Key’ has not been declared iseModelFactor4(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:527:81: error: ‘Key’ has not been declared elFactor4(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key j4) : ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:533:10: error: ‘Key’ does not name a type inline Key key1() const { return keys_[0]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:534:10: error: ‘Key’ does not name a type inline Key key2() const { return keys_[1]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:535:10: error: ‘Key’ does not name a type inline Key key3() const { return keys_[2]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:536:10: error: ‘Key’ does not name a type inline Key key4() const { return keys_[3]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: In member function ‘virtual gtsam::Vector gtsam::NoiseModelFactor4::unwhitenedError(const gtsam::Values&, boost::optional >&>) const’: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:543:46: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:543:66: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:543:86: error: invalid types ‘const int[int]’ for array subscript aluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[3]), (*H)[0] ^ In file included from /usr/local/include/gtsam/slam/PriorFactor.h:18:0, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:545:46: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:545:66: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:545:86: error: invalid types ‘const int[int]’ for array subscript aluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[3])); ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: At global scope: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:610:57: error: ‘Key’ has not been declared NoiseModelFactor5(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:610:65: error: ‘Key’ has not been declared NoiseModelFactor5(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:610:73: error: ‘Key’ has not been declared iseModelFactor5(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:610:81: error: ‘Key’ has not been declared Factor5(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key j4, Key ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:610:89: error: ‘Key’ has not been declared 5(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key j4, Key j5) : ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:616:10: error: ‘Key’ does not name a type inline Key key1() const { return keys_[0]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:617:10: error: ‘Key’ does not name a type inline Key key2() const { return keys_[1]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:618:10: error: ‘Key’ does not name a type inline Key key3() const { return keys_[2]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:619:10: error: ‘Key’ does not name a type inline Key key4() const { return keys_[3]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:620:10: error: ‘Key’ does not name a type inline Key key5() const { return keys_[4]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: In member function ‘virtual gtsam::Vector gtsam::NoiseModelFactor5::unwhitenedError(const gtsam::Values&, boost::optional >&>) const’: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:627:46: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:627:66: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:627:86: error: invalid types ‘const int[int]’ for array subscript aluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[4]), (*H)[0] ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:629:46: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:629:66: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:629:86: error: invalid types ‘const int[int]’ for array subscript aluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[4])); ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: At global scope: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:697:57: error: ‘Key’ has not been declared NoiseModelFactor6(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:697:65: error: ‘Key’ has not been declared NoiseModelFactor6(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:697:73: error: ‘Key’ has not been declared iseModelFactor6(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:697:81: error: ‘Key’ has not been declared Factor6(const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key j4, Key ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:697:89: error: ‘Key’ has not been declared const SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key j4, Key j5, Key ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:697:97: error: ‘Key’ has not been declared SharedNoiseModel& noiseModel, Key j1, Key j2, Key j3, Key j4, Key j5, Key j6) : ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:703:10: error: ‘Key’ does not name a type inline Key key1() const { return keys_[0]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:704:10: error: ‘Key’ does not name a type inline Key key2() const { return keys_[1]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:705:10: error: ‘Key’ does not name a type inline Key key3() const { return keys_[2]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:706:10: error: ‘Key’ does not name a type inline Key key4() const { return keys_[3]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:707:10: error: ‘Key’ does not name a type inline Key key5() const { return keys_[4]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:708:10: error: ‘Key’ does not name a type inline Key key6() const { return keys_[5]; } ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h: In member function ‘virtual gtsam::Vector gtsam::NoiseModelFactor6::unwhitenedError(const gtsam::Values&, boost::optional >&>) const’: /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:715:46: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:715:66: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:715:86: error: invalid types ‘const int[int]’ for array subscript aluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[4]), x.at(keys_[3]), x.at(keys_[4]), x.at(keys_[5]), (*H)[0] ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:717:46: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:717:66: error: invalid types ‘const int[int]’ for array subscript return evaluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(k ^ /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:717:86: error: invalid types ‘const int[int]’ for array subscript aluateError(x.at(keys_[0]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[1]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[4]), x.at(keys_[2]), x.at(keys_[3]), x.at(keys_[4]), x.at(keys_[5])); ^ In file included from SimpleRotation.cpp:36:0: /usr/local/include/gtsam/slam/PriorFactor.h: At global scope: /usr/local/include/gtsam/slam/PriorFactor.h:56:21: error: expected ‘)’ before ‘key’ PriorFactor(Key key, const VALUE& prior, const SharedNoiseModel& model) : ^ /usr/local/include/gtsam/slam/PriorFactor.h:61:21: error: expected ‘)’ before ‘key’ PriorFactor(Key key, const VALUE& prior, const Matrix& covariance) : ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:26:0, from SimpleRotation.cpp:40: /usr/local/include/gtsam/inference/FactorGraph.h:155:19: error: ‘enable_if’ in namespace ‘std’ does not name a template type typename std::enable_if::value>: ^ /usr/local/include/gtsam/inference/FactorGraph.h:155:28: error: expected unqualified-id before ‘<’ token typename std::enable_if::value>: ^ /usr/local/include/gtsam/inference/FactorGraph.h:165:19: error: ‘enable_if’ in namespace ‘std’ does not name a template type typename std::enable_if::value>: ^ /usr/local/include/gtsam/inference/FactorGraph.h:165:28: error: expected unqualified-id before ‘<’ token typename std::enable_if::value>: ^ /usr/local/include/gtsam/inference/FactorGraph.h:172:19: error: ‘enable_if’ in namespace ‘std’ does not name a template type typename std::enable_if::value>: ^ /usr/local/include/gtsam/inference/FactorGraph.h:195:28: error: expected unqualified-id before ‘<’ token typename std::enable_if::value>: ^ /usr/local/include/gtsam/inference/FactorGraph.h:203:19: error: ‘enable_if’ in namespace ‘std’ does not name a template type typename std::enable_if::value, ^ /usr/local/include/gtsam/inference/FactorGraph.h:218:28: error: expected unqualified-id before ‘<’ token typename std::enable_if::value, ^ /usr/local/include/gtsam/inference/FactorGraph.h:239:19: error: ‘enable_if’ in namespace ‘std’ does not name a template type typename std::enable_if::value>: ^ /usr/local/include/gtsam/inference/FactorGraph.h:239:28: error: expected unqualified-id before ‘<’ token typename std::enable_if::value>: ^ In file included from /usr/local/include/gtsam/inference/FactorGraph.h:368:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:26, from SimpleRotation.cpp:40: /usr/local/include/gtsam/inference/FactorGraph-inst.h: In member function ‘gtsam::KeySet gtsam::FactorGraph::keys() const’: /usr/local/include/gtsam/inference/FactorGraph-inst.h:79:14: error: request for member ‘insert’ in ‘keys’, which is of non-class type ‘gtsam::KeySet {aka int}’ keys.insert(factor->begin(), factor->end()); ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h: In member function ‘gtsam::KeyVector gtsam::FactorGraph::keyVector() const’: /usr/local/include/gtsam/inference/FactorGraph-inst.h:88:10: error: request for member ‘reserve’ in ‘keys’, which is of non-class type ‘gtsam::KeyVector {aka int}’ keys.reserve(2 * size()); // guess at size ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:91:14: error: request for member ‘insert’ in ‘keys’, which is of non-class type ‘gtsam::KeyVector {aka int}’ keys.insert(keys.end(), factor->begin(), factor->end()); ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:91:26: error: request for member ‘end’ in ‘keys’, which is of non-class type ‘gtsam::KeyVector {aka int}’ keys.insert(keys.end(), factor->begin(), factor->end()); ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:92:20: error: request for member ‘begin’ in ‘keys’, which is of non-class type ‘gtsam::KeyVector {aka int}’ std::sort(keys.begin(), keys.end()); ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:92:34: error: request for member ‘end’ in ‘keys’, which is of non-class type ‘gtsam::KeyVector {aka int}’ std::sort(keys.begin(), keys.end()); ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:93:10: error: ‘last’ does not name a type auto last = std::unique(keys.begin(), keys.end()); ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:94:10: error: request for member ‘erase’ in ‘keys’, which is of non-class type ‘gtsam::KeyVector {aka int}’ keys.erase(last, keys.end()); ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:94:16: error: ‘last’ was not declared in this scope keys.erase(last, keys.end()); ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:94:27: error: request for member ‘end’ in ‘keys’, which is of non-class type ‘gtsam::KeyVector {aka int}’ keys.erase(last, keys.end()); ^ In file included from SimpleRotation.cpp:40:0: /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h: At global scope: /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:140:54: error: ‘Key’ was not declared in this scope Ordering orderingCOLAMDConstrained(const FastMap& constraints) co ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:140:62: error: template argument 1 is invalid Ordering orderingCOLAMDConstrained(const FastMap& constraints) co ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:146:18: error: ‘function’ in namespace ‘std’ does not name a template type typedef std::function& hessianF ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:158:15: error: ‘Dampen’ does not name a type const Dampen& dampen = nullptr) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:163:33: error: ‘Dampen’ does not name a type const Dampen& dampen = nullptr) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:177:47: error: ‘Key’ was not declared in this scope NonlinearFactorGraph rekey(const std::map& rekey_mapping) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:177:51: error: ‘Key’ was not declared in this scope NonlinearFactorGraph rekey(const std::map& rekey_mapping) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:177:54: error: template argument 1 is invalid NonlinearFactorGraph rekey(const std::map& rekey_mapping) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:177:54: error: template argument 2 is invalid /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:177:54: error: template argument 3 is invalid /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:177:54: error: template argument 4 is invalid /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:158:32: error: ‘nullptr’ was not declared in this scope const Dampen& dampen = nullptr) const; ^ /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:163:50: error: ‘nullptr’ was not declared in this scope const Dampen& dampen = nullptr) const; ^ In file included from /usr/local/include/gtsam/inference/Ordering.h:22:0, from /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:26, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/inference/VariableIndex.h:51:19: error: ‘Key’ was not declared in this scope typedef FastMap KeyMap; ^ /usr/local/include/gtsam/inference/VariableIndex.h:51:30: error: template argument 1 is invalid typedef FastMap KeyMap; ^ /usr/local/include/gtsam/inference/VariableIndex.h:57:19: error: typedef name may not be a nested-name-specifier typedef KeyMap::const_iterator const_iterator; ^ /usr/local/include/gtsam/inference/VariableIndex.h:57:19: error: expected ‘;’ at end of member declaration /usr/local/include/gtsam/inference/VariableIndex.h:57:34: error: declaration does not declare anything [-fpermissive] typedef KeyMap::const_iterator const_iterator; ^ /usr/local/include/gtsam/inference/VariableIndex.h:58:19: error: typedef name may not be a nested-name-specifier typedef KeyMap::const_iterator iterator; ^ /usr/local/include/gtsam/inference/VariableIndex.h:58:19: error: expected ‘;’ at end of member declaration /usr/local/include/gtsam/inference/VariableIndex.h:58:19: error: redeclaration of ‘typedef gtsam::VariableIndex::const_iterator’ /usr/local/include/gtsam/inference/VariableIndex.h:57:19: note: previous declaration ‘typedef gtsam::VariableIndex::const_iterator’ typedef KeyMap::const_iterator const_iterator; ^ /usr/local/include/gtsam/inference/VariableIndex.h:58:34: error: ‘iterator’ does not name a type typedef KeyMap::const_iterator iterator; ^ /usr/local/include/gtsam/inference/VariableIndex.h:59:19: error: typedef name may not be a nested-name-specifier typedef KeyMap::value_type value_type; ^ /usr/local/include/gtsam/inference/VariableIndex.h:59:19: error: expected ‘;’ at end of member declaration /usr/local/include/gtsam/inference/VariableIndex.h:59:30: error: declaration does not declare anything [-fpermissive] typedef KeyMap::value_type value_type; ^ /usr/local/include/gtsam/inference/VariableIndex.h:93:29: error: declaration of ‘operator[]’ as non-function const Factors& operator[](Key variable) const { ^ /usr/local/include/gtsam/inference/VariableIndex.h:93:27: error: expected ‘;’ at end of member declaration const Factors& operator[](Key variable) const { ^ /usr/local/include/gtsam/inference/VariableIndex.h:93:33: error: expected ‘)’ before ‘variable’ const Factors& operator[](Key variable) const { ^ /usr/local/include/gtsam/inference/VariableIndex.h:154:23: error: ‘Key’ has not been declared const_iterator find(Key key) const { return index_.find(key); } ^ /usr/local/include/gtsam/inference/VariableIndex.h:157:32: error: ‘Key’ has not been declared Factor_iterator factorsBegin(Key variable) { return internalAt(variable).begi ^ /usr/local/include/gtsam/inference/VariableIndex.h:158:30: error: ‘Key’ has not been declared Factor_iterator factorsEnd(Key variable) { return internalAt(variable).end(); ^ /usr/local/include/gtsam/inference/VariableIndex.h:160:38: error: ‘Key’ has not been declared Factor_const_iterator factorsBegin(Key variable) const { return internalAt(va ^ /usr/local/include/gtsam/inference/VariableIndex.h:161:36: error: ‘Key’ has not been declared Factor_const_iterator factorsEnd(Key variable) const { return internalAt(vari ^ /usr/local/include/gtsam/inference/VariableIndex.h:164:18: error: expected ‘;’ at end of member declaration const Factors& internalAt(Key variable) const { ^ /usr/local/include/gtsam/inference/VariableIndex.h:164:33: error: expected ‘)’ before ‘variable’ const Factors& internalAt(Key variable) const { ^ /usr/local/include/gtsam/inference/VariableIndex.h:170:12: error: expected ‘;’ at end of member declaration Factors& internalAt(Key variable) { ^ /usr/local/include/gtsam/inference/VariableIndex.h:170:23: error: redeclaration of ‘gtsam::VariableIndex::Factors& gtsam::VariableIndex::internalAt’ Factors& internalAt(Key variable) { ^ /usr/local/include/gtsam/inference/VariableIndex.h:164:29: note: previous declaration ‘const Factors& gtsam::VariableIndex::internalAt’ const Factors& internalAt(Key variable) const { ^ /usr/local/include/gtsam/inference/VariableIndex.h:170:27: error: expected ‘)’ before ‘variable’ Factors& internalAt(Key variable) { ^ /usr/local/include/gtsam/inference/VariableIndex.h: In constructor ‘gtsam::VariableIndex::VariableIndex()’: /usr/local/include/gtsam/inference/VariableIndex.h:67:3: error: uninitialized reference member in ‘const Factors& {aka const class gtsam::FastVector&}’ [-fpermissive] VariableIndex() : nFactors_(0), nEntries_(0) {} ^ /usr/local/include/gtsam/inference/VariableIndex.h:164:29: note: ‘const Factors& gtsam::VariableIndex::internalAt’ should be initialized const Factors& internalAt(Key variable) const { ^ /usr/local/include/gtsam/inference/VariableIndex.h: In member function ‘std::size_t gtsam::VariableIndex::size() const’: /usr/local/include/gtsam/inference/VariableIndex.h:84:39: error: request for member ‘size’ in ‘((const gtsam::VariableIndex*)this)->gtsam::VariableIndex::index_’, which is of non-class type ‘const KeyMap {aka const int}’ size_t size() const { return index_.size(); } ^ /usr/local/include/gtsam/inference/VariableIndex.h: In member function ‘gtsam::VariableIndex::Factor_iterator gtsam::VariableIndex::factorsBegin(int)’: /usr/local/include/gtsam/inference/VariableIndex.h:157:74: error: no match for call to ‘(const Factors {aka const gtsam::FastVector}) (int&)’ tor_iterator factorsBegin(Key variable) { return internalAt(variable).begin(); ^ /usr/local/include/gtsam/inference/VariableIndex.h: In member function ‘gtsam::VariableIndex::Factor_iterator gtsam::VariableIndex::factorsEnd(int)’: /usr/local/include/gtsam/inference/VariableIndex.h:158:72: error: no match for call to ‘(const Factors {aka const gtsam::FastVector}) (int&)’ Factor_iterator factorsEnd(Key variable) { return internalAt(variable).end(); } ^ /usr/local/include/gtsam/inference/VariableIndex.h: In member function ‘gtsam::VariableIndex::Factor_const_iterator gtsam::VariableIndex::factorsBegin(int) const’: /usr/local/include/gtsam/inference/VariableIndex.h:160:86: error: no match for call to ‘(const Factors {aka const gtsam::FastVector}) (int&)’ erator factorsBegin(Key variable) const { return internalAt(variable).begin(); ^ /usr/local/include/gtsam/inference/VariableIndex.h: In member function ‘gtsam::VariableIndex::Factor_const_iterator gtsam::VariableIndex::factorsEnd(int) const’: /usr/local/include/gtsam/inference/VariableIndex.h:161:84: error: no match for call to ‘(const Factors {aka const gtsam::FastVector}) (int&)’ _iterator factorsEnd(Key variable) const { return internalAt(variable).end(); } ^ In file included from /usr/local/include/gtsam/inference/VariableIndex.h:185:0, from /usr/local/include/gtsam/inference/Ordering.h:22, from /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:26, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/inference/VariableIndex-inl.h: In member function ‘void gtsam::VariableIndex::augment(const FG&, boost::optional&>)’: /usr/local/include/gtsam/inference/VariableIndex-inl.h:36:17: error: ‘Key’ does not name a type for(const Key key: *factors[i]) { ^ /usr/local/include/gtsam/inference/VariableIndex-inl.h:40:5: error: expected ‘;’ before ‘}’ token } ^ /usr/local/include/gtsam/inference/VariableIndex-inl.h:40:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h:40:5: error: expected ‘;’ before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h:40:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h:40:5: error: expected ‘)’ before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h:40:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h: In member function ‘void gtsam::VariableIndex::remove(ITERATOR, ITERATOR, const FG&)’: /usr/local/include/gtsam/inference/VariableIndex-inl.h:69:11: error: ‘Key’ was not declared in this scope for(Key j: *factors[i]) { ^ In file included from /usr/local/include/gtsam/inference/VariableIndex.h:185:0, from /usr/local/include/gtsam/inference/Ordering.h:22, from /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:26, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/inference/VariableIndex-inl.h:79:5: error: expected primary-expression before ‘}’ token } ^ /usr/local/include/gtsam/inference/VariableIndex-inl.h:79:5: error: expected ‘;’ before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h:79:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h:79:5: error: expected ‘)’ before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h:79:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/VariableIndex-inl.h: In member function ‘void gtsam::VariableIndex::removeUnusedVariables(ITERATOR, ITERATOR)’: /usr/local/include/gtsam/inference/VariableIndex-inl.h:87:22: error: qualified-id in declaration before ‘entry’ KeyMap::iterator entry = index_.find(*key); ^ /usr/local/include/gtsam/inference/VariableIndex-inl.h:88:10: error: ‘entry’ was not declared in this scope if (!entry->second.empty()) ^ /usr/local/include/gtsam/inference/VariableIndex-inl.h:91:12: error: request for member ‘erase’ in ‘((gtsam::VariableIndex*)this)->gtsam::VariableIndex::index_’, which is of non-class type ‘gtsam::VariableIndex::KeyMap {aka int}’ index_.erase(entry); ^ /usr/local/include/gtsam/inference/VariableIndex-inl.h:91:18: error: ‘entry’ was not declared in this scope index_.erase(entry); ^ In file included from /usr/local/include/gtsam/inference/Ordering.h:23:0, from /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:26, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/inference/MetisIndex.h: At global scope: /usr/local/include/gtsam/inference/MetisIndex.h:49:24: error: ‘Key’ was not declared in this scope typedef boost::bimap bm_type; ^ /usr/local/include/gtsam/inference/MetisIndex.h:49:36: error: template argument 1 is invalid typedef boost::bimap bm_type; ^ /usr/local/include/gtsam/inference/MetisIndex.h:55:16: error: ‘Key’ was not declared in this scope boost::bimap intKeyBMap_; // Stores Key <-> integer value relat ^ /usr/local/include/gtsam/inference/MetisIndex.h:55:28: error: template argument 1 is invalid boost::bimap intKeyBMap_; // Stores Key <-> integer value relat ^ /usr/local/include/gtsam/inference/MetisIndex.h:95:3: error: ‘Key’ does not name a type Key intToKey(int32_t value) const { ^ In file included from /usr/local/include/gtsam/inference/MetisIndex.h:105:0, from /usr/local/include/gtsam/inference/Ordering.h:23, from /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:26, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/inference/MetisIndex-inl.h: In member function ‘void gtsam::MetisIndex::augment(const gtsam::FactorGraph&)’: /usr/local/include/gtsam/inference/MetisIndex-inl.h:30:12: error: ‘Key’ was not declared in this scope std::set keySet; ^ /usr/local/include/gtsam/inference/MetisIndex-inl.h:30:15: error: template argument 1 is invalid std::set keySet; ^ /usr/local/include/gtsam/inference/MetisIndex-inl.h:30:15: error: template argument 2 is invalid /usr/local/include/gtsam/inference/MetisIndex-inl.h:30:15: error: template argument 3 is invalid /usr/local/include/gtsam/inference/MetisIndex-inl.h:44:17: error: ‘Key’ does not name a type for(const Key& key: *factors[i]) { ^ /usr/local/include/gtsam/inference/MetisIndex-inl.h:51:5: error: expected ‘;’ before ‘}’ token } ^ /usr/local/include/gtsam/inference/MetisIndex-inl.h:51:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:51:5: error: expected ‘;’ before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:51:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:51:5: error: expected ‘)’ before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:51:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:57:17: error: ‘Key’ does not name a type for(const Key& k1: *factors[i]) ^ /usr/local/include/gtsam/inference/MetisIndex-inl.h:65:5: error: expected ‘;’ before ‘}’ token } ^ /usr/local/include/gtsam/inference/MetisIndex-inl.h:65:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:65:5: error: expected ‘;’ before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:65:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:65:5: error: expected ‘)’ before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:65:5: error: expected primary-expression before ‘}’ token /usr/local/include/gtsam/inference/MetisIndex-inl.h:69:19: error: request for member ‘size’ in ‘keySet’, which is of non-class type ‘int’ nKeys_ = keySet.size(); ^ In file included from /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:26:0, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/inference/Ordering.h: At global scope: /usr/local/include/gtsam/inference/Ordering.h:33:36: error: ‘Key’ was not declared in this scope class Ordering: public std::vector { ^ /usr/local/include/gtsam/inference/Ordering.h:33:39: error: template argument 1 is invalid class Ordering: public std::vector { ^ /usr/local/include/gtsam/inference/Ordering.h:33:39: error: template argument 2 is invalid /usr/local/include/gtsam/inference/Ordering.h:35:23: error: ‘Key’ was not declared in this scope typedef std::vector Base; ^ /usr/local/include/gtsam/inference/Ordering.h:35:26: error: template argument 1 is invalid typedef std::vector Base; ^ /usr/local/include/gtsam/inference/Ordering.h:35:26: error: template argument 2 is invalid /usr/local/include/gtsam/inference/Ordering.h:67:7: error: ‘Key’ has not been declared Key key) { ^ /usr/local/include/gtsam/inference/Ordering.h:73:11: error: ‘Key’ was not declared in this scope FastMap invert() const; ^ /usr/local/include/gtsam/inference/Ordering.h:73:22: error: template argument 1 is invalid FastMap invert() const; ^ /usr/local/include/gtsam/inference/Ordering.h:101:25: error: ‘Key’ was not declared in this scope const std::vector& constrainLast, bool forceOrder = false) { ^ /usr/local/include/gtsam/inference/Ordering.h:101:28: error: template argument 1 is invalid const std::vector& constrainLast, bool forceOrder = false) { ^ /usr/local/include/gtsam/inference/Ordering.h:101:28: error: template argument 2 is invalid /usr/local/include/gtsam/inference/Ordering.h:115:61: error: ‘Key’ was not declared in this scope const VariableIndex& variableIndex, const std::vector& constrainLast ^ /usr/local/include/gtsam/inference/Ordering.h:115:64: error: template argument 1 is invalid const VariableIndex& variableIndex, const std::vector& constrainLast ^ /usr/local/include/gtsam/inference/Ordering.h:115:64: error: template argument 2 is invalid /usr/local/include/gtsam/inference/Ordering.h:128:25: error: ‘Key’ was not declared in this scope const std::vector& constrainFirst, bool forceOrder = false) { ^ /usr/local/include/gtsam/inference/Ordering.h:128:28: error: template argument 1 is invalid const std::vector& constrainFirst, bool forceOrder = false) { ^ /usr/local/include/gtsam/inference/Ordering.h:128:28: error: template argument 2 is invalid /usr/local/include/gtsam/inference/Ordering.h:144:25: error: ‘Key’ was not declared in this scope const std::vector& constrainFirst, bool forceOrder = false); ^ /usr/local/include/gtsam/inference/Ordering.h:144:28: error: template argument 1 is invalid const std::vector& constrainFirst, bool forceOrder = false); ^ /usr/local/include/gtsam/inference/Ordering.h:144:28: error: template argument 2 is invalid /usr/local/include/gtsam/inference/Ordering.h:157:21: error: ‘Key’ was not declared in this scope const FastMap& groups) { ^ /usr/local/include/gtsam/inference/Ordering.h:157:29: error: template argument 1 is invalid const FastMap& groups) { ^ /usr/local/include/gtsam/inference/Ordering.h:172:57: error: ‘Key’ was not declared in this scope const VariableIndex& variableIndex, const FastMap& groups); ^ /usr/local/include/gtsam/inference/Ordering.h:172:65: error: template argument 1 is invalid const VariableIndex& variableIndex, const FastMap& groups); ^ /usr/local/include/gtsam/inference/Ordering.h: In constructor ‘gtsam::Ordering::Ordering(const KEYS&)’: /usr/local/include/gtsam/inference/Ordering.h:55:7: error: ‘typedef int gtsam::Ordering::Base’ is not a non-static data member of ‘gtsam::Ordering’ Base(keys.begin(), keys.end()) { ^ /usr/local/include/gtsam/inference/Ordering.h: In constructor ‘gtsam::Ordering::Ordering(ITERATOR, ITERATOR)’: /usr/local/include/gtsam/inference/Ordering.h:61:7: error: ‘typedef int gtsam::Ordering::Base’ is not a non-static data member of ‘gtsam::Ordering’ Base(firstKey, lastKey) { ^ /usr/local/include/gtsam/inference/Ordering.h: In static member function ‘static gtsam::Ordering gtsam::Ordering::Natural(const gtsam::FactorGraph&)’: /usr/local/include/gtsam/inference/Ordering.h:178:17: error: ‘Key’ was not declared in this scope std::vector keys(src.begin(), src.end()); ^ /usr/local/include/gtsam/inference/Ordering.h:178:20: error: template argument 1 is invalid std::vector keys(src.begin(), src.end()); ^ /usr/local/include/gtsam/inference/Ordering.h:178:20: error: template argument 2 is invalid /usr/local/include/gtsam/inference/Ordering.h:178:31: error: request for member ‘begin’ in ‘src’, which is of non-class type ‘gtsam::KeySet {aka int}’ std::vector keys(src.begin(), src.end()); ^ /usr/local/include/gtsam/inference/Ordering.h:178:44: error: request for member ‘end’ in ‘src’, which is of non-class type ‘gtsam::KeySet {aka int}’ std::vector keys(src.begin(), src.end()); ^ /usr/local/include/gtsam/inference/Ordering.h:178:49: error: expression list treated as compound expression in initializer [-fpermissive] std::vector keys(src.begin(), src.end()); ^ /usr/local/include/gtsam/inference/Ordering.h:179:27: error: request for member ‘begin’ in ‘keys’, which is of non-class type ‘int’ std::stable_sort(keys.begin(), keys.end()); ^ /usr/local/include/gtsam/inference/Ordering.h:179:41: error: request for member ‘end’ in ‘keys’, which is of non-class type ‘int’ std::stable_sort(keys.begin(), keys.end()); ^ In file included from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/inference/EliminateableFactorGraph.h: At global scope: /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:173:25: error: ‘Key’ was not declared in this scope const std::vector& variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:173:28: error: template argument 1 is invalid const std::vector& variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:173:28: error: template argument 2 is invalid /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:193:25: error: ‘Key’ was not declared in this scope const std::vector& variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:193:28: error: template argument 1 is invalid const std::vector& variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:193:28: error: template argument 2 is invalid /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:209:57: error: ‘Key’ was not declared in this scope boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:209:60: error: template argument 1 is invalid boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:209:60: error: template argument 2 is invalid /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:209:62: error: template argument 2 is invalid boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:209:62: error: template argument 2 is invalid /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:209:14: error: ‘boost::variant’ is not a type boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:209:21: error: expected ‘,’ or ‘...’ before ‘<’ token boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:226:57: error: ‘Key’ was not declared in this scope boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:226:60: error: template argument 1 is invalid boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:226:60: error: template argument 2 is invalid /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:226:62: error: template argument 2 is invalid boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:226:62: error: template argument 2 is invalid /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:226:14: error: ‘boost::variant’ is not a type boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:226:21: error: expected ‘,’ or ‘...’ before ‘<’ token boost::variant&> variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:233:25: error: ‘Key’ was not declared in this scope const std::vector& variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:233:28: error: template argument 1 is invalid const std::vector& variables, ^ /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:233:28: error: template argument 2 is invalid In file included from /usr/local/include/gtsam/linear/HessianFactor.h:22:0, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:28, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/Scatter.h:35:3: error: ‘Key’ does not name a type Key key; ^ /usr/local/include/gtsam/linear/Scatter.h:37:17: error: expected ‘)’ before ‘_key’ SlotEntry(Key _key, size_t _dimension) : key(_key), dimension(_dimension) {} ^ /usr/local/include/gtsam/linear/Scatter.h: In function ‘bool gtsam::operator<(const gtsam::SlotEntry&, const gtsam::SlotEntry&)’: /usr/local/include/gtsam/linear/Scatter.h:40:14: error: ‘const struct gtsam::SlotEntry’ has no member named ‘key’ return p.key < q.key; ^ /usr/local/include/gtsam/linear/Scatter.h:40:22: error: ‘const struct gtsam::SlotEntry’ has no member named ‘key’ return p.key < q.key; ^ /usr/local/include/gtsam/linear/Scatter.h: At global scope: /usr/local/include/gtsam/linear/Scatter.h:61:12: error: ‘Key’ has not been declared void add(Key key, size_t dim); ^ /usr/local/include/gtsam/linear/Scatter.h:66:17: error: ‘Key’ has not been declared iterator find(Key key); ^ In file included from /usr/local/include/gtsam/linear/HessianFactor.h:23:0, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:28, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:359:10: error: ‘array’ in namespace ‘std’ does not name a template type std::array calcIndices(DenseIndex iBlock, DenseIndex jBlock, ^ /usr/local/include/gtsam/base/SymmetricBlockMatrix.h: In member function ‘gtsam::DenseIndex gtsam::SymmetricBlockMatrix::getDim(gtsam::DenseIndex) const’: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:129:44: error: ‘calcIndices’ was not declared in this scope return calcIndices(block, block, 1, 1)[2]; ^ /usr/local/include/gtsam/base/SymmetricBlockMatrix.h: In member function ‘void gtsam::SymmetricBlockMatrix::updateDiagonalBlock(gtsam::DenseIndex, const XprType&)’: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:220:12: error: ‘dest’ does not name a type auto dest = block_(I, I); ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:25, from /usr/local/include/gtsam/linear/HessianFactor.h:23, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:28, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:221:7: error: ‘dest’ was not declared in this scope assert(dest.rows() == xpr.rows()); ^ In file included from /usr/local/include/gtsam/linear/HessianFactor.h:23:0, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:28, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h: In member function ‘void gtsam::SymmetricBlockMatrix::invertInPlace()’: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:274:18: error: ‘identity’ does not name a type const auto identity = Matrix::Identity(rows(), rows()); ^ /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:278:22: error: ‘identity’ was not declared in this scope .solve(identity) ^ /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:278:22: note: suggested alternatives: In file included from /usr/include/boost/type_traits/decay.hpp:19:0, from /usr/include/boost/optional/optional.hpp:36, from /usr/include/boost/optional.hpp:15, from /usr/local/include/gtsam/base/OptionalJacobian.h:25, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/boost/mpl/identity.hpp:25:8: note: ‘boost::mpl::identity’ struct identity ^ In file included from /usr/include/boost/move/detail/meta_utils.hpp:24:0, from /usr/include/boost/move/detail/type_traits.hpp:31, from /usr/include/boost/move/core.hpp:54, from /usr/include/boost/move/utility_core.hpp:29, from /usr/include/boost/move/utility.hpp:28, from /usr/include/boost/optional/optional.hpp:48, from /usr/include/boost/optional.hpp:15, from /usr/local/include/gtsam/base/OptionalJacobian.h:25, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/boost/move/detail/meta_utils_core.hpp:95:8: note: ‘boost::move_detail::identity’ struct identity ^ In file included from /usr/include/boost/multi_index/identity.hpp:18:0, from /usr/include/boost/multi_index_container_fwd.hpp:17, from /usr/include/boost/multi_index_container.hpp:31, from /usr/include/boost/bimap/detail/bimap_core.hpp:34, from /usr/include/boost/bimap/bimap.hpp:61, from /usr/include/boost/bimap.hpp:13, from /usr/local/include/gtsam/inference/MetisIndex.h:31, from /usr/local/include/gtsam/inference/Ordering.h:23, from /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:26, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/include/boost/multi_index/identity_fwd.hpp:20:29: note: ‘boost::multi_index::identity’ template struct identity; ^ In file included from /usr/local/include/gtsam/linear/HessianFactor.h:23:0, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:28, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:279:45: error: expected primary-expression before ‘)’ token .triangularView(); ^ /usr/local/include/gtsam/base/SymmetricBlockMatrix.h: In member function ‘gtsam::SymmetricBlockMatrix::constBlock gtsam::SymmetricBlockMatrix::block_(gtsam::DenseIndex, gtsam::DenseIndex, gtsam::DenseIndex, gtsam::DenseIndex) const’: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:335:18: error: ‘array’ in namespace ‘std’ does not name a template type const std::array indices = ^ /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:337:28: error: ‘indices’ was not declared in this scope return matrix_.block(indices[0], indices[1], indices[2], indices[3]); ^ /usr/local/include/gtsam/base/SymmetricBlockMatrix.h: In member function ‘gtsam::SymmetricBlockMatrix::Block gtsam::SymmetricBlockMatrix::block_(gtsam::DenseIndex, gtsam::DenseIndex, gtsam::DenseIndex, gtsam::DenseIndex)’: /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:343:18: error: ‘array’ in namespace ‘std’ does not name a template type const std::array indices = ^ /usr/local/include/gtsam/base/SymmetricBlockMatrix.h:345:28: error: ‘indices’ was not declared in this scope return matrix_.block(indices[0], indices[1], indices[2], indices[3]); ^ In file included from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:28:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/HessianFactor.h: At global scope: /usr/local/include/gtsam/linear/HessianFactor.h:123:23: error: expected ‘)’ before ‘j’ HessianFactor(Key j, const Matrix& G, const Vector& g, double f); ^ /usr/local/include/gtsam/linear/HessianFactor.h:128:23: error: expected ‘)’ before ‘j’ HessianFactor(Key j, const Vector& mu, const Matrix& Sigma); ^ /usr/local/include/gtsam/linear/HessianFactor.h:145:23: error: expected ‘)’ before ‘j1’ HessianFactor(Key j1, Key j2, ^ /usr/local/include/gtsam/linear/HessianFactor.h:153:23: error: expected ‘)’ before ‘j1’ HessianFactor(Key j1, Key j2, Key j3, ^ /usr/local/include/gtsam/linear/HessianFactor.h:162:37: error: ‘Key’ was not declared in this scope HessianFactor(const std::vector& js, const std::vector& Gs, ^ /usr/local/include/gtsam/linear/HessianFactor.h:162:40: error: template argument 1 is invalid HessianFactor(const std::vector& js, const std::vector& Gs, ^ /usr/local/include/gtsam/linear/HessianFactor.h:162:40: error: template argument 2 is invalid /usr/local/include/gtsam/linear/HessianFactor.h:296:22: error: ‘Key’ was not declared in this scope virtual std::map hessianBlockDiagonal() const; ^ /usr/local/include/gtsam/linear/HessianFactor.h:296:32: error: template argument 1 is invalid virtual std::map hessianBlockDiagonal() const; ^ /usr/local/include/gtsam/linear/HessianFactor.h:296:32: error: template argument 3 is invalid /usr/local/include/gtsam/linear/HessianFactor.h:296:32: error: template argument 4 is invalid /usr/local/include/gtsam/linear/HessianFactor.h:313:41: error: ‘Key’ was not declared in this scope void updateHessian(const FastVector& keys, SymmetricBlockMatrix* info) ^ /usr/local/include/gtsam/linear/HessianFactor.h:313:44: error: template argument 1 is invalid void updateHessian(const FastVector& keys, SymmetricBlockMatrix* info) ^ /usr/local/include/gtsam/linear/HessianFactor.h:336:21: error: ‘Key’ has not been declared Vector gradient(Key key, const VectorValues& x) const; ^ /usr/local/include/gtsam/linear/HessianFactor.h: In member function ‘virtual gtsam::DenseIndex gtsam::HessianFactor::getDim(gtsam::Factor::const_iterator) const’: /usr/local/include/gtsam/linear/HessianFactor.h:204:58: error: no matching function for call to ‘distance(gtsam::Factor::const_iterator, gtsam::Factor::const_iterator&)’ return info_.getDim(std::distance(begin(), variable)); ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:66:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/ios:40, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/Dense:1, from /usr/local/include/gtsam/base/OptionalJacobian.h:22, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/c++/5/bits/stl_iterator_base_funcs.h:114:5: note: candidate: template typename std::iterator_traits<_Iterator>::difference_type std::distance(_InputIterator, _InputIterator) distance(_InputIterator __first, _InputIterator __last) ^ /usr/include/c++/5/bits/stl_iterator_base_funcs.h:114:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:28:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/HessianFactor.h: In member function ‘double gtsam::HessianFactor::constantTerm() const’: /usr/local/include/gtsam/linear/HessianFactor.h:224:18: error: ‘view’ does not name a type const auto view = info_.diagonalBlock(size()); ^ /usr/local/include/gtsam/linear/HessianFactor.h:225:23: error: ‘view’ was not declared in this scope return view(0, 0); ^ In file included from /usr/local/include/gtsam/linear/HessianFactor.h:419:0, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:28, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/HessianFactor-inl.h: In constructor ‘gtsam::HessianFactor::HessianFactor(const KEYS&, const gtsam::SymmetricBlockMatrix&)’: /usr/local/include/gtsam/linear/HessianFactor-inl.h:29:32: error: request for member ‘size’ in ‘gtsam::HessianFactor::Base:: keys_’, which is of non-class type ‘int’ if((DenseIndex)Base::keys_.size() != augmentedInformation.nBlocks() - 1) ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h: At global scope: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:112:14: error: ‘Key’ has not been declared void add(Key key1, const Matrix& A1, ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:117:14: error: ‘Key’ has not been declared void add(Key key1, const Matrix& A1, ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:118:9: error: ‘Key’ has not been declared Key key2, const Matrix& A2, ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:123:14: error: ‘Key’ has not been declared void add(Key key1, const Matrix& A1, ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:124:9: error: ‘Key’ has not been declared Key key2, const Matrix& A2, ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:125:9: error: ‘Key’ has not been declared Key key3, const Matrix& A3, ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:142:14: error: ‘Key’ was not declared in this scope std::map getKeyDimMap() const; ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:142:25: error: template argument 1 is invalid std::map getKeyDimMap() const; ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:142:25: error: template argument 3 is invalid /usr/local/include/gtsam/linear/GaussianFactorGraph.h:142:25: error: template argument 4 is invalid /usr/local/include/gtsam/linear/GaussianFactorGraph.h:240:22: error: ‘Key’ was not declared in this scope virtual std::map hessianBlockDiagonal() const; ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:240:32: error: template argument 1 is invalid virtual std::map hessianBlockDiagonal() const; ^ /usr/local/include/gtsam/linear/GaussianFactorGraph.h:240:32: error: template argument 3 is invalid /usr/local/include/gtsam/linear/GaussianFactorGraph.h:240:32: error: template argument 4 is invalid /usr/local/include/gtsam/linear/GaussianFactorGraph.h: In member function ‘void gtsam::GaussianFactorGraph::add(int, const Matrix&, const Vector&, const SharedDiagonal&)’: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:114:41: error: no matching function for call to ‘gtsam::JacobianFactor::JacobianFactor(int&, const Matrix&, const Vector&, const SharedDiagonal&)’ add(JacobianFactor(key1,A1,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:366:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const KEYS&, const DIMENSIONS&, gtsam::DenseIndex, const SharedDiagonal&) JacobianFactor(const KEYS& keys, const DIMENSIONS& dims, DenseIndex m, ^ /usr/local/include/gtsam/linear/JacobianFactor.h:366:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:114:41: note: cannot convert ‘b’ (type ‘const Vector {aka const Eigen::Matrix}’) to type ‘gtsam::DenseIndex {aka long int}’ add(JacobianFactor(key1,A1,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:154:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::GaussianFactorGraph&, boost::optional, boost::optional) explicit JacobianFactor( ^ /usr/local/include/gtsam/linear/JacobianFactor.h:154:14: note: candidate expects 3 arguments, 4 provided /usr/local/include/gtsam/linear/JacobianFactor.h:147:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const KEYS&, const gtsam::VerticalBlockMatrix&, const SharedDiagonal&) JacobianFactor( ^ /usr/local/include/gtsam/linear/JacobianFactor.h:147:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:114:41: note: cannot convert ‘A1’ (type ‘const Matrix {aka const Eigen::Matrix}’) to type ‘const gtsam::VerticalBlockMatrix&’ add(JacobianFactor(key1,A1,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:140:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const TERMS&, const Vector&, const SharedDiagonal&) JacobianFactor(const TERMS& terms, const Vector& b, const SharedDiagonal& m ^ /usr/local/include/gtsam/linear/JacobianFactor.h:140:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:114:41: note: cannot convert ‘b’ (type ‘const Vector {aka const Eigen::Matrix}’) to type ‘const SharedDiagonal& {aka const boost::shared_ptr&}’ add(JacobianFactor(key1,A1,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:120:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const Vector&) explicit JacobianFactor(const Vector& b_in); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:120:14: note: candidate expects 1 argument, 4 provided /usr/local/include/gtsam/linear/JacobianFactor.h:117:5: note: candidate: gtsam::JacobianFactor::JacobianFactor() JacobianFactor(); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:117:5: note: candidate expects 0 arguments, 4 provided /usr/local/include/gtsam/linear/JacobianFactor.h:114:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::HessianFactor&) explicit JacobianFactor(const HessianFactor& hf); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:114:14: note: candidate expects 1 argument, 4 provided /usr/local/include/gtsam/linear/JacobianFactor.h:111:5: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::JacobianFactor&) JacobianFactor(const JacobianFactor& jf) : Base(jf), Ab_(jf.Ab_), model_(jf ^ /usr/local/include/gtsam/linear/JacobianFactor.h:111:5: note: candidate expects 1 argument, 4 provided /usr/local/include/gtsam/linear/JacobianFactor.h:108:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::GaussianFactor&) explicit JacobianFactor(const GaussianFactor& gf); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:108:14: note: candidate expects 1 argument, 4 provided In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h: In member function ‘void gtsam::GaussianFactorGraph::add(int, const Matrix&, int, const Matrix&, const Vector&, const SharedDiagonal&)’: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:120:49: error: no matching function for call to ‘gtsam::JacobianFactor::JacobianFactor(int&, const Matrix&, int&, const Matrix&, const Vector&, const SharedDiagonal&)’ add(JacobianFactor(key1,A1,key2,A2,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:366:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const KEYS&, const DIMENSIONS&, gtsam::DenseIndex, const SharedDiagonal&) JacobianFactor(const KEYS& keys, const DIMENSIONS& dims, DenseIndex m, ^ /usr/local/include/gtsam/linear/JacobianFactor.h:366:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:120:49: note: cannot convert ‘A2’ (type ‘const Matrix {aka const Eigen::Matrix}’) to type ‘const SharedDiagonal& {aka const boost::shared_ptr&}’ add(JacobianFactor(key1,A1,key2,A2,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:154:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::GaussianFactorGraph&, boost::optional, boost::optional) explicit JacobianFactor( ^ /usr/local/include/gtsam/linear/JacobianFactor.h:154:14: note: candidate expects 3 arguments, 6 provided /usr/local/include/gtsam/linear/JacobianFactor.h:147:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const KEYS&, const gtsam::VerticalBlockMatrix&, const SharedDiagonal&) JacobianFactor( ^ /usr/local/include/gtsam/linear/JacobianFactor.h:147:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:120:49: note: cannot convert ‘A1’ (type ‘const Matrix {aka const Eigen::Matrix}’) to type ‘const gtsam::VerticalBlockMatrix&’ add(JacobianFactor(key1,A1,key2,A2,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:140:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const TERMS&, const Vector&, const SharedDiagonal&) JacobianFactor(const TERMS& terms, const Vector& b, const SharedDiagonal& m ^ /usr/local/include/gtsam/linear/JacobianFactor.h:140:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:120:49: note: cannot convert ‘key2’ (type ‘int’) to type ‘const SharedDiagonal& {aka const boost::shared_ptr&}’ add(JacobianFactor(key1,A1,key2,A2,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:120:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const Vector&) explicit JacobianFactor(const Vector& b_in); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:120:14: note: candidate expects 1 argument, 6 provided /usr/local/include/gtsam/linear/JacobianFactor.h:117:5: note: candidate: gtsam::JacobianFactor::JacobianFactor() JacobianFactor(); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:117:5: note: candidate expects 0 arguments, 6 provided /usr/local/include/gtsam/linear/JacobianFactor.h:114:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::HessianFactor&) explicit JacobianFactor(const HessianFactor& hf); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:114:14: note: candidate expects 1 argument, 6 provided /usr/local/include/gtsam/linear/JacobianFactor.h:111:5: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::JacobianFactor&) JacobianFactor(const JacobianFactor& jf) : Base(jf), Ab_(jf.Ab_), model_(jf ^ /usr/local/include/gtsam/linear/JacobianFactor.h:111:5: note: candidate expects 1 argument, 6 provided /usr/local/include/gtsam/linear/JacobianFactor.h:108:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::GaussianFactor&) explicit JacobianFactor(const GaussianFactor& gf); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:108:14: note: candidate expects 1 argument, 6 provided In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h: In member function ‘void gtsam::GaussianFactorGraph::add(int, const Matrix&, int, const Matrix&, int, const Matrix&, const Vector&, const SharedDiagonal&)’: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:127:57: error: no matching function for call to ‘gtsam::JacobianFactor::JacobianFactor(int&, const Matrix&, int&, const Matrix&, int&, const Matrix&, const Vector&, const SharedDiagonal&)’ add(JacobianFactor(key1,A1,key2,A2,key3,A3,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:366:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const KEYS&, const DIMENSIONS&, gtsam::DenseIndex, const SharedDiagonal&) JacobianFactor(const KEYS& keys, const DIMENSIONS& dims, DenseIndex m, ^ /usr/local/include/gtsam/linear/JacobianFactor.h:366:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:127:57: note: cannot convert ‘A2’ (type ‘const Matrix {aka const Eigen::Matrix}’) to type ‘const SharedDiagonal& {aka const boost::shared_ptr&}’ add(JacobianFactor(key1,A1,key2,A2,key3,A3,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:154:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::GaussianFactorGraph&, boost::optional, boost::optional) explicit JacobianFactor( ^ /usr/local/include/gtsam/linear/JacobianFactor.h:154:14: note: candidate expects 3 arguments, 8 provided /usr/local/include/gtsam/linear/JacobianFactor.h:147:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const KEYS&, const gtsam::VerticalBlockMatrix&, const SharedDiagonal&) JacobianFactor( ^ /usr/local/include/gtsam/linear/JacobianFactor.h:147:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:127:57: note: cannot convert ‘A1’ (type ‘const Matrix {aka const Eigen::Matrix}’) to type ‘const gtsam::VerticalBlockMatrix&’ add(JacobianFactor(key1,A1,key2,A2,key3,A3,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:140:5: note: candidate: template gtsam::JacobianFactor::JacobianFactor(const TERMS&, const Vector&, const SharedDiagonal&) JacobianFactor(const TERMS& terms, const Vector& b, const SharedDiagonal& m ^ /usr/local/include/gtsam/linear/JacobianFactor.h:140:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/GaussianFactorGraph.h:127:57: note: cannot convert ‘key2’ (type ‘int’) to type ‘const SharedDiagonal& {aka const boost::shared_ptr&}’ add(JacobianFactor(key1,A1,key2,A2,key3,A3,b,model)); } ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/linear/JacobianFactor.h:120:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const Vector&) explicit JacobianFactor(const Vector& b_in); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:120:14: note: candidate expects 1 argument, 8 provided /usr/local/include/gtsam/linear/JacobianFactor.h:117:5: note: candidate: gtsam::JacobianFactor::JacobianFactor() JacobianFactor(); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:117:5: note: candidate expects 0 arguments, 8 provided /usr/local/include/gtsam/linear/JacobianFactor.h:114:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::HessianFactor&) explicit JacobianFactor(const HessianFactor& hf); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:114:14: note: candidate expects 1 argument, 8 provided /usr/local/include/gtsam/linear/JacobianFactor.h:111:5: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::JacobianFactor&) JacobianFactor(const JacobianFactor& jf) : Base(jf), Ab_(jf.Ab_), model_(jf ^ /usr/local/include/gtsam/linear/JacobianFactor.h:111:5: note: candidate expects 1 argument, 8 provided /usr/local/include/gtsam/linear/JacobianFactor.h:108:14: note: candidate: gtsam::JacobianFactor::JacobianFactor(const gtsam::GaussianFactor&) explicit JacobianFactor(const GaussianFactor& gf); ^ /usr/local/include/gtsam/linear/JacobianFactor.h:108:14: note: candidate expects 1 argument, 8 provided In file included from /usr/local/include/gtsam/linear/ConjugateGradientSolver.h:22:0, from /usr/local/include/gtsam/linear/SubgraphSolver.h:22, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/IterativeSolver.h: At global scope: /usr/local/include/gtsam/linear/IterativeSolver.h:97:38: error: ‘Key’ was not declared in this scope boost::optional&> lambda = boost::none); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:97:49: error: template argument 1 is invalid boost::optional&> lambda = boost::none); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:97:49: error: template argument 3 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:97:49: error: template argument 4 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:97:51: error: template argument 1 is invalid boost::optional&> lambda = boost::none); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:97:51: error: template argument 1 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:97:14: error: ‘boost::optional’ is not a type boost::optional&> lambda = boost::none); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:97:22: error: expected ‘,’ or ‘...’ before ‘<’ token boost::optional&> lambda = boost::none); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:101:22: error: ‘Key’ was not declared in this scope const std::map &lambda); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:101:33: error: template argument 1 is invalid const std::map &lambda); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:101:33: error: template argument 3 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:101:33: error: template argument 4 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:105:46: error: ‘Key’ was not declared in this scope const KeyInfo &keyInfo, const std::map &lambda, ^ /usr/local/include/gtsam/linear/IterativeSolver.h:105:57: error: template argument 1 is invalid const KeyInfo &keyInfo, const std::map &lambda, ^ /usr/local/include/gtsam/linear/IterativeSolver.h:105:57: error: template argument 3 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:105:57: error: template argument 4 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:95:16: error: default argument missing for parameter 3 of ‘gtsam::VectorValues gtsam::IterativeSolver::optimize(const gtsam::GaussianFactorGraph&, boost::optional, int)’ VectorValues optimize(const GaussianFactorGraph &gfg, ^ /usr/local/include/gtsam/linear/IterativeSolver.h:114:54: error: ‘Key’ was not declared in this scope class GTSAM_EXPORT KeyInfoEntry: public boost::tuple { ^ /usr/local/include/gtsam/linear/IterativeSolver.h:114:67: error: ‘Key’ was not declared in this scope class GTSAM_EXPORT KeyInfoEntry: public boost::tuple { ^ /usr/local/include/gtsam/linear/IterativeSolver.h:114:70: error: template argument 1 is invalid class GTSAM_EXPORT KeyInfoEntry: public boost::tuple { ^ /usr/local/include/gtsam/linear/IterativeSolver.h:114:70: error: template argument 3 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:118:24: error: ‘Key’ was not declared in this scope typedef boost::tuple Base; ^ /usr/local/include/gtsam/linear/IterativeSolver.h:118:37: error: ‘Key’ was not declared in this scope typedef boost::tuple Base; ^ /usr/local/include/gtsam/linear/IterativeSolver.h:118:40: error: template argument 1 is invalid typedef boost::tuple Base; ^ /usr/local/include/gtsam/linear/IterativeSolver.h:118:40: error: template argument 3 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:122:38: error: ‘Key’ has not been declared KeyInfoEntry(size_t idx, size_t d, Key start) : ^ /usr/local/include/gtsam/linear/IterativeSolver.h: In constructor ‘gtsam::KeyInfoEntry::KeyInfoEntry(std::size_t, std::size_t, int)’: /usr/local/include/gtsam/linear/IterativeSolver.h:123:7: error: ‘typedef int gtsam::KeyInfoEntry::Base’ is not a non-static data member of ‘gtsam::KeyInfoEntry’ Base(idx, d, start) { ^ /usr/local/include/gtsam/linear/IterativeSolver.h: In member function ‘std::size_t gtsam::KeyInfoEntry::index() const’: /usr/local/include/gtsam/linear/IterativeSolver.h:126:18: error: ‘const class gtsam::KeyInfoEntry’ has no member named ‘get’ return this->get<0>(); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:126:25: error: expected primary-expression before ‘)’ token return this->get<0>(); ^ /usr/local/include/gtsam/linear/IterativeSolver.h: In member function ‘std::size_t gtsam::KeyInfoEntry::dim() const’: /usr/local/include/gtsam/linear/IterativeSolver.h:129:18: error: ‘const class gtsam::KeyInfoEntry’ has no member named ‘get’ return this->get<1>(); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:129:25: error: expected primary-expression before ‘)’ token return this->get<1>(); ^ /usr/local/include/gtsam/linear/IterativeSolver.h: In member function ‘std::size_t gtsam::KeyInfoEntry::colstart() const’: /usr/local/include/gtsam/linear/IterativeSolver.h:132:18: error: ‘const class gtsam::KeyInfoEntry’ has no member named ‘get’ return this->get<2>(); ^ /usr/local/include/gtsam/linear/IterativeSolver.h:132:25: error: expected primary-expression before ‘)’ token return this->get<2>(); ^ /usr/local/include/gtsam/linear/IterativeSolver.h: At global scope: /usr/local/include/gtsam/linear/IterativeSolver.h:139:45: error: ‘Key’ was not declared in this scope class GTSAM_EXPORT KeyInfo: public std::map { ^ /usr/local/include/gtsam/linear/IterativeSolver.h:139:62: error: template argument 1 is invalid class GTSAM_EXPORT KeyInfo: public std::map { ^ /usr/local/include/gtsam/linear/IterativeSolver.h:139:62: error: template argument 3 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:139:62: error: template argument 4 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:143:20: error: ‘Key’ was not declared in this scope typedef std::map Base; ^ /usr/local/include/gtsam/linear/IterativeSolver.h:143:37: error: template argument 1 is invalid typedef std::map Base; ^ /usr/local/include/gtsam/linear/IterativeSolver.h:143:37: error: template argument 3 is invalid /usr/local/include/gtsam/linear/IterativeSolver.h:143:37: error: template argument 4 is invalid In file included from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:25:0, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/SubgraphSolver.h:120:46: error: ‘Key’ was not declared in this scope const KeyInfo &keyInfo, const std::map &lambda, ^ /usr/local/include/gtsam/linear/SubgraphSolver.h:120:57: error: template argument 1 is invalid const KeyInfo &keyInfo, const std::map &lambda, ^ /usr/local/include/gtsam/linear/SubgraphSolver.h:120:57: error: template argument 3 is invalid /usr/local/include/gtsam/linear/SubgraphSolver.h:120:57: error: template argument 4 is invalid In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:80:8: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type std::unique_ptr state_; ///< PIMPL'd state ^ /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:147:27: error: ‘std::unique_ptr’ has not been declared std::unique_ptr state); ^ /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:147:37: error: expected ‘,’ or ‘...’ before ‘<’ token std::unique_ptr state); ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h:93:27: error: ‘Key’ was not declared in this scope typedef ConcurrentMap Values; ///< Typedef for the collection ^ /usr/local/include/gtsam/linear/VectorValues.h:93:38: error: template argument 1 is invalid typedef ConcurrentMap Values; ///< Typedef for the collection ^ /usr/local/include/gtsam/linear/VectorValues.h:97:21: error: typedef name may not be a nested-name-specifier typedef Values::iterator iterator; ///< Iterator over vector values ^ /usr/local/include/gtsam/linear/VectorValues.h:97:21: error: expected ‘;’ at end of member declaration /usr/local/include/gtsam/linear/VectorValues.h:97:30: error: declaration does not declare anything [-fpermissive] typedef Values::iterator iterator; ///< Iterator over vector values ^ /usr/local/include/gtsam/linear/VectorValues.h:98:21: error: typedef name may not be a nested-name-specifier typedef Values::const_iterator const_iterator; ///< Const iterator over vec ^ /usr/local/include/gtsam/linear/VectorValues.h:98:21: error: expected ‘;’ at end of member declaration /usr/local/include/gtsam/linear/VectorValues.h:98:36: error: declaration does not declare anything [-fpermissive] typedef Values::const_iterator const_iterator; ///< Const iterator over vec ^ /usr/local/include/gtsam/linear/VectorValues.h:102:21: error: typedef name may not be a nested-name-specifier typedef Values::value_type value_type; ///< Typedef to pair, a ^ /usr/local/include/gtsam/linear/VectorValues.h:102:21: error: expected ‘;’ at end of member declaration /usr/local/include/gtsam/linear/VectorValues.h:102:32: error: declaration does not declare anything [-fpermissive] typedef Values::value_type value_type; ///< Typedef to pair, a ^ /usr/local/include/gtsam/linear/VectorValues.h:104:22: error: ‘Key’ was not declared in this scope typedef std::map Dims; ^ /usr/local/include/gtsam/linear/VectorValues.h:104:32: error: template argument 1 is invalid typedef std::map Dims; ^ /usr/local/include/gtsam/linear/VectorValues.h:104:32: error: template argument 3 is invalid /usr/local/include/gtsam/linear/VectorValues.h:104:32: error: template argument 4 is invalid /usr/local/include/gtsam/linear/VectorValues.h:145:16: error: ‘Key’ has not been declared size_t dim(Key j) const { return at(j).rows(); } ^ /usr/local/include/gtsam/linear/VectorValues.h:148:17: error: ‘Key’ has not been declared bool exists(Key j) const { return find(j) != end(); } ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h:151:13: error: expected ‘;’ at end of member declaration Vector& at(Key j) { ^ /usr/local/include/gtsam/linear/VectorValues.h:151:20: error: expected ‘)’ before ‘j’ Vector& at(Key j) { ^ /usr/local/include/gtsam/linear/VectorValues.h:161:19: error: expected ‘;’ at end of member declaration const Vector& at(Key j) const { ^ /usr/local/include/gtsam/linear/VectorValues.h:161:22: error: redeclaration of ‘const Vector& gtsam::VectorValues::at’ const Vector& at(Key j) const { ^ /usr/local/include/gtsam/linear/VectorValues.h:151:16: note: previous declaration ‘gtsam::Vector& gtsam::VectorValues::at’ Vector& at(Key j) { ^ /usr/local/include/gtsam/linear/VectorValues.h:161:26: error: expected ‘)’ before ‘j’ const Vector& at(Key j) const { ^ /usr/local/include/gtsam/linear/VectorValues.h:172:24: error: declaration of ‘operator[]’ as non-function Vector& operator[](Key j) { return at(j); } ^ /usr/local/include/gtsam/linear/VectorValues.h:172:22: error: expected ‘;’ at end of member declaration Vector& operator[](Key j) { return at(j); } ^ /usr/local/include/gtsam/linear/VectorValues.h:172:28: error: expected ‘)’ before ‘j’ Vector& operator[](Key j) { return at(j); } ^ /usr/local/include/gtsam/linear/VectorValues.h:176:30: error: declaration of ‘operator[]’ as non-function const Vector& operator[](Key j) const { return at(j); } ^ /usr/local/include/gtsam/linear/VectorValues.h:176:28: error: expected ‘;’ at end of member declaration const Vector& operator[](Key j) const { return at(j); } ^ /usr/local/include/gtsam/linear/VectorValues.h:176:34: error: expected ‘)’ before ‘j’ const Vector& operator[](Key j) const { return at(j); } ^ /usr/local/include/gtsam/linear/VectorValues.h:187:21: error: ‘Key’ has not been declared iterator insert(Key j, const Vector& value) { ^ /usr/local/include/gtsam/linear/VectorValues.h:195:37: error: ‘Key’ was not declared in this scope iterator insert(const std::pair& key_value); ^ /usr/local/include/gtsam/linear/VectorValues.h:195:48: error: template argument 1 is invalid iterator insert(const std::pair& key_value); ^ /usr/local/include/gtsam/linear/VectorValues.h:205:29: error: template argument 1 is invalid std::pair tryInsert(Key j, const Vector& value) { ^ /usr/local/include/gtsam/linear/VectorValues.h:205:41: error: ‘Key’ has not been declared std::pair tryInsert(Key j, const Vector& value) { ^ /usr/local/include/gtsam/linear/VectorValues.h:209:16: error: ‘Key’ has not been declared void erase(Key var) { ^ /usr/local/include/gtsam/linear/VectorValues.h:227:19: error: ‘Key’ has not been declared iterator find(Key j) { return values_.find(j); } ^ /usr/local/include/gtsam/linear/VectorValues.h:230:25: error: ‘Key’ has not been declared const_iterator find(Key j) const { return values_.find(j); } ^ /usr/local/include/gtsam/linear/VectorValues.h:247:36: error: ‘Key’ was not declared in this scope Vector vector(const FastVector& keys) const; ^ /usr/local/include/gtsam/linear/VectorValues.h:247:39: error: template argument 1 is invalid Vector vector(const FastVector& keys) const; ^ /usr/local/include/gtsam/linear/VectorValues.h:250:12: error: ‘gtsam::Vector gtsam::VectorValues::vector(const Dims&) const’ cannot be overloaded Vector vector(const Dims& dims) const; ^ /usr/local/include/gtsam/linear/VectorValues.h:247:12: error: with ‘gtsam::Vector gtsam::VectorValues::vector(const int&) const’ Vector vector(const FastVector& keys) const; ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h: In constructor ‘gtsam::VectorValues::VectorValues()’: /usr/local/include/gtsam/linear/VectorValues.h:112:5: error: uninitialized reference member in ‘gtsam::Vector& {aka class Eigen::Matrix&}’ [-fpermissive] VectorValues() {} ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h:151:16: note: ‘gtsam::Vector& gtsam::VectorValues::at’ should be initialized Vector& at(Key j) { ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h: In copy constructor ‘gtsam::VectorValues::VectorValues(const gtsam::VectorValues&)’: /usr/local/include/gtsam/linear/VectorValues.h:122:5: error: uninitialized reference member in ‘gtsam::Vector& {aka class Eigen::Matrix&}’ [-fpermissive] VectorValues(const VectorValues& c) : values_(c.values_) {} ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h:151:16: note: ‘gtsam::Vector& gtsam::VectorValues::at’ should be initialized Vector& at(Key j) { ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h: In member function ‘std::size_t gtsam::VectorValues::size() const’: /usr/local/include/gtsam/linear/VectorValues.h:142:42: error: request for member ‘size’ in ‘((const gtsam::VectorValues*)this)->gtsam::VectorValues::values_’, which is of non-class type ‘const Values {aka const int}’ size_t size() const { return values_.size(); } ^ /usr/local/include/gtsam/linear/VectorValues.h: In member function ‘std::size_t gtsam::VectorValues::dim(int) const’: /usr/local/include/gtsam/linear/VectorValues.h:145:44: error: request for member ‘rows’ in ‘((Eigen::DenseCoeffsBase, 1>*)((Eigen::DenseBase >*)(&((const gtsam::VectorValues*)this)->gtsam::VectorValues::at)))->Eigen::DenseCoeffsBase::operator() >(((Eigen::Index)j))’, which is of non-class type ‘Eigen::DenseCoeffsBase, 1>::Scalar {aka double}’ size_t dim(Key j) const { return at(j).rows(); } ^ /usr/local/include/gtsam/linear/VectorValues.h: In member function ‘bool gtsam::VectorValues::exists(int) const’: /usr/local/include/gtsam/linear/VectorValues.h:148:45: error: ‘find’ was not declared in this scope bool exists(Key j) const { return find(j) != end(); } ^ /usr/local/include/gtsam/linear/VectorValues.h:148:45: note: suggested alternatives: In file included from /usr/include/c++/5/algorithm:62:0, from /usr/include/eigen3/Eigen/Core:232, from /usr/include/eigen3/Eigen/Dense:1, from /usr/local/include/gtsam/base/OptionalJacobian.h:22, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/c++/5/bits/stl_algo.h:3782:5: note: ‘std::find’ find(_InputIterator __first, _InputIterator __last, ^ In file included from /usr/include/boost/mpl/aux_/contains_impl.hpp:20:0, from /usr/include/boost/mpl/contains.hpp:20, from /usr/include/boost/math/policies/policy.hpp:10, from /usr/include/boost/math/special_functions/math_fwd.hpp:28, from /usr/include/boost/math/special_functions/fpclassify.hpp:19, from /usr/local/include/gtsam/base/Matrix.h:36, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/boost/mpl/find.hpp:28:8: note: ‘boost::mpl::find’ struct find ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h:148:54: error: ‘end’ was not declared in this scope bool exists(Key j) const { return find(j) != end(); } ^ /usr/local/include/gtsam/linear/VectorValues.h:148:54: note: suggested alternatives: In file included from /usr/include/boost/range/concepts.hpp:22:0, from /usr/local/include/gtsam/base/types.h:24, from /usr/local/include/gtsam/global_includes.h:22, from /usr/local/include/gtsam/base/Vector.h:27, from /usr/local/include/gtsam/base/Matrix.h:26, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/boost/range/end.hpp:100:61: note: ‘boost::range_adl_barrier::end’ inline BOOST_DEDUCED_TYPENAME range_iterator::type end( const T& r ) ^ In file included from /usr/include/boost/mpl/list/aux_/begin_end.hpp:17:0, from /usr/include/boost/mpl/list/list0.hpp:27, from /usr/include/boost/mpl/list/list10.hpp:18, from /usr/include/boost/mpl/list/list20.hpp:18, from /usr/include/boost/mpl/list.hpp:36, from /usr/include/boost/math/policies/policy.hpp:9, from /usr/include/boost/math/special_functions/math_fwd.hpp:28, from /usr/include/boost/math/special_functions/fpclassify.hpp:19, from /usr/local/include/gtsam/base/Matrix.h:36, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/boost/mpl/begin_end_fwd.hpp:23:38: note: ‘boost::mpl::end’ template< typename Sequence > struct end; ^ In file included from /usr/include/boost/range/concepts.hpp:22:0, from /usr/local/include/gtsam/base/types.h:24, from /usr/local/include/gtsam/global_includes.h:22, from /usr/local/include/gtsam/base/Vector.h:27, from /usr/local/include/gtsam/base/Matrix.h:26, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/boost/range/end.hpp:100:61: note: ‘boost::range_adl_barrier::end’ inline BOOST_DEDUCED_TYPENAME range_iterator::type end( const T& r ) ^ In file included from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:25:0, from SimpleRotation.cpp:53: /usr/local/include/gtsam/linear/VectorValues.h: In member function ‘int gtsam::VectorValues::tryInsert(int, const Vector&)’: /usr/local/include/gtsam/linear/VectorValues.h:206:22: error: request for member ‘insert’ in ‘((gtsam::VectorValues*)this)->gtsam::VectorValues::values_’, which is of non-class type ‘gtsam::VectorValues::Values {aka int}’ return values_.insert(std::make_pair(j, value)); } ^ /usr/local/include/gtsam/linear/VectorValues.h: In member function ‘void gtsam::VectorValues::erase(int)’: /usr/local/include/gtsam/linear/VectorValues.h:210:18: error: request for member ‘unsafe_erase’ in ‘((gtsam::VectorValues*)this)->gtsam::VectorValues::values_’, which is of non-class type ‘gtsam::VectorValues::Values {aka int}’ if(values_.unsafe_erase(var) == 0) ^ /usr/local/include/gtsam/linear/VectorValues.h:211:85: error: ‘gtsam::DefaultKeyFormatter’ cannot be used as a function d::invalid_argument("Requested variable '" + DefaultKeyFormatter(var) + "', is ^ SimpleRotation.cpp: In function ‘int main()’: SimpleRotation.cpp:81:45: error: no matching function for call to ‘gtsam::PriorFactor::PriorFactor(gtsam::Symbol&, gtsam::Rot2&, gtsam::noiseModel::Isotropic::shared_ptr&)’ PriorFactor factor(key, prior, model); ^ In file included from SimpleRotation.cpp:36:0: /usr/local/include/gtsam/slam/PriorFactor.h:51:5: note: candidate: gtsam::PriorFactor::PriorFactor() [with VALUE = gtsam::Rot2] PriorFactor() {} ^ /usr/local/include/gtsam/slam/PriorFactor.h:51:5: note: candidate expects 0 arguments, 3 provided /usr/local/include/gtsam/slam/PriorFactor.h:28:9: note: candidate: gtsam::PriorFactor::PriorFactor(const gtsam::PriorFactor&) class PriorFactor: public NoiseModelFactor1 { ^ /usr/local/include/gtsam/slam/PriorFactor.h:28:9: note: candidate expects 1 argument, 3 provided SimpleRotation.cpp:93:25: error: no matching function for call to ‘gtsam::NonlinearFactorGraph::push_back(gtsam::PriorFactor&)’ graph.push_back(factor); ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:26:0, from SimpleRotation.cpp:40: /usr/local/include/gtsam/inference/FactorGraph.h:160:10: note: candidate: void gtsam::FactorGraph::push_back(const sharedFactor&) [with FACTOR = gtsam::NonlinearFactor; gtsam::FactorGraph::sharedFactor = boost::shared_ptr] void push_back(const sharedFactor& factor) { ^ /usr/local/include/gtsam/inference/FactorGraph.h:160:10: note: no known conversion for argument 1 from ‘gtsam::PriorFactor’ to ‘const sharedFactor& {aka const boost::shared_ptr&}’ SimpleRotation.cpp:113:51: error: no matching function for call to ‘gtsam::Values::insert(gtsam::Symbol&, gtsam::Rot2)’ initial.insert(key, Rot2::fromAngle(20 * degree)); ^ In file included from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23:0, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values.h:254:10: note: candidate: void gtsam::Values::insert(int, const gtsam::Value&) void insert(Key j, const Value& val); ^ /usr/local/include/gtsam/nonlinear/Values.h:254:10: note: no known conversion for argument 1 from ‘gtsam::Symbol’ to ‘int’ /usr/local/include/gtsam/nonlinear/Values.h:257:10: note: candidate: void gtsam::Values::insert(const gtsam::Values&) void insert(const Values& values); ^ /usr/local/include/gtsam/nonlinear/Values.h:257:10: note: candidate expects 1 argument, 2 provided /usr/local/include/gtsam/nonlinear/Values.h:263:10: note: candidate: template void gtsam::Values::insert(int, const ValueType&) void insert(Key j, const ValueType& val); ^ /usr/local/include/gtsam/nonlinear/Values.h:263:10: note: template argument deduction/substitution failed: SimpleRotation.cpp:113:51: note: cannot convert ‘key’ (type ‘gtsam::Symbol’) to type ‘int’ initial.insert(key, Rot2::fromAngle(20 * degree)); ^ In file included from /usr/include/c++/5/algorithm:62:0, from /usr/include/eigen3/Eigen/Core:232, from /usr/include/eigen3/Eigen/Dense:1, from /usr/local/include/gtsam/base/OptionalJacobian.h:22, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/c++/5/bits/stl_algo.h: In instantiation of ‘_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = int; _Predicate = __gnu_cxx::__ops::_Iter_equals_val]’: /usr/include/c++/5/bits/stl_algo.h:3790:28: required from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = int; _Tp = int]’ /usr/local/include/gtsam/inference/Factor.h:112:78: required from here /usr/include/c++/5/bits/stl_algo.h:162:34: error: no matching function for call to ‘__iterator_category(int&)’ std::__iterator_category(__first)); ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:65:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/ios:40, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/Dense:1, from /usr/local/include/gtsam/base/OptionalJacobian.h:22, from /usr/local/include/gtsam/base/Matrix.h:25, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /usr/local/include/gtsam/base/VectorSpace.h:11, from /usr/local/include/gtsam/geometry/Point2.h:20, from /usr/local/include/gtsam/geometry/Rot2.h:21, from SimpleRotation.cpp:26: /usr/include/c++/5/bits/stl_iterator_base_types.h:204:5: note: candidate: template typename std::iterator_traits<_Iterator>::iterator_category std::__iterator_category(const _Iter&) __iterator_category(const _Iter&) ^ /usr/include/c++/5/bits/stl_iterator_base_types.h:204:5: note: template argument deduction/substitution failed: In file included from /usr/local/include/gtsam/linear/GaussianFactor.h:23:0, from /usr/local/include/gtsam/linear/JacobianFactor.h:21, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:25, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/inference/Factor.h: In instantiation of ‘gtsam::Factor::Factor(const CONTAINER&) [with CONTAINER = gtsam::JacobianFactor]’: /usr/local/include/gtsam/linear/GaussianFactor.h:51:54: required from ‘gtsam::GaussianFactor::GaussianFactor(const CONTAINER&) [with CONTAINER = gtsam::JacobianFactor]’ /usr/local/include/gtsam/linear/JacobianFactor.h:111:87: required from here /usr/local/include/gtsam/inference/Factor.h:80:76: error: expression list treated as compound expression in mem-initializer [-fpermissive] explicit Factor(const CONTAINER& keys) : keys_(keys.begin(), keys.end()) {} ^ In file included from /usr/local/include/gtsam/inference/FactorGraph.h:30:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:26, from SimpleRotation.cpp:40: /usr/include/boost/assign/list_inserter.hpp: In instantiation of ‘void boost::assign_detail::call_push_back::operator()(T) [with T = int; C = gtsam::Ordering]’: /usr/include/boost/assign/list_inserter.hpp:272:13: required from ‘boost::assign::list_inserter& boost::assign::list_inserter::operator()(const T&) [with T = int; Function = boost::assign_detail::call_push_back; Argument = boost::assign_detail::forward_n_arguments]’ /usr/local/include/gtsam/inference/Ordering.h:69:63: required from here /usr/include/boost/assign/list_inserter.hpp:68:13: error: ‘class gtsam::Ordering’ has no member named ‘push_back’ c_.push_back( r ); ^ In file included from /usr/local/include/gtsam/nonlinear/Values.h:532:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/local/include/gtsam/nonlinear/Values-inl.h: In instantiation of ‘static CastedKeyValuePairType gtsam::ValuesCastHelper::cast(KeyValuePairType) [with CastedKeyValuePairType = gtsam::_ValuesKeyValuePair; KeyValuePairType = gtsam::Values::KeyValuePair]’: /usr/local/include/gtsam/nonlinear/Values-inl.h:141:17: required from ‘gtsam::Values::Filtered::Filtered(const boost::function&, gtsam::Values&) [with ValueType = gtsam::Value]’ /usr/local/include/gtsam/nonlinear/Values-inl.h:246:91: required from ‘gtsam::Values::Filtered gtsam::Values::filter(const int&) [with ValueType = gtsam::Value]’ /usr/local/include/gtsam/nonlinear/Values-inl.h:239:35: required from here /usr/local/include/gtsam/nonlinear/Values-inl.h:78:67: error: ‘struct gtsam::Values::KeyValuePair’ has no member named ‘key’ return CastedKeyValuePairType(key_value.key, key_value.value); ^ /usr/local/include/gtsam/nonlinear/Values-inl.h: In instantiation of ‘static CastedKeyValuePairType gtsam::ValuesCastHelper::cast(KeyValuePairType) [with CastedKeyValuePairType = gtsam::_ValuesConstKeyValuePair; KeyValuePairType = gtsam::Values::ConstKeyValuePair]’: /usr/local/include/gtsam/nonlinear/Values-inl.h:149:17: required from ‘gtsam::Values::Filtered::Filtered(const boost::function&, gtsam::Values&) [with ValueType = gtsam::Value]’ /usr/local/include/gtsam/nonlinear/Values-inl.h:246:91: required from ‘gtsam::Values::Filtered gtsam::Values::filter(const int&) [with ValueType = gtsam::Value]’ /usr/local/include/gtsam/nonlinear/Values-inl.h:239:35: required from here /usr/local/include/gtsam/nonlinear/Values-inl.h:88:67: error: ‘struct gtsam::Values::ConstKeyValuePair’ has no member named ‘key’ return CastedKeyValuePairType(key_value.key, key_value.value); ^ In file included from /usr/local/include/gtsam/inference/Ordering.h:22:0, from /usr/local/include/gtsam/inference/EliminateableFactorGraph.h:26, from /usr/local/include/gtsam/linear/GaussianFactorGraph.h:25, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizerParams.h:24, from /usr/local/include/gtsam/nonlinear/NonlinearOptimizer.h:22, from /usr/local/include/gtsam/nonlinear/LevenbergMarquardtOptimizer.h:23, from SimpleRotation.cpp:53: /usr/local/include/gtsam/inference/VariableIndex.h: In instantiation of ‘gtsam::VariableIndex::VariableIndex(const FG&) [with FG = gtsam::FactorGraph]’: /usr/local/include/gtsam/inference/Ordering.h:85:20: required from ‘static gtsam::Ordering gtsam::Ordering::Colamd(const gtsam::FactorGraph&) [with FACTOR = gtsam::NonlinearFactor]’ /usr/local/include/gtsam/inference/Ordering.h:208:20: required from ‘static gtsam::Ordering gtsam::Ordering::Create(gtsam::Ordering::OrderingType, const gtsam::FactorGraph&) [with FACTOR = gtsam::NonlinearFactor]’ /usr/local/include/gtsam/nonlinear/LevenbergMarquardtParams.h:112:68: required from here /usr/local/include/gtsam/inference/VariableIndex.h:74:3: error: uninitialized reference member in ‘const Factors& {aka const class gtsam::FastVector&}’ [-fpermissive] VariableIndex(const FG& factorGraph) : nFactors_(0), nEntries_(0) { augment(f ^ /usr/local/include/gtsam/inference/VariableIndex.h:164:29: note: ‘const Factors& gtsam::VariableIndex::internalAt’ should be initialized const Factors& internalAt(Key variable) const { ^ In file included from /usr/local/include/gtsam/inference/FactorGraph.h:368:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactorGraph.h:26, from SimpleRotation.cpp:40: /usr/local/include/gtsam/inference/FactorGraph-inst.h: In instantiation of ‘gtsam::KeySet gtsam::FactorGraph::keys() const [with FACTOR = gtsam::NonlinearFactor; gtsam::KeySet = int]’: /usr/local/include/gtsam/inference/Ordering.h:177:26: required from ‘static gtsam::Ordering gtsam::Ordering::Natural(const gtsam::FactorGraph&) [with FACTOR = gtsam::NonlinearFactor]’ /usr/local/include/gtsam/inference/Ordering.h:212:21: required from ‘static gtsam::Ordering gtsam::Ordering::Create(gtsam::Ordering::OrderingType, const gtsam::FactorGraph&) [with FACTOR = gtsam::NonlinearFactor]’ /usr/local/include/gtsam/nonlinear/LevenbergMarquardtParams.h:112:68: required from here /usr/local/include/gtsam/inference/FactorGraph-inst.h:78:7: error: use of local variable with automatic storage from containing function if(factor) ^ /usr/local/include/gtsam/inference/FactorGraph-inst.h:77:29: note: ‘const sharedFactor& factor’ declared here for(const sharedFactor& factor: this->factors_) { ^ In file included from /usr/local/include/gtsam/nonlinear/Values.h:31:0, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:23, from /usr/local/include/gtsam/slam/PriorFactor.h:18, from SimpleRotation.cpp:36: /usr/include/boost/iterator/filter_iterator.hpp: In instantiation of ‘void boost::iterators::filter_iterator::satisfy_predicate() [with Predicate = boost::function; Iterator = int]’: /usr/include/boost/iterator/filter_iterator.hpp:60:28: required from ‘boost::iterators::filter_iterator::filter_iterator(Predicate, Iterator, Iterator) [with Predicate = boost::function; Iterator = int]’ /usr/include/boost/iterator/filter_iterator.hpp:115:57: required from ‘boost::iterators::filter_iterator boost::iterators::make_filter_iterator(Predicate, Iterator, Iterator) [with Predicate = boost::function; Iterator = int]’ /usr/local/include/gtsam/nonlinear/Values-inl.h:140:44: required from ‘gtsam::Values::Filtered::Filtered(const boost::function&, gtsam::Values&) [with ValueType = gtsam::Value]’ /usr/local/include/gtsam/nonlinear/Values-inl.h:246:91: required from ‘gtsam::Values::Filtered gtsam::Values::filter(const int&) [with ValueType = gtsam::Value]’ /usr/local/include/gtsam/nonlinear/Values-inl.h:239:35: required from here /usr/include/boost/iterator/filter_iterator.hpp:101:31: error: ‘class boost::iterators::filter_iterator, int>’ has no member named ‘base’ while (this->base() != this->m_end && !this->m_predicate(*this->base( ^ /usr/include/boost/iterator/filter_iterator.hpp:101:68: error: ‘class boost::iterators::filter_iterator, int>’ has no member named ‘base’ while (this->base() != this->m_end && !this->m_predicate(*this->base( ^ /usr/include/boost/iterator/filter_iterator.hpp:102:15: error: ‘class boost::iterators::filter_iterator, int>’ has no member named ‘base_reference’ ++(this->base_reference()); ^ In file included from SimpleRotation.cpp:36:0: /usr/local/include/gtsam/slam/PriorFactor.h: In instantiation of ‘void gtsam::PriorFactor::print(const string&, const KeyFormatter&) const [with VALUE = gtsam::Rot2; std::__cxx11::string = std::__cxx11::basic_string; gtsam::KeyFormatter = int]’: SimpleRotation.cpp:128:1: required from here /usr/local/include/gtsam/slam/PriorFactor.h:74:58: error: ‘const class gtsam::PriorFactor’ has no member named ‘key’ std::cout << s << "PriorFactor on " << keyFormatter(this->key()) << "\n"; ^ /usr/local/include/gtsam/slam/PriorFactor.h:74:58: error: expression cannot be used as a function : recipe for target 'SimpleRotation' failed make: *** [SimpleRotation] Error 1