Consolidate compiler generated dependencies of target ceres_internal [ 78%] Built target ceres_internal Consolidate compiler generated dependencies of target ceres [ 83%] Built target ceres [ 83%] Building CXX object CMakeFiles/PyCeres.dir/ceres_python_bindings/python_bindings/python_module.cpp.o /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘ceres::Problem CreatePythonProblem()’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:60:16: warning: no previous declaration for ‘ceres::Problem CreatePythonProblem()’ [-Wmissing-declarations] ceres::Problem CreatePythonProblem() { ^~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:62:5: error: ‘struct ceres::Problem::Options’ has no member named ‘local_parameterization_ownership’; did you mean ‘loss_function_ownership’? o.local_parameterization_ownership = ceres::Ownership::DO_NOT_TAKE_OWNERSHIP; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ loss_function_ownership /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘ceres::Problem::Options CreateNoOwnershipOption()’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:70:25: warning: no previous declaration for ‘ceres::Problem::Options CreateNoOwnershipOption()’ [-Wmissing-declarations] ceres::Problem::Options CreateNoOwnershipOption() { ^~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:72:5: error: ‘struct ceres::Problem::Options’ has no member named ‘local_parameterization_ownership’; did you mean ‘loss_function_ownership’? o.local_parameterization_ownership = ceres::Ownership::DO_NOT_TAKE_OWNERSHIP; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ loss_function_ownership /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: At global scope: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:174:47: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ class PyLocalParameterization : public ceres::LocalParameterization { ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:176:39: error: type ‘ceres::LocalParameterization’ is not a base type for type ‘PyLocalParameterization’ using ceres::LocalParameterization::LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:196:7: error: ‘int PyLocalParameterization::GlobalSize() const’ marked ‘override’, but does not override int GlobalSize() const override { ^~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:205:7: error: ‘int PyLocalParameterization::LocalSize() const’ marked ‘override’, but does not override int LocalSize() const override { ^~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In member function ‘int PyLocalParameterization::GlobalSize() const’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2103:93: error: invalid static_cast from type ‘const PyLocalParameterization*’ to type ‘const ceres::LocalParameterization*’ pybind11::function overload = pybind11::get_overload(static_cast(this), name); \ ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2140:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_INT’ PYBIND11_OVERLOAD_INT(PYBIND11_TYPE(ret_type), PYBIND11_TYPE(cname), name, __VA_ARGS__) \ ^~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2175:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_PURE_NAME’ PYBIND11_OVERLOAD_PURE_NAME(PYBIND11_TYPE(ret_type), PYBIND11_TYPE(cname), #fn, fn, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:197:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_PURE’ PYBIND11_OVERLOAD_PURE( ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In member function ‘int PyLocalParameterization::LocalSize() const’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2103:93: error: invalid static_cast from type ‘const PyLocalParameterization*’ to type ‘const ceres::LocalParameterization*’ pybind11::function overload = pybind11::get_overload(static_cast(this), name); \ ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2140:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_INT’ PYBIND11_OVERLOAD_INT(PYBIND11_TYPE(ret_type), PYBIND11_TYPE(cname), name, __VA_ARGS__) \ ^~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2175:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_PURE_NAME’ PYBIND11_OVERLOAD_PURE_NAME(PYBIND11_TYPE(ret_type), PYBIND11_TYPE(cname), #fn, fn, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:206:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_PURE’ PYBIND11_OVERLOAD_PURE( ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘double* ParseNumpyData(pybind11::array_t&)’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:364:9: warning: no previous declaration for ‘double* ParseNumpyData(pybind11::array_t&)’ [-Wmissing-declarations] double* ParseNumpyData(py::array_t& np_buf) { ^~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘void pybind11_init_PyCeres(pybind11::module&)’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:474:66: error: ‘CX_SPARSE’ is not a member of ‘ceres::SparseLinearAlgebraLibraryType’ .value("CX_SPARSE", ceres::SparseLinearAlgebraLibraryType::CX_SPARSE) ^~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:509:34: error: ‘local_parameterization_ownership’ is not a member of ‘options {aka ceres::Problem::Options}’ &options::local_parameterization_ownership); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In lambda function: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:590:24: error: ‘class ceres::Problem’ has no member named ‘GetParameterization’; did you mean ‘GetParameterBlocks’? myself.GetParameterization((double*)info.ptr); ^~~~~~~~~~~~~~~~~~~ GetParameterBlocks /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In lambda function: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:597:24: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? myself.SetParameterization((double*)info.ptr, ^~~~~~~~~~~~~~~~~~~ SetParameterLowerBound /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In lambda function: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:724:71: error: no matching function for call to ‘ceres::Problem::AddParameterBlock(double*&, int&, ceres::LocalParameterization*&)’ myself.AddParameterBlock(pointer, size, local_parameterization); ^ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:261:8: note: candidate: void ceres::Problem::AddParameterBlock(double*, int) void AddParameterBlock(double* values, int size); ^~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:261:8: note: candidate expects 2 arguments, 3 provided /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:274:8: note: candidate: void ceres::Problem::AddParameterBlock(double*, int, ceres::Manifold*) void AddParameterBlock(double* values, int size, Manifold* manifold); ^~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:274:8: note: no known conversion for argument 3 from ‘ceres::LocalParameterization*’ to ‘ceres::Manifold*’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘void pybind11_init_PyCeres(pybind11::module&)’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:821:44: error: ‘use_postordering’ is not a member of ‘s_options {aka ceres::Solver::Options}’ &s_options::use_postordering); ^~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/stl_pair.h:59, from /usr/include/c++/7/bits/stl_algobase.h:64, from /usr/include/c++/7/memory:62, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/autodiff_cost_function.h:128, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:37, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /usr/include/c++/7/type_traits: In instantiation of ‘struct std::is_base_of’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: required from ‘struct pybind11::class_::is_valid_class_option’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:492:72: required by substitution of ‘template using all_of = pybind11::detail::bool_constant<(Ts::value && ...)> [with Ts = {pybind11::class_::is_valid_class_option}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1057:92: required from ‘class pybind11::class_’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /usr/include/c++/7/type_traits:1512:12: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ struct is_base_of ^~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h: In instantiation of ‘struct pybind11::class_::is_valid_class_option’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:492:72: required by substitution of ‘template using all_of = pybind11::detail::bool_constant<(Ts::value && ...)> [with Ts = {pybind11::class_::is_valid_class_option}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1057:92: required from ‘class pybind11::class_’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: error: ‘value’ is not a member of ‘std::is_base_of’ std::is_base_of::value && !std::is_same::value>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h: In substitution of ‘template using all_of = pybind11::detail::bool_constant<(Ts::value && ...)> [with Ts = {pybind11::class_::is_valid_class_option}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1057:92: required from ‘class pybind11::class_’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:492:72: error: ‘value’ is not a member of ‘pybind11::class_::is_valid_class_option’ template using all_of = bool_constant<(Ts::value && ...)>; ^ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/stl_pair.h:59, from /usr/include/c++/7/bits/stl_algobase.h:64, from /usr/include/c++/7/memory:62, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/autodiff_cost_function.h:128, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:37, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /usr/include/c++/7/type_traits: In instantiation of ‘struct std::is_polymorphic’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1062:30: required from ‘class pybind11::class_’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /usr/include/c++/7/type_traits:710:12: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ struct is_polymorphic ^~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘class pybind11::class_’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1062:30: error: ‘value’ is not a member of ‘std::is_polymorphic’ static_assert(!has_alias || std::is_polymorphic::value, ~~~~~~~~~~~^~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1041:57: error: incomplete type ‘ceres::LocalParameterization’ used in nested name specifier .def("GlobalSize", &ceres::LocalParameterization::GlobalSize) ^~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1042:56: error: incomplete type ‘ceres::LocalParameterization’ used in nested name specifier .def("LocalSize", &ceres::LocalParameterization::LocalSize); ^~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1044:21: error: ‘IdentityParameterization’ is not a member of ‘ceres’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1044:21: note: suggested alternative: ‘LocalParameterization’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~~~ LocalParameterization /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1044:75: error: template argument 1 is invalid py::class_( ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1047:21: error: ‘QuaternionParameterization’ is not a member of ‘ceres’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1047:21: note: suggested alternative: ‘LocalParameterization’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~~~~~ LocalParameterization /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1047:77: error: template argument 1 is invalid py::class_( ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1050:21: error: ‘HomogeneousVectorParameterization’ is not a member of ‘ceres’ py::class_(m, ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1054:21: error: ‘EigenQuaternionParameterization’ is not a member of ‘ceres’ py::class_(m, "EigenQuaternionParameterization") ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1057:21: error: ‘SubsetParameterization’ is not a member of ‘ceres’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1057:21: note: suggested alternative: ‘LocalParameterization’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~ LocalParameterization /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1057:73: error: template argument 1 is invalid py::class_( ^ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h: In substitution of ‘template using is_strict_base_of = pybind11::detail::bool_constant<(std::is_base_of< , >::value && (! std::is_same< , >::value))> [with Base = PyLocalParameterization; Derived = ceres::LocalParameterization]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1048:78: required by substitution of ‘template template using is_base = pybind11::detail::is_strict_base_of [with T = PyLocalParameterization; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1075:30: required from ‘pybind11::class_::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}]’/home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: error: ‘value’ is not a member of ‘std::is_base_of’ std::is_base_of::value && !std::is_same::value>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘pybind11::class_::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1082:23: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ record.type = &typeid(type); In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1083:34: error: invalid application of ‘sizeof’ to incomplete type ‘std::conditional_t {aka ceres::LocalParameterization}’ record.type_size = sizeof(conditional_t); ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1084:27: error: invalid application of ‘__alignof__’ to incomplete type ‘std::conditional_t {aka ceres::LocalParameterization}’ record.type_align = alignof(conditional_t&); In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1093:55: error: no matching function for call to ‘pybind11::class_::add_base(pybind11::detail::type_record&)’ PYBIND11_EXPAND_SIDE_EFFECTS(add_base(record)); /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:659:50: note: in definition of macro ‘PYBIND11_EXPAND_SIDE_EFFECTS’ #define PYBIND11_EXPAND_SIDE_EFFECTS(PATTERN) (((PATTERN), void()), ...) ^~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1107:17: note: candidate: template::value && (! std::is_same::value))>::value, int>::type > static void pybind11::class_::add_base(pybind11::detail::type_record&) [with Base = Base; typename std::enable_if::value && (! std::is_same::value))>::value, int>::type = ; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}] static void add_base(detail::type_record &rec) { ^~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1107:17: note: template argument deduction/substitution failed: In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: error: ‘value’ is not a member of ‘std::is_base_of’ std::is_base_of::value && !std::is_same::value>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1106:79: note: invalid template non-type parameter template ::value, int> = 0> ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1114:17: note: candidate: template::value && (! std::is_same::value))>::value), int>::type > static void pybind11::class_::add_base(pybind11::detail::type_record&) [with Base = Base; typename std::enable_if<(! std::integral_constant::value && (! std::is_same::value))>::value), int>::type = ; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}] static void add_base(detail::type_record &) { } ^~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1114:17: note: template argument deduction/substitution failed: In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: error: ‘value’ is not a member of ‘std::is_base_of’ std::is_base_of::value && !std::is_same::value>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1113:80: note: invalid template non-type parameter template ::value, int> = 0> ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1102:77: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ instances[std::type_index(typeid(type_alias))] = instances[std::type_index(typeid(type))]; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/stl_pair.h:59, from /usr/include/c++/7/bits/stl_algobase.h:64, from /usr/include/c++/7/memory:62, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/autodiff_cost_function.h:128, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:37, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /usr/include/c++/7/type_traits: In instantiation of ‘struct std::is_base_of’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:1946:56: recursively required by substitution of ‘template class pybind11::detail::type_caster >::type>::value, void>::type> [with T = ceres::LocalParameterization]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:1946:56: required from ‘constexpr const auto pybind11::detail::argument_loader&, ceres::LocalParameterization*>::arg_names’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:1946:27: required from ‘class pybind11::detail::argument_loader&, ceres::LocalParameterization*>’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:133:50: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:599:16: required from here /usr/include/c++/7/type_traits:1512:12: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ struct is_base_of ^~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:599:16: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:137:19: error: cannot convert ‘pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]::’ to ‘pybind11::handle (*)(pybind11::detail::function_call&)’ in assignment rec->impl = [](function_call &call) -> handle { In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h: In instantiation of ‘static constexpr std::array pybind11::detail::descr::types() [with long unsigned int N = 44; Ts = {ceres::Problem, ceres::LocalParameterization}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:599:16: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:18: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ return {{&typeid(Ts)..., nullptr}}; In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:42: error: could not convert ‘{{, nullptr}}’ from ‘’ to ‘std::array’ return {{&typeid(Ts)..., nullptr}}; ^ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:599:16: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: in constexpr expansion of ‘pybind11::detail::descr<44, ceres::Problem, ceres::LocalParameterization>::types()’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:39: error: constexpr call flows off the end of the function PYBIND11_DESCR_CONSTEXPR auto types = decltype(signature)::types(); ^~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h: In instantiation of ‘static constexpr std::array pybind11::detail::descr::types() [with long unsigned int N = 51; Ts = {ceres::Problem, ceres::LocalParameterization}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::keep_alive<1, 4>}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:727:3: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:18: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ return {{&typeid(Ts)..., nullptr}}; In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:42: error: could not convert ‘{{, nullptr}}’ from ‘’ to ‘std::array’ return {{&typeid(Ts)..., nullptr}}; ^ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::keep_alive<1, 4>}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:727:3: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: in constexpr expansion of ‘pybind11::detail::descr<51, ceres::Problem, ceres::LocalParameterization>::types()’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:39: error: constexpr call flows off the end of the function PYBIND11_DESCR_CONSTEXPR auto types = decltype(signature)::types(); ^~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h: In instantiation of ‘pybind11::detail::type_caster_base::type_caster_base() [with type = ceres::LocalParameterization]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:940:56: required from ‘constexpr std::_Head_base<_Idx, _Head, false>::_Head_base() [with long unsigned int _Idx = 3; _Head = pybind11::detail::type_caster]’ /usr/include/c++/7/tuple:207:29: recursively required from ‘constexpr std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl() [with long unsigned int _Idx = 1; _Head = pybind11::detail::type_caster, void>; _Tail = {pybind11::detail::type_caster, pybind11::detail::type_caster}]’ /usr/include/c++/7/tuple:207:29: required from ‘constexpr std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl() [with long unsigned int _Idx = 0; _Head = pybind11::detail::type_caster; _Tail = {pybind11::detail::type_caster, void>, pybind11::detail::type_caster, pybind11::detail::type_caster}]’ /usr/include/c++/7/tuple:582:20: required from ‘constexpr std::tuple<_Elements>::tuple() [with _Dummy = void; typename std::enable_if::_TC2<_Dummy>::_ImplicitlyDefaultConstructibleTuple(), bool>::type = 1; _Elements = {pybind11::detail::type_caster, pybind11::detail::type_caster, void>, pybind11::detail::type_caster, pybind11::detail::type_caster}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:1929:7: required from ‘pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...):: [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:137:22: required from ‘struct pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]::’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:137:19: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::keep_alive<1, 4>}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:727:3: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:861:55: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ type_caster_base() : type_caster_base(typeid(type)) { } ^ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h: In instantiation of ‘static constexpr std::array pybind11::detail::descr::types() [with long unsigned int N = 34; Ts = {pybind11::detail::value_and_holder, ceres::CostFunction, ceres::LocalParameterization, ceres::NumericDiffOptions}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Return = void; Args = {pybind11::detail::value_and_holder&, const ceres::CostFunction*, const std::vector >*, ceres::NumericDiffOptions}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Extra = {pybind11::detail::is_new_style_constructor}; type_ = ceres::GradientChecker; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/init.h:173:9: required from ‘static void pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1148:9: required from ‘pybind11::class_& pybind11::class_::def(const pybind11::detail::initimpl::constructor&, const Extra& ...) [with Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}; Extra = {}; type_ = ceres::GradientChecker; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1207:50: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:18: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ return {{&typeid(Ts)..., nullptr}}; In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:42: error: could not convert ‘{{, nullptr}}’ from ‘’ to ‘std::array’ return {{&typeid(Ts)..., nullptr}}; ^ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Return = void; Args = {pybind11::detail::value_and_holder&, const ceres::CostFunction*, const std::vector >*, ceres::NumericDiffOptions}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Extra = {pybind11::detail::is_new_style_constructor}; type_ = ceres::GradientChecker; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/init.h:173:9: required from ‘static void pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1148:9: required from ‘pybind11::class_& pybind11::class_::def(const pybind11::detail::initimpl::constructor&, const Extra& ...) [with Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}; Extra = {}; type_ = ceres::GradientChecker; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1207:50: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: in constexpr expansion of ‘pybind11::detail::descr<34, pybind11::detail::value_and_holder, ceres::CostFunction, ceres::LocalParameterization, ceres::NumericDiffOptions>::types()’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:39: error: constexpr call flows off the end of the function PYBIND11_DESCR_CONSTEXPR auto types = decltype(signature)::types(); ^~~~~ make[2]: *** [CMakeFiles/PyCeres.dir/ceres_python_bindings/python_bindings/python_module.cpp.o] Error 1 make[1]: *** [CMakeFiles/PyCeres.dir/all] Error 2 make: *** [all] Error 2 (22-10-21 2:49:50) <2> [~/workplace/CERES/ceres-solver] dev-dsk-vferro-2b-cc71ae14 % make >> debug_python_binding.txt /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘ceres::Problem CreatePythonProblem()’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:60:16: warning: no previous declaration for ‘ceres::Problem CreatePythonProblem()’ [-Wmissing-declarations] ceres::Problem CreatePythonProblem() { ^~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:62:5: error: ‘struct ceres::Problem::Options’ has no member named ‘local_parameterization_ownership’; did you mean ‘loss_function_ownership’? o.local_parameterization_ownership = ceres::Ownership::DO_NOT_TAKE_OWNERSHIP; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ loss_function_ownership /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘ceres::Problem::Options CreateNoOwnershipOption()’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:70:25: warning: no previous declaration for ‘ceres::Problem::Options CreateNoOwnershipOption()’ [-Wmissing-declarations] ceres::Problem::Options CreateNoOwnershipOption() { ^~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:72:5: error: ‘struct ceres::Problem::Options’ has no member named ‘local_parameterization_ownership’; did you mean ‘loss_function_ownership’? o.local_parameterization_ownership = ceres::Ownership::DO_NOT_TAKE_OWNERSHIP; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ loss_function_ownership /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: At global scope: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:174:47: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ class PyLocalParameterization : public ceres::LocalParameterization { ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:176:39: error: type ‘ceres::LocalParameterization’ is not a base type for type ‘PyLocalParameterization’ using ceres::LocalParameterization::LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:196:7: error: ‘int PyLocalParameterization::GlobalSize() const’ marked ‘override’, but does not override int GlobalSize() const override { ^~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:205:7: error: ‘int PyLocalParameterization::LocalSize() const’ marked ‘override’, but does not override int LocalSize() const override { ^~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In member function ‘int PyLocalParameterization::GlobalSize() const’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2103:93: error: invalid static_cast from type ‘const PyLocalParameterization*’ to type ‘const ceres::LocalParameterization*’ pybind11::function overload = pybind11::get_overload(static_cast(this), name); \ ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2140:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_INT’ PYBIND11_OVERLOAD_INT(PYBIND11_TYPE(ret_type), PYBIND11_TYPE(cname), name, __VA_ARGS__) \ ^~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2175:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_PURE_NAME’ PYBIND11_OVERLOAD_PURE_NAME(PYBIND11_TYPE(ret_type), PYBIND11_TYPE(cname), #fn, fn, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:197:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_PURE’ PYBIND11_OVERLOAD_PURE( ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In member function ‘int PyLocalParameterization::LocalSize() const’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2103:93: error: invalid static_cast from type ‘const PyLocalParameterization*’ to type ‘const ceres::LocalParameterization*’ pybind11::function overload = pybind11::get_overload(static_cast(this), name); \ ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2140:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_INT’ PYBIND11_OVERLOAD_INT(PYBIND11_TYPE(ret_type), PYBIND11_TYPE(cname), name, __VA_ARGS__) \ ^~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:2175:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_PURE_NAME’ PYBIND11_OVERLOAD_PURE_NAME(PYBIND11_TYPE(ret_type), PYBIND11_TYPE(cname), #fn, fn, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:206:5: note: in expansion of macro ‘PYBIND11_OVERLOAD_PURE’ PYBIND11_OVERLOAD_PURE( ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘double* ParseNumpyData(pybind11::array_t&)’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:364:9: warning: no previous declaration for ‘double* ParseNumpyData(pybind11::array_t&)’ [-Wmissing-declarations] double* ParseNumpyData(py::array_t& np_buf) { ^~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘void pybind11_init_PyCeres(pybind11::module&)’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:474:66: error: ‘CX_SPARSE’ is not a member of ‘ceres::SparseLinearAlgebraLibraryType’ .value("CX_SPARSE", ceres::SparseLinearAlgebraLibraryType::CX_SPARSE) ^~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:509:34: error: ‘local_parameterization_ownership’ is not a member of ‘options {aka ceres::Problem::Options}’ &options::local_parameterization_ownership); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In lambda function: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:590:24: error: ‘class ceres::Problem’ has no member named ‘GetParameterization’; did you mean ‘GetParameterBlocks’? myself.GetParameterization((double*)info.ptr); ^~~~~~~~~~~~~~~~~~~ GetParameterBlocks /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In lambda function: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:597:24: error: ‘class ceres::Problem’ has no member named ‘SetParameterization’; did you mean ‘SetParameterLowerBound’? myself.SetParameterization((double*)info.ptr, ^~~~~~~~~~~~~~~~~~~ SetParameterLowerBound /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In lambda function: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:724:71: error: no matching function for call to ‘ceres::Problem::AddParameterBlock(double*&, int&, ceres::LocalParameterization*&)’ myself.AddParameterBlock(pointer, size, local_parameterization); ^ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:261:8: note: candidate: void ceres::Problem::AddParameterBlock(double*, int) void AddParameterBlock(double* values, int size); ^~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:261:8: note: candidate expects 2 arguments, 3 provided /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:274:8: note: candidate: void ceres::Problem::AddParameterBlock(double*, int, ceres::Manifold*) void AddParameterBlock(double* values, int size, Manifold* manifold); ^~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:274:8: note: no known conversion for argument 3 from ‘ceres::LocalParameterization*’ to ‘ceres::Manifold*’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp: In function ‘void pybind11_init_PyCeres(pybind11::module&)’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:821:44: error: ‘use_postordering’ is not a member of ‘s_options {aka ceres::Solver::Options}’ &s_options::use_postordering); ^~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/stl_pair.h:59, from /usr/include/c++/7/bits/stl_algobase.h:64, from /usr/include/c++/7/memory:62, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/autodiff_cost_function.h:128, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:37, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /usr/include/c++/7/type_traits: In instantiation of ‘struct std::is_base_of’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: required from ‘struct pybind11::class_::is_valid_class_option’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:492:72: required by substitution of ‘template using all_of = pybind11::detail::bool_constant<(Ts::value && ...)> [with Ts = {pybind11::class_::is_valid_class_option}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1057:92: required from ‘class pybind11::class_’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /usr/include/c++/7/type_traits:1512:12: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ struct is_base_of ^~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h: In instantiation of ‘struct pybind11::class_::is_valid_class_option’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:492:72: required by substitution of ‘template using all_of = pybind11::detail::bool_constant<(Ts::value && ...)> [with Ts = {pybind11::class_::is_valid_class_option}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1057:92: required from ‘class pybind11::class_’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: error: ‘value’ is not a member of ‘std::is_base_of’ std::is_base_of::value && !std::is_same::value>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h: In substitution of ‘template using all_of = pybind11::detail::bool_constant<(Ts::value && ...)> [with Ts = {pybind11::class_::is_valid_class_option}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1057:92: required from ‘class pybind11::class_’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:492:72: error: ‘value’ is not a member of ‘pybind11::class_::is_valid_class_option’ template using all_of = bool_constant<(Ts::value && ...)>; ^ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/stl_pair.h:59, from /usr/include/c++/7/bits/stl_algobase.h:64, from /usr/include/c++/7/memory:62, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/autodiff_cost_function.h:128, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:37, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /usr/include/c++/7/type_traits: In instantiation of ‘struct std::is_polymorphic’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1062:30: required from ‘class pybind11::class_’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /usr/include/c++/7/type_traits:710:12: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ struct is_polymorphic ^~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘class pybind11::class_’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1062:30: error: ‘value’ is not a member of ‘std::is_polymorphic’ static_assert(!has_alias || std::is_polymorphic::value, ~~~~~~~~~~~^~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1041:57: error: incomplete type ‘ceres::LocalParameterization’ used in nested name specifier .def("GlobalSize", &ceres::LocalParameterization::GlobalSize) ^~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1042:56: error: incomplete type ‘ceres::LocalParameterization’ used in nested name specifier .def("LocalSize", &ceres::LocalParameterization::LocalSize); ^~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1044:21: error: ‘IdentityParameterization’ is not a member of ‘ceres’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1044:21: note: suggested alternative: ‘LocalParameterization’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~~~ LocalParameterization /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1044:75: error: template argument 1 is invalid py::class_( ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1047:21: error: ‘QuaternionParameterization’ is not a member of ‘ceres’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1047:21: note: suggested alternative: ‘LocalParameterization’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~~~~~ LocalParameterization /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1047:77: error: template argument 1 is invalid py::class_( ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1050:21: error: ‘HomogeneousVectorParameterization’ is not a member of ‘ceres’ py::class_(m, ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1054:21: error: ‘EigenQuaternionParameterization’ is not a member of ‘ceres’ py::class_(m, "EigenQuaternionParameterization") ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1057:21: error: ‘SubsetParameterization’ is not a member of ‘ceres’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1057:21: note: suggested alternative: ‘LocalParameterization’ py::class_( ^~~~~~~~~~~~~~~~~~~~~~ LocalParameterization /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1057:73: error: template argument 1 is invalid py::class_( ^ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h: In substitution of ‘template using is_strict_base_of = pybind11::detail::bool_constant<(std::is_base_of< , >::value && (! std::is_same< , >::value))> [with Base = PyLocalParameterization; Derived = ceres::LocalParameterization]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1048:78: required by substitution of ‘template template using is_base = pybind11::detail::is_strict_base_of [with T = PyLocalParameterization; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1075:30: required from ‘pybind11::class_::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}]’/home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: error: ‘value’ is not a member of ‘std::is_base_of’ std::is_base_of::value && !std::is_same::value>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘pybind11::class_::class_(pybind11::handle, const char*, const Extra& ...) [with Extra = {}; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1039:33: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1082:23: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ record.type = &typeid(type); In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1083:34: error: invalid application of ‘sizeof’ to incomplete type ‘std::conditional_t {aka ceres::LocalParameterization}’ record.type_size = sizeof(conditional_t); ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1084:27: error: invalid application of ‘__alignof__’ to incomplete type ‘std::conditional_t {aka ceres::LocalParameterization}’ record.type_align = alignof(conditional_t&); In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1093:55: error: no matching function for call to ‘pybind11::class_::add_base(pybind11::detail::type_record&)’ PYBIND11_EXPAND_SIDE_EFFECTS(add_base(record)); /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:659:50: note: in definition of macro ‘PYBIND11_EXPAND_SIDE_EFFECTS’ #define PYBIND11_EXPAND_SIDE_EFFECTS(PATTERN) (((PATTERN), void()), ...) ^~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1107:17: note: candidate: template::value && (! std::is_same::value))>::value, int>::type > static void pybind11::class_::add_base(pybind11::detail::type_record&) [with Base = Base; typename std::enable_if::value && (! std::is_same::value))>::value, int>::type = ; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}] static void add_base(detail::type_record &rec) { ^~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1107:17: note: template argument deduction/substitution failed: In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: error: ‘value’ is not a member of ‘std::is_base_of’ std::is_base_of::value && !std::is_same::value>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1106:79: note: invalid template non-type parameter template ::value, int> = 0> ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1114:17: note: candidate: template::value && (! std::is_same::value))>::value), int>::type > static void pybind11::class_::add_base(pybind11::detail::type_record&) [with Base = Base; typename std::enable_if<(! std::integral_constant::value && (! std::is_same::value))>::value), int>::type = ; type_ = ceres::LocalParameterization; options = {PyLocalParameterization}] static void add_base(detail::type_record &) { } ^~~~~~~~ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1114:17: note: template argument deduction/substitution failed: In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pytypes.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/common.h:591:43: error: ‘value’ is not a member of ‘std::is_base_of’ std::is_base_of::value && !std::is_same::value>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1113:80: note: invalid template non-type parameter template ::value, int> = 0> ^ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1102:77: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ instances[std::type_index(typeid(type_alias))] = instances[std::type_index(typeid(type))]; ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/stl_pair.h:59, from /usr/include/c++/7/bits/stl_algobase.h:64, from /usr/include/c++/7/memory:62, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/autodiff_cost_function.h:128, from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:37, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /usr/include/c++/7/type_traits: In instantiation of ‘struct std::is_base_of’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:1946:56: recursively required by substitution of ‘template class pybind11::detail::type_caster >::type>::value, void>::type> [with T = ceres::LocalParameterization]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:1946:56: required from ‘constexpr const auto pybind11::detail::argument_loader&, ceres::LocalParameterization*>::arg_names’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:1946:27: required from ‘class pybind11::detail::argument_loader&, ceres::LocalParameterization*>’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:133:50: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:599:16: required from here /usr/include/c++/7/type_traits:1512:12: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ struct is_base_of ^~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:599:16: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:137:19: error: cannot convert ‘pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]::’ to ‘pybind11::handle (*)(pybind11::detail::function_call&)’ in assignment rec->impl = [](function_call &call) -> handle { In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h: In instantiation of ‘static constexpr std::array pybind11::detail::descr::types() [with long unsigned int N = 44; Ts = {ceres::Problem, ceres::LocalParameterization}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:599:16: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:18: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ return {{&typeid(Ts)..., nullptr}}; In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:42: error: could not convert ‘{{, nullptr}}’ from ‘’ to ‘std::array’ return {{&typeid(Ts)..., nullptr}}; ^ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, ceres::LocalParameterization*)>; Extra = {}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:599:16: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: in constexpr expansion of ‘pybind11::detail::descr<44, ceres::Problem, ceres::LocalParameterization>::types()’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:39: error: constexpr call flows off the end of the function PYBIND11_DESCR_CONSTEXPR auto types = decltype(signature)::types(); ^~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h: In instantiation of ‘static constexpr std::array pybind11::detail::descr::types() [with long unsigned int N = 51; Ts = {ceres::Problem, ceres::LocalParameterization}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::keep_alive<1, 4>}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:727:3: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:18: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ return {{&typeid(Ts)..., nullptr}}; In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:42: error: could not convert ‘{{, nullptr}}’ from ‘’ to ‘std::array’ return {{&typeid(Ts)..., nullptr}}; ^ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::keep_alive<1, 4>}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:727:3: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: in constexpr expansion of ‘pybind11::detail::descr<51, ceres::Problem, ceres::LocalParameterization>::types()’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:39: error: constexpr call flows off the end of the function PYBIND11_DESCR_CONSTEXPR auto types = decltype(signature)::types(); ^~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h: In instantiation of ‘pybind11::detail::type_caster_base::type_caster_base() [with type = ceres::LocalParameterization]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:940:56: required from ‘constexpr std::_Head_base<_Idx, _Head, false>::_Head_base() [with long unsigned int _Idx = 3; _Head = pybind11::detail::type_caster]’ /usr/include/c++/7/tuple:207:29: recursively required from ‘constexpr std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl() [with long unsigned int _Idx = 1; _Head = pybind11::detail::type_caster, void>; _Tail = {pybind11::detail::type_caster, pybind11::detail::type_caster}]’ /usr/include/c++/7/tuple:207:29: required from ‘constexpr std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl() [with long unsigned int _Idx = 0; _Head = pybind11::detail::type_caster; _Tail = {pybind11::detail::type_caster, void>, pybind11::detail::type_caster, pybind11::detail::type_caster}]’ /usr/include/c++/7/tuple:582:20: required from ‘constexpr std::tuple<_Elements>::tuple() [with _Dummy = void; typename std::enable_if::_TC2<_Dummy>::_ImplicitlyDefaultConstructibleTuple(), bool>::type = 1; _Elements = {pybind11::detail::type_caster, pybind11::detail::type_caster, void>, pybind11::detail::type_caster, pybind11::detail::type_caster}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:1929:7: required from ‘pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...):: [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:137:22: required from ‘struct pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]::’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:137:19: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Return = void; Args = {ceres::Problem&, pybind11::array_t&, int, ceres::LocalParameterization*}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::keep_alive<1, 4>}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11_init_PyCeres(pybind11::module&)::&, int, ceres::LocalParameterization*)>; Extra = {pybind11::keep_alive<1, 4>}; type_ = ceres::Problem; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:727:3: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:861:55: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ type_caster_base() : type_caster_base(typeid(type)) { } ^ In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h: In instantiation of ‘static constexpr std::array pybind11::detail::descr::types() [with long unsigned int N = 34; Ts = {pybind11::detail::value_and_holder, ceres::CostFunction, ceres::LocalParameterization, ceres::NumericDiffOptions}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: required from ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Return = void; Args = {pybind11::detail::value_and_holder&, const ceres::CostFunction*, const std::vector >*, ceres::NumericDiffOptions}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Extra = {pybind11::detail::is_new_style_constructor}; type_ = ceres::GradientChecker; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/init.h:173:9: required from ‘static void pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1148:9: required from ‘pybind11::class_& pybind11::class_::def(const pybind11::detail::initimpl::constructor&, const Extra& ...) [with Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}; Extra = {}; type_ = ceres::GradientChecker; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1207:50: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:18: error: invalid use of incomplete type ‘class ceres::LocalParameterization’ return {{&typeid(Ts)..., nullptr}}; In file included from /home/vferro/workplace/CERES/ceres-solver/include/ceres/ceres.h:64:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:30: /home/vferro/workplace/CERES/ceres-solver/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’ class LocalParameterization; ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/cast.h:15:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/attr.h:13, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:44, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/descr.h:38:42: error: could not convert ‘{{, nullptr}}’ from ‘’ to ‘std::array’ return {{&typeid(Ts)..., nullptr}}; ^ In file included from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/functional.h:12:0, from /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:32: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h: In instantiation of ‘void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Return = void; Args = {pybind11::detail::value_and_holder&, const ceres::CostFunction*, const std::vector >*, ceres::NumericDiffOptions}; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor}]’: /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:71:9: required from ‘pybind11::cpp_function::cpp_function(Func&&, const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Extra = {pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor}; = void]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1118:22: required from ‘pybind11::class_& pybind11::class_::def(const char*, Func&&, const Extra& ...) [with Func = pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]::*, ceres::NumericDiffOptions)>; Extra = {pybind11::detail::is_new_style_constructor}; type_ = ceres::GradientChecker; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/detail/init.h:173:9: required from ‘static void pybind11::detail::initimpl::constructor::execute(Class&, const Extra& ...) [with Class = pybind11::class_; Extra = {}; typename std::enable_if<(! Class:: has_alias), int>::type = 0; Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:1148:9: required from ‘pybind11::class_& pybind11::class_::def(const pybind11::detail::initimpl::constructor&, const Extra& ...) [with Args = {const ceres::CostFunction*, const std::vector >*, const ceres::NumericDiffOptions}; Extra = {}; type_ = ceres::GradientChecker; options = {}]’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/python_bindings/python_module.cpp:1207:50: required from here /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:73: in constexpr expansion of ‘pybind11::detail::descr<34, pybind11::detail::value_and_holder, ceres::CostFunction, ceres::LocalParameterization, ceres::NumericDiffOptions>::types()’ /home/vferro/workplace/CERES/ceres-solver/ceres_python_bindings/pybind11/include/pybind11/pybind11.h:173:39: error: constexpr call flows off the end of the function PYBIND11_DESCR_CONSTEXPR auto types = decltype(signature)::types(); ^~~~~ make[2]: *** [CMakeFiles/PyCeres.dir/ceres_python_bindings/python_bindings/python_module.cpp.o] Error 1 make[1]: *** [CMakeFiles/PyCeres.dir/all] Error 2 make: *** [all] Error 2