Skip to content

installation error using coinbrew #80

@FoHoOV

Description

@FoHoOV

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions