Skip to content

Unable to install from the latest source #2699

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Zumbalamambo opened this issue Oct 7, 2020 · 3 comments
Closed

Unable to install from the latest source #2699

Zumbalamambo opened this issue Oct 7, 2020 · 3 comments

Comments

@Zumbalamambo
Copy link

System information (version)
  • OpenCV => latest
  • Operating System / Platform => Mint Tara (Ubuntu)
Detailed description

It throws the following error

In file included from /usr/local/include/ceres/internal/autodiff.h:151:
In file included from /usr/local/include/ceres/internal/parameter_dims.h:37:
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:64:21: error: no member named 'integer_sequence' in namespace 'std'
struct SumImpl<std::integer_sequence<T, N, Ns...>> {
               ~~~~~^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:64:38: error: 'T' does not refer to a value
struct SumImpl<std::integer_sequence<T, N, Ns...>> {
                                     ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:63:20: note: declared here
template <typename T, T N, T... Ns>
                   ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:70:21: error: no member named 'integer_sequence' in namespace 'std'
struct SumImpl<std::integer_sequence<T, N1, N2, Ns...>> {
               ~~~~~^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:70:38: error: 'T' does not refer to a value
struct SumImpl<std::integer_sequence<T, N1, N2, Ns...>> {
                                     ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:69:20: note: declared here
template <typename T, T N1, T N2, T... Ns>
                   ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:77:21: error: no member named 'integer_sequence' in namespace 'std'
struct SumImpl<std::integer_sequence<T, N1, N2, N3, N4, Ns...>> {
               ~~~~~^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:77:38: error: 'T' does not refer to a value
struct SumImpl<std::integer_sequence<T, N1, N2, N3, N4, Ns...>> {
                                     ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:76:20: note: declared here
template <typename T, T N1, T N2, T N3, T N4, T... Ns>
                   ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:84:21: error: no member named 'integer_sequence' in namespace 'std'
struct SumImpl<std::integer_sequence<T, N>> {
               ~~~~~^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:84:38: error: 'T' does not refer to a value
struct SumImpl<std::integer_sequence<T, N>> {
                                     ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:83:20: note: declared here
template <typename T, T N>
                   ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:90:21: error: no member named 'integer_sequence' in namespace 'std'
struct SumImpl<std::integer_sequence<T>> {
               ~~~~~^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:90:38: error: 'T' does not refer to a value
struct SumImpl<std::integer_sequence<T>> {
                                     ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:89:20: note: declared here
template <typename T>
                   ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:132:39: error: no member named 'integer_sequence' in namespace 'std'
struct ExclusiveScanImpl<T, Sum, std::integer_sequence<T, N, Ns...>,
                                 ~~~~~^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:132:56: error: 'T' does not refer to a value
struct ExclusiveScanImpl<T, Sum, std::integer_sequence<T, N, Ns...>,
                                                       ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:131:20: note: declared here
template <typename T, T Sum, T N, T... Ns, T... Rs>
                   ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:133:31: error: cannot define or redeclare 'integer_sequence' here because namespace 'internal' does not enclose namespace 'std'
                         std::integer_sequence<T, Rs...>> {
                         ~~~~~^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:133:31: error: no member named 'integer_sequence' in namespace 'std'
                         std::integer_sequence<T, Rs...>> {
                         ~~~~~^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:131:40: error: template parameter pack must be the last template parameter
template <typename T, T Sum, T N, T... Ns, T... Rs>
                                       ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:133:47: error: expected ';' at end of declaration
                         std::integer_sequence<T, Rs...>> {
                                              ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:133:47: error: expected unqualified-id
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:141:34: error: template argument for template type parameter must be a type
struct ExclusiveScanImpl<T, Sum, std::integer_sequence<T>, SeqOut> {
                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:128:39: note: template parameter is declared here
template <typename T, T Sum, typename SeqIn, typename SeqOut>
                                      ^
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:155:48: error: template argument for template type parameter must be a type
      typename ExclusiveScanImpl<T, T(0), Seq, std::integer_sequence<T>>::Type;
                                               ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/ceres/internal/integer_sequence_algorithm.h:128:55: note: template parameter is declared here
template <typename T, T Sum, typename SeqIn, typename SeqOut>
                                                      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]


How can I fix this?

Steps to reproduce

make

@iyht
Copy link

iyht commented Nov 20, 2020

I got the same problem. I think I fixed it by using an older version of Ceres(1.14).
Try uninstall your Ceres and download&build&install Ceres1.14
wget ceres-solver.org/ceres-solver-1.14.0.tar.gz

@alalek
Copy link
Member

alalek commented Nov 20, 2020

Check this patch for Ceres 2.0: #2732

@VladimirBessonov
Copy link

error: no template named 'integer_sequence' in namespace 'std'; did you mean '__integer_sequence'?
on Macos

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

No branches or pull requests

4 participants