[Debian-med-packaging] Bug#984080: lamarc: ftbfs with GCC-11

Andreas Tille tille at debian.org
Wed Oct 20 17:25:19 BST 2021


Control: tags -1 help

Hi,

I was able to fix part of the compatibility issues[1] but now the build
stumbles upon:

...
g++ -DHAVE_CONFIG_H -I. -I./config   -Wdate-time -D_FORTIFY_SOURCE=2 -DLAMARC_COMPILE_LINUX      -DNDEBUG          -Wall -Wextra -Wno-unused -I ./config -I ./config -I ./src/bayeslike - I ./src/control -I ./src/conversion -I ./src/convErr -I ./src/convModel -I ./src/convParse -I ./src/convStrings -I ./src/convUtil -I ./src/datalike -I ./src/force -I ./src/guiconv -I ./ src/guiutil -I ./src/lamarcmenus -I ./src/menu -I ./src/postlike -I ./src/report -I ./src/tools -I ./src/tree -I ./src/ui_interface -I ./src/ui_util -I ./src/ui_vars -I ./src/xml -I/usr/include/boost -I ./resources -DTIXML_USE_STL -g -O2 -ffile-prefix-map=/build/lamarc-2.1.10.1+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -c -o src/datalike/lamarc-  phenotypes.o `test -f 'src/datalike/phenotypes.cpp' || echo './'`src/datalike/phenotypes.cpp
In file included from /usr/include/c++/11/set:60,
                 from ./src/tools/rangex.h:26,
                 from src/datalike/dlcalc.h:31,
                 from src/datalike/locus.cpp:29:
/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 = std::pair<long int, long int>; _Val = std::pair<long int, long int>; _KeyOfValue = std::_Identity<std::pair<long int, long int> >;      _Compare = rangecmp; _Alloc = std::allocator<std::pair<long int, long int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<std:: pair<long int, long int> >*]':
/usr/include/c++/11/bits/stl_tree.h:2069: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 = std::pair<long int, long int>; _Val = std::pair<long int, long int>; _KeyOfValue = std::_Identity<std::pair<long int, long int> >; _Compare = rangecmp; _Alloc = std::allocator<std::pair<long int, long int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = std::pair<long int, long int>]'
/usr/include/c++/11/bits/stl_tree.h:2122: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 = std::pair<long int, long int>; _Key = std::pair<long int, long int>; _Val = std::pair<long int, long int>; _KeyOfValue = std::_Identity<std::       pair<long int, long int> >; _Compare = rangecmp; _Alloc = std::allocator<std::pair<long int, long int> >]'
/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 = std::pair<long int, long int>; _Compare = rangecmp; _Alloc = std::allocator<std::pair<long int, long int> >; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::   rebind<_Key>::other>::const_iterator = std::_Rb_tree<std::pair<long int, long int>, std::pair<long int, long int>, std::_Identity<std::pair<long int, long int> >, rangecmp, std::        allocator<std::pair<long int, long int> > >::const_iterator; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other = std::allocator<std::pair<long int, long int> >;        typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<std::pair<long int, long int> >, std::pair<long int, long int> >::rebind<std::    pair<long int, long int> >; typename _Allocator::value_type = std::pair<long int, long int>; std::set<_Key, _Compare, _Alloc>::value_type = std::pair<long int, long int>]'
src/datalike/locus.cpp:204:24:   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 |         In file included from /usr/include/c++/11/set:60,
                 from ./src/tools/rangex.h:26,
                 from src/datalike/dlcalc.h:31,
/usr/include/c++/11/bits/stl_tree.h:770:15: note: 'std::is_invocable_v<const rangecmp&, const std::pair<long int, long int>&, const std::pair<long int, long int>&>' evaluates to false
make[1]: *** [Makefile:7499: src/datalike/lamarc-locus.o] Error 1


Any help is welcome

      Andreas.

[1] https://salsa.debian.org/med-team/lamarc/-/blob/master/debian/patches/throw_noexcept.patch

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list