[MacPorts] #70908: xqilla fails to build: error: static assertion failed: comparison object must be invocable as const

MacPorts noreply at macports.org
Tue Sep 24 22:58:46 UTC 2024


#70908: xqilla fails to build: error: static assertion failed: comparison object
must be invocable as const
--------------------------+--------------------
 Reporter:  barracuda156  |      Owner:  (none)
     Type:  defect        |     Status:  new
 Priority:  Normal        |  Milestone:
Component:  ports         |    Version:  2.10.1
 Keywords:                |       Port:  xqilla
--------------------------+--------------------
 {{{
 In file included from /opt/local/include/gcc14/c++/set:62,
                  from ./include/xqilla/ast/XQDocumentOrder.hpp:27,
                  from src/ast/XQDocumentOrder.cpp:22:
 /opt/local/include/gcc14/c++/bits/stl_tree.h: In instantiation of 'static
 const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
 _Alloc>::_S_key(_Const_Link_type) [with _Key = RefCountPointer<const
 Node>; _Val = RefCountPointer<const Node>; _KeyOfValue =
 std::_Identity<RefCountPointer<const Node> >; _Compare =
 UniqueNodesResult::uniqueLessThanCompareFn; _Alloc =
 std::allocator<RefCountPointer<const Node> >; _Const_Link_type = const
 std::_Rb_tree_node<RefCountPointer<const Node> >*]':
 /opt/local/include/gcc14/c++/bits/stl_tree.h:2114: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 =
 RefCountPointer<const Node>; _Val = RefCountPointer<const Node>;
 _KeyOfValue = std::_Identity<RefCountPointer<const Node> >; _Compare =
 UniqueNodesResult::uniqueLessThanCompareFn; _Alloc =
 std::allocator<RefCountPointer<const Node> >; key_type =
 RefCountPointer<const Node>]'
  2114 |           __comp = _M_impl._M_key_compare(__k, _S_key(__x));
       |                                                ~~~~~~^~~~~
 /opt/local/include/gcc14/c++/bits/stl_tree.h:2167: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 =
 RefCountPointer<const Node>; _Key = RefCountPointer<const Node>; _Val =
 RefCountPointer<const Node>; _KeyOfValue =
 std::_Identity<RefCountPointer<const Node> >; _Compare =
 UniqueNodesResult::uniqueLessThanCompareFn; _Alloc =
 std::allocator<RefCountPointer<const Node> >]'
  2167 |         = _M_get_insert_unique_pos(_KeyOfValue()(__v));
       |           ^~~~~~~~~~~~~~~~~~~~~~~~
 /opt/local/include/gcc14/c++/bits/stl_set.h:523: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(value_type&&) [with _Key =
 RefCountPointer<const Node>; _Compare =
 UniqueNodesResult::uniqueLessThanCompareFn; _Alloc =
 std::allocator<RefCountPointer<const Node> >; typename std::_Rb_tree<_Key,
 _Key, std::_Identity<_Tp>, _Compare, typename
 __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other>::const_iterator
 = std::_Rb_tree<RefCountPointer<const Node>, RefCountPointer<const Node>,
 std::_Identity<RefCountPointer<const Node> >,
 UniqueNodesResult::uniqueLessThanCompareFn,
 std::allocator<RefCountPointer<const Node> > >::const_iterator; typename
 __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other =
 std::allocator<RefCountPointer<const Node> >; typename
 __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key> =
 __gnu_cxx::__alloc_traits<std::allocator<RefCountPointer<const Node> >,
 RefCountPointer<const Node> >::rebind<RefCountPointer<const Node> >;
 typename _Allocator::value_type = RefCountPointer<const Node>; value_type
 = RefCountPointer<const Node>]'
   523 |           _M_t._M_insert_unique(std::move(__x));
       |           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
 src/ast/XQDocumentOrder.cpp:104:22:   required from here
   104 |                   if(noDups_.insert(result).second) break;
       |                      ~~~~~~~~~~~~~~^~~~~~~~
 /opt/local/include/gcc14/c++/bits/stl_tree.h:768:15: error: static
 assertion failed: comparison object must be invocable as const
   768 |               is_invocable_v<const _Compare&, const _Key&, const
 _Key&>,
       |
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /opt/local/include/gcc14/c++/bits/stl_tree.h:768:15: note:
 'std::is_invocable_v<const UniqueNodesResult::uniqueLessThanCompareFn&,
 const RefCountPointer<const Node>&, const RefCountPointer<const Node>&>'
 evaluates to false
 make[1]: *** [XQDocumentOrder.lo] Error 1
 make[1]: *** Waiting for unfinished jobs....
 mv -f .deps/ConvertFunctionArg.Tpo .deps/ConvertFunctionArg.Plo
 mv -f .deps/XQTypeswitch.Tpo .deps/XQTypeswitch.Plo
 mv -f .deps/XQValidate.Tpo .deps/XQValidate.Plo
 libtool: compile:  ccache /opt/local/bin/g++-mp-14 -DHAVE_CONFIG_H -I.
 -I./src/config -I./include/ -I/opt/local/include -I./src/lexer/
 -I/opt/local/include -isystem/opt/local/include -pipe -Os
 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -ftemplate-depth-50 -MT
 XQPredicate.lo -MD -MP -MF .deps/XQPredicate.Tpo -c
 src/ast/XQPredicate.cpp -o XQPredicate.o >/dev/null 2>&1
 In file included from src/ast/XQReturn.cpp:26:
 ./include/xqilla/utils/XPath2Utils.hpp: In static member function 'static
 bool XPath2Utils::equals(const XMLCh*, const XMLCh*)':
 ./include/xqilla/utils/XPath2Utils.hpp:107:25: warning: ISO C++17 does not
 allow 'register' storage class specifier [-Wregister]
   107 |   register const XMLCh* psz1 = str1;
       |                         ^~~~
 ./include/xqilla/utils/XPath2Utils.hpp:108:25: warning: ISO C++17 does not
 allow 'register' storage class specifier [-Wregister]
   108 |   register const XMLCh* psz2 = str2;
       |                         ^~~~
 ./include/xqilla/utils/XPath2Utils.hpp: In static member function 'static
 int XPath2Utils::compare(const XMLCh*, const XMLCh*)':
 ./include/xqilla/utils/XPath2Utils.hpp:128:16: warning: ISO C++17 does not
 allow 'register' storage class specifier [-Wregister]
   128 |   register int cmp;
       |                ^~~
 libtool: compile:  ccache /opt/local/bin/g++-mp-14 -DHAVE_CONFIG_H -I.
 -I./src/config -I./include/ -I/opt/local/include -I./src/lexer/
 -I/opt/local/include -isystem/opt/local/include -pipe -Os
 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -ftemplate-depth-50 -MT XQReturn.lo
 -MD -MP -MF .deps/XQReturn.Tpo -c src/ast/XQReturn.cpp -o XQReturn.o
 >/dev/null 2>&1
 mv -f .deps/XQPredicate.Tpo .deps/XQPredicate.Plo
 mv -f .deps/XQReturn.Tpo .deps/XQReturn.Plo
 make[1]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_xqilla/xqilla/work/XQilla-2.3.4'
 make: *** [all-recursive] Error 1
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/70908>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list