Skip to content
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

installation error using coinbrew #80

Open
FoHoOV opened this issue Nov 20, 2024 · 1 comment
Open

installation error using coinbrew #80

FoHoOV opened this issue Nov 20, 2024 · 1 comment

Comments

@FoHoOV
Copy link

FoHoOV commented Nov 20, 2024

I've followed the instructions of coinbrew on how to install packages, but it gives me this error while trying to build/install this package.
command I'm running:

bash

./coinbrew build

and then selecting 17 for this package (I've also installed gfortran-9 and used update-alternatives to map gfortran to gfortran-9 because that also gave build errors)

here is my current error output:

##################################################
### Building Couenne 0.5.8
##################################################

In file included from /home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExprCopy.hpp:17,
                 from /home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExprClone.hpp:18,
                 from /home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.hpp:16,
                 from /home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:15:
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExpression.hpp:279:39: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  279 | inline bool updateBound (register int sign,
      |                                       ^~~~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExpression.hpp:280:46: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  280 |                          register CouNumber *dst,
      |                                              ^~~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExpression.hpp:281:45: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  281 |                          register CouNumber src) {
      |                                             ^~~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExpression.hpp: In function 'bool Couenne::updateBound(int, Couenne::CouNumber*, Couenne::CouNumber)':
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExpression.hpp:291:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  291 |   register double delta = (sign > 0) ? (*dst - src) : (src - *dst);
      |                   ^~~~~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExpression.hpp: In function 'int Couenne::compareExpr(const void*, const void*)':
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExpression.hpp:305:12: warning: cast from type 'const void*' to type 'Couenne::expression**' casts away qualifiers [-Wcast-qual]
  305 | {return ((*(expression **) e0) -> compare (**(expression **)e1));}
      |            ^~~~~~~~~~~~~~~~~~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/../../expression/CouenneExpression.hpp:305:46: warning: cast from type 'const void*' to type 'Couenne::expression**' casts away qualifiers [-Wcast-qual]
  305 | {return ((*(expression **) e0) -> compare (**(expression **)e1));}
      |                                              ^~~~~~~~~~~~~~~~~
In file included from /home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:15:
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.hpp: At global scope:
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.hpp:71:63: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   71 |       inline bool operator() (register CouenneScalar * const &a,
      |                                                               ^
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.hpp:72:63: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   72 |                               register CouenneScalar * const &b)
      |                                                               ^
In file included from /home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:15:
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.hpp:109:86: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  109 |       inline bool operator() (register const std::pair <int, CouenneSparseVector *> &a,
      |                                                                                      ^
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.hpp:110:86: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  110 |                               register const std::pair <int, CouenneSparseVector *> &b) const
      |                                                                                      ^
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp: In copy constructor 'Couenne::CouenneSparseVector::CouenneSparseVector(const Couenne::CouenneSparseVector&)':
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:25:10: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   25 |          i  = rhs. elem_. begin ();
      |          ^
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp: In member function 'Couenne::CouenneSparseVector& Couenne::CouenneSparseVector::operator=(const Couenne::CouenneSparseVector&)':
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:36:10: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   36 |          i  = rhs. elem_. begin ();
      |          ^
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp: In member function 'double Couenne::CouenneSparseVector::multiply_thres(const Couenne::CouenneSparseVector&, double) const':
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:129:10: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  129 |          i1 =    elem_. begin (),
      |          ^~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:130:10: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  130 |          i2 = v2.elem_. begin ();
      |          ^~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:135:5: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
  135 |     while ((i1 !=    elem_.end ()) && ((*i1) -> getIndex () < (*i2) -> getIndex ())) ++i1; if (i1 ==     elem_. end ()) return prod;
      |     ^~~~~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:135:92: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
  135 |     while ((i1 !=    elem_.end ()) && ((*i1) -> getIndex () < (*i2) -> getIndex ())) ++i1; if (i1 ==     elem_. end ()) return prod;
      |                                                                                            ^~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:136:5: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
  136 |     while ((i2 != v2.elem_.end ()) && ((*i2) -> getIndex () < (*i1) -> getIndex ())) ++i2; if (i2 == v2. elem_. end ()) return prod;
      |     ^~~~~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:136:92: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
  136 |     while ((i2 != v2.elem_.end ()) && ((*i2) -> getIndex () < (*i1) -> getIndex ())) ++i2; if (i2 == v2. elem_. end ()) return prod;
      |                                                                                            ^~
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp: In destructor 'Couenne::CouenneSparseVector::~CouenneSparseVector()':
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:216:10: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  216 |          i  = elem_. begin ();
      |          ^
In file included from /usr/include/c++/11/set:60,
                 from /home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.hpp:13,
                 from /home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:15:
/usr/include/c++/11/bits/stl_tree.h: In instantiation of 'static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type) [with _Key = Couenne::CouenneScalar*; _Val = Couenne::CouenneScalar*; _KeyOfValue = std::_Identity<Couenne::CouenneScalar*>; _Compare = Couenne::CouenneSparseVector::compare_scalars; _Alloc = std::allocator<Couenne::CouenneScalar*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<Couenne::CouenneScalar*>*]':
/usr/include/c++/11/bits/stl_tree.h:2071:47:   required from 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = Couenne::CouenneScalar*; _Val = Couenne::CouenneScalar*; _KeyOfValue = std::_Identity<Couenne::CouenneScalar*>; _Compare = Couenne::CouenneSparseVector::compare_scalars; _Alloc = std::allocator<Couenne::CouenneScalar*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = Couenne::CouenneScalar*]'
/usr/include/c++/11/bits/stl_tree.h:2124:4:   required from 'std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(_Arg&&) [with _Arg = Couenne::CouenneScalar*; _Key = Couenne::CouenneScalar*; _Val = Couenne::CouenneScalar*; _KeyOfValue = std::_Identity<Couenne::CouenneScalar*>; _Compare = Couenne::CouenneSparseVector::compare_scalars; _Alloc = std::allocator<Couenne::CouenneScalar*>]'
/usr/include/c++/11/bits/stl_set.h:521:25:   required from 'std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = Couenne::CouenneScalar*; _Compare = Couenne::CouenneSparseVector::compare_scalars; _Alloc = std::allocator<Couenne::CouenneScalar*>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<Couenne::CouenneScalar*, Couenne::CouenneScalar*, std::_Identity<Couenne::CouenneScalar*>, Couenne::CouenneSparseVector::compare_scalars, std::allocator<Couenne::CouenneScalar*> >::const_iterator; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other = std::allocator<Couenne::CouenneScalar*>; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<Couenne::CouenneScalar*>, Couenne::CouenneScalar*>::rebind<Couenne::CouenneScalar*>; typename _Allocator::value_type = Couenne::CouenneScalar*; std::set<_Key, _Compare, _Alloc>::value_type = Couenne::CouenneScalar*]'
/home/godzy/dlgit/coinbrew/Couenne/Couenne/src/cut/sdpcuts/CouenneMatrix.cpp:28:19:   required from here
/usr/include/c++/11/bits/stl_tree.h:770:15: error: static assertion failed: comparison object must be invocable as const
  770 |               is_invocable_v<const _Compare&, const _Key&, const _Key&>,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/stl_tree.h:770:15: note: 'std::is_invocable_v<const Couenne::CouenneSparseVector::compare_scalars&, Couenne::CouenneScalar* const&, Couenne::CouenneScalar* const&>' evaluates to false
make[1]: *** [Makefile:424: CouenneMatrix.lo] Error 1
make: *** [Makefile:477: all-recursive] Error 1
@FoHoOV
Copy link
Author

FoHoOV commented Nov 20, 2024

running like this did the job:
./coinbrew build Couenne ADD_CXXFLAGS=-std=c++11 --reconfigure

imma keep this issue open, maybe you want to do this automatically or add a warning.

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

No branches or pull requests

1 participant