Skip to content

Build alongside fails #20

Description

@GuillaumeLaine

I've followed the build alongside instructions, but when I run make I get a lot of errors (mostly std errors).

Building without the ceres_python_bindings folder in my ceres-solver folder results in a successful build.

I've also tried build separately and link to Ceres (which builds without errors, both for cmake and pip) but then I get the import errors mentioned in other issues (undefined symbol: cholmod_solve).

Any advice?

[ 27%] Building CXX object CMakeFiles/PyCeres.dir/ceres_python_bindings/python_bindings/python_module.cpp.o
In file included from /home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/parameter_dims.h:37,
                 from /home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/autodiff.h:150,
                 from /home/laine/Ceres/ceres-solver-2.1.0/include/ceres/autodiff_cost_function.h:130,
                 from /home/laine/Ceres/ceres-solver-2.1.0/include/ceres/ceres.h:37,
                 from /home/laine/Ceres/ceres-solver-2.1.0/ceres_python_bindings/python_bindings/python_module.cpp:30:
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:67:21: error: ‘integer_sequence’ is not a member of ‘std’
   67 | struct SumImpl<std::integer_sequence<T, N, Ns...>> {
      |                     ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:67:21: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:67:46: error: wrong number of template arguments (3, should be 1)
   67 | struct SumImpl<std::integer_sequence<T, N, Ns...>> {
      |                                              ^~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:63:8: note: provided for ‘template<class Seq> struct ceres::internal::SumImpl’
   63 | struct SumImpl;
      |        ^~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:67:49: error: expected unqualified-id before ‘>’ token
   67 | struct SumImpl<std::integer_sequence<T, N, Ns...>> {
      |                                                 ^~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:74:21: error: ‘integer_sequence’ is not a member of ‘std’
   74 | struct SumImpl<std::integer_sequence<T, N1, N2, Ns...>> {
      |                     ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:74:21: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:74:51: error: wrong number of template arguments (4, should be 1)
   74 | struct SumImpl<std::integer_sequence<T, N1, N2, Ns...>> {
      |                                                   ^~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:63:8: note: provided for ‘template<class Seq> struct ceres::internal::SumImpl’
   63 | struct SumImpl;
      |        ^~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:74:54: error: expected unqualified-id before ‘>’ token
   74 | struct SumImpl<std::integer_sequence<T, N1, N2, Ns...>> {
      |                                                      ^~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:81:21: error: ‘integer_sequence’ is not a member of ‘std’
   81 | struct SumImpl<std::integer_sequence<T, N1, N2, N3, N4, Ns...>> {
      |                     ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:81:21: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:81:59: error: wrong number of template arguments (6, should be 1)
   81 | struct SumImpl<std::integer_sequence<T, N1, N2, N3, N4, Ns...>> {
      |                                                           ^~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:63:8: note: provided for ‘template<class Seq> struct ceres::internal::SumImpl’
   63 | struct SumImpl;
      |        ^~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:81:62: error: expected unqualified-id before ‘>’ token
   81 | struct SumImpl<std::integer_sequence<T, N1, N2, N3, N4, Ns...>> {
      |                                                              ^~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:88:21: error: ‘integer_sequence’ is not a member of ‘std’
   88 | struct SumImpl<std::integer_sequence<T, N>> {
      |                     ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:88:21: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:88:41: error: wrong number of template arguments (2, should be 1)
   88 | struct SumImpl<std::integer_sequence<T, N>> {
      |                                         ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:63:8: note: provided for ‘template<class Seq> struct ceres::internal::SumImpl’
   63 | struct SumImpl;
      |        ^~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:88:42: error: expected unqualified-id before ‘>’ token
   88 | struct SumImpl<std::integer_sequence<T, N>> {
      |                                          ^~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:94:21: error: ‘integer_sequence’ is not a member of ‘std’
   94 | struct SumImpl<std::integer_sequence<T>> {
      |                     ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:94:21: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:94:38: error: template argument 1 is invalid
   94 | struct SumImpl<std::integer_sequence<T>> {
      |                                      ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:94:39: error: expected unqualified-id before ‘>’ token
   94 | struct SumImpl<std::integer_sequence<T>> {
      |                                       ^~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:138:31: error: ‘integer_sequence’ is not a member of ‘std’
  138 |                          std::integer_sequence<T, N, Ns...>,
      |                               ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:138:31: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:138:59: error: template argument 3 is invalid
  138 |                          std::integer_sequence<T, N, Ns...>,
      |                                                           ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:138:59: error: type/value mismatch at argument 4 in template parameter list for ‘template<class T, T Sum, class SeqIn, class SeqOut> struct ceres::internal::ExclusiveScanImpl’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:138:59: note:   expected a type, got ‘N’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:149:39: error: ‘integer_sequence’ is not a member of ‘std’
  149 | struct ExclusiveScanImpl<T, Sum, std::integer_sequence<T>, SeqOut> {
      |                                       ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:149:39: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:149:57: error: wrong number of template arguments (3, should be 4)
  149 | struct ExclusiveScanImpl<T, Sum, std::integer_sequence<T>, SeqOut> {
      |                                                         ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:133:8: note: provided for ‘template<class T, T Sum, class SeqIn, class SeqOut> struct ceres::internal::ExclusiveScanImpl’
  133 | struct ExclusiveScanImpl;
      |        ^~~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:163:53: error: ‘integer_sequence’ is not a member of ‘std’
  163 |       typename ExclusiveScanImpl<T, T(0), Seq, std::integer_sequence<T>>::Type;
      |                                                     ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:163:53: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:163:70: error: template argument 4 is invalid
  163 |       typename ExclusiveScanImpl<T, T(0), Seq, std::integer_sequence<T>>::Type;
      |                                                                      ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:163:16: error: expected nested-name-specifier
  163 |       typename ExclusiveScanImpl<T, T(0), Seq, std::integer_sequence<T>>::Type;
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:181:29: error: ‘integer_sequence’ is not a member of ‘std’
  181 |                        std::integer_sequence<T, Values...>,
      |                             ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:181:29: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:181:58: error: template argument 3 is invalid
  181 |                        std::integer_sequence<T, Values...>,
      |                                                          ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:181:58: error: type/value mismatch at argument 3 in template parameter list for ‘template<class T, T ValueToRemove, class ... Sequence> struct ceres::internal::RemoveValueImpl’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:181:58: note:   expected a type, got ‘Values ...’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:190:29: error: ‘integer_sequence’ is not a member of ‘std’
  190 |                        std::integer_sequence<T, Head...>,
      |                             ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:190:29: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:190:56: error: template argument 3 is invalid
  190 |                        std::integer_sequence<T, Head...>,
      |                                                        ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:190:56: error: type/value mismatch at argument 3 in template parameter list for ‘template<class T, T ValueToRemove, class ... Sequence> struct ceres::internal::RemoveValueImpl’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:190:56: note:   expected a type, got ‘Head ...’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:201:29: error: ‘integer_sequence’ is not a member of ‘std’
  201 |                        std::integer_sequence<T, Head...>,
      |                             ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:201:29: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:201:56: error: template argument 3 is invalid
  201 |                        std::integer_sequence<T, Head...>,
      |                                                        ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:201:56: error: type/value mismatch at argument 3 in template parameter list for ‘template<class T, T ValueToRemove, class ... Sequence> struct ceres::internal::RemoveValueImpl’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:201:56: note:   expected a type, got ‘Head ...’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:210:47: error: ‘integer_sequence’ is not a member of ‘std’
  210 | struct RemoveValueImpl<T, ValueToRemove, std::integer_sequence<T, Tail...>>
      |                                               ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:210:47: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:210:71: error: template argument 3 is invalid
  210 | struct RemoveValueImpl<T, ValueToRemove, std::integer_sequence<T, Tail...>>
      |                                                                       ^~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:210:71: error: type/value mismatch at argument 3 in template parameter list for ‘template<class T, T ValueToRemove, class ... Sequence> struct ceres::internal::RemoveValueImpl’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:210:71: note:   expected a type, got ‘Tail ...’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:210:74: error: expected unqualified-id before ‘>’ token
  210 | struct RemoveValueImpl<T, ValueToRemove, std::integer_sequence<T, Tail...>>
      |                                                                          ^~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:246:25: error: ‘integer_sequence’ is not a member of ‘std’
  246 | struct AreAllEqual<std::integer_sequence<T, Value>> : std::true_type {};
      |                         ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:246:25: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:246:45: error: template argument 1 is invalid
  246 | struct AreAllEqual<std::integer_sequence<T, Value>> : std::true_type {};
      |                                             ^~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:246:45: error: type/value mismatch at argument 1 in template parameter list for ‘template<class ... Sequence> struct ceres::internal::AreAllEqual’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:246:45: note:   expected a type, got ‘Value’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:246:50: error: expected unqualified-id before ‘>’ token
  246 | struct AreAllEqual<std::integer_sequence<T, Value>> : std::true_type {};
      |                                                  ^~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:250:25: error: ‘integer_sequence’ is not a member of ‘std’
  250 | struct AreAllEqual<std::integer_sequence<T, Value1, Value2>>
      |                         ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:250:25: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:250:53: error: template argument 1 is invalid
  250 | struct AreAllEqual<std::integer_sequence<T, Value1, Value2>>
      |                                                     ^~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:250:53: error: type/value mismatch at argument 1 in template parameter list for ‘template<class ... Sequence> struct ceres::internal::AreAllEqual’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:250:53: note:   expected a type, got ‘Value1’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:250:53: error: type/value mismatch at argument 1 in template parameter list for ‘template<class ... Sequence> struct ceres::internal::AreAllEqual’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:250:53: note:   expected a type, got ‘Value2’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:250:59: error: expected unqualified-id before ‘>’ token
  250 | struct AreAllEqual<std::integer_sequence<T, Value1, Value2>>
      |                                                           ^~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:25: error: ‘integer_sequence’ is not a member of ‘std’
  256 | struct AreAllEqual<std::integer_sequence<T, Value1, Value2, Values...> >
      |                         ^~~~~~~~~~~~~~~~
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:25: error: ‘integer_sequence’ is not a member of ‘std’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:70: error: template argument 1 is invalid
  256 | struct AreAllEqual<std::integer_sequence<T, Value1, Value2, Values...> >
      |                                                                      ^
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:70: error: type/value mismatch at argument 1 in template parameter list for ‘template<class ... Sequence> struct ceres::internal::AreAllEqual’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:70: note:   expected a type, got ‘Value1’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:70: error: type/value mismatch at argument 1 in template parameter list for ‘template<class ... Sequence> struct ceres::internal::AreAllEqual’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:70: note:   expected a type, got ‘Value2’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:70: error: type/value mismatch at argument 1 in template parameter list for ‘template<class ... Sequence> struct ceres::internal::AreAllEqual’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:70: note:   expected a type, got ‘Values ...’
/home/laine/Ceres/ceres-solver-2.1.0/include/ceres/internal/integer_sequence_algorithm.h:256:72: error: expected unqualified-id before ‘>’ token
  256 | struct AreAllEqual<std::integer_sequence<T, Value1, Value2, Values...> >
      |                                                                        ^

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions