Bug#984386: vdr-plugin-epgsearch: ftbfs with GCC-11

Matthias Klose doko at debian.org
Wed Mar 3 16:18:18 GMT 2021


Package: src:vdr-plugin-epgsearch
Version: 2.4.0+git20191101-1
Severity: normal
Tags: sid bookworm
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-11

[This bug is not targeted to the upcoming bullseye release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-11/g++-11, but succeeds to build with gcc-10/g++-10. The
severity of this report will be raised before the bookworm release,
so nothing has to be done for the bullseye release.

The full build log can be found at:
http://people.debian.org/~doko/logs/20210228/filtered/gcc11/vdr-plugin-epgsearch_2.4.0+git20191101-1_unstable_gcc11.log
The last lines of the build log are at the end of this report.

To build with GCC 11, either set CC=gcc-11 CXX=g++-11 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-11/porting_to.html

GCC 11 defaults to the GNU++17 standard.  If your package installs
header files in /usr/include, please don't work around C++17 issues
by choosing a lower C++ standard for the package build, but fix these
issues to build with the C++17 standard.

[...]
dpkg-buildpackage: info: source changed by Tobias Grimm <etobi at debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
dh clean --with vdrplugin
dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
   dh_auto_clean
dh_auto_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use)
	make -j1 clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_clean
dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use)
 debian/rules build
dh build --with vdrplugin
dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
   dh_update_autotools_config
   dh_auto_configure
dh_auto_configure: warning: Compatibility levels before 10 are deprecated (level 9 in use)
   dh_auto_build
dh_auto_build: warning: Compatibility levels before 10 are deprecated (level 9 in use)
	make -j1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
CC afuzzy.o
g++ -g -O2 -fdebug-prefix-map=/build/vdr-J3eFss/vdr-2.4.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DSENDMAIL='"/usr/sbin/sendmail"' -DPLUGIN_NAME_I18N='"epgsearch"'  -o afuzzy.o afuzzy.c
afuzzy.c: In function ‘int afuzzy_checkSUB(const char*, AFUZZY*)’:
afuzzy.c:197:19: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  197 |     register char c;
      |                   ^
afuzzy.c:198:18: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  198 |     register int j, d;
      |                  ^
afuzzy.c:198:21: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  198 |     register int j, d;
      |                     ^
afuzzy.c: In function ‘int afuzzy_checkFLT(const char*, AFUZZY*)’:
afuzzy.c:239:19: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  239 |     register Uint FilterR = 0;
      |                   ^~~~~~~
afuzzy.c:240:19: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  240 |     register Uint FilterR1;
      |                   ^~~~~~~~
afuzzy.c:241:18: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  241 |     register int j;
      |                  ^
CC blacklist.o
g++ -g -O2 -fdebug-prefix-map=/build/vdr-J3eFss/vdr-2.4.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DSENDMAIL='"/usr/sbin/sendmail"' -DPLUGIN_NAME_I18N='"epgsearch"'  -o blacklist.o blacklist.c
CC changrp.o
g++ -g -O2 -fdebug-prefix-map=/build/vdr-J3eFss/vdr-2.4.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DSENDMAIL='"/usr/sbin/sendmail"' -DPLUGIN_NAME_I18N='"epgsearch"'  -o changrp.o changrp.c
CC confdloader.o
g++ -g -O2 -fdebug-prefix-map=/build/vdr-J3eFss/vdr-2.4.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DSENDMAIL='"/usr/sbin/sendmail"' -DPLUGIN_NAME_I18N='"epgsearch"'  -o confdloader.o confdloader.c
CC conflictcheck.o
g++ -g -O2 -fdebug-prefix-map=/build/vdr-J3eFss/vdr-2.4.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DSENDMAIL='"/usr/sbin/sendmail"' -DPLUGIN_NAME_I18N='"epgsearch"'  -o conflictcheck.o conflictcheck.c
In file included from /usr/include/c++/11/set:60,
                 from conflictcheck.h:30,
                 from conflictcheck.c:26:
/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 = cConflictCheckTimerObj*; _Val = cConflictCheckTimerObj*; _KeyOfValue = std::_Identity<cConflictCheckTimerObj*>; _Compare = TimerObjSort; _Alloc = std::allocator<cConflictCheckTimerObj*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<cConflictCheckTimerObj*>*]’:
/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 = cConflictCheckTimerObj*; _Val = cConflictCheckTimerObj*; _KeyOfValue = std::_Identity<cConflictCheckTimerObj*>; _Compare = TimerObjSort; _Alloc = std::allocator<cConflictCheckTimerObj*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = cConflictCheckTimerObj*]’
/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 = cConflictCheckTimerObj* const&; _Key = cConflictCheckTimerObj*; _Val = cConflictCheckTimerObj*; _KeyOfValue = std::_Identity<cConflictCheckTimerObj*>; _Compare = TimerObjSort; _Alloc = std::allocator<cConflictCheckTimerObj*>]’
/usr/include/c++/11/bits/stl_set.h:512: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(const value_type&) [with _Key = cConflictCheckTimerObj*; _Compare = TimerObjSort; _Alloc = std::allocator<cConflictCheckTimerObj*>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<cConflictCheckTimerObj*, cConflictCheckTimerObj*, std::_Identity<cConflictCheckTimerObj*>, TimerObjSort, std::allocator<cConflictCheckTimerObj*> >::const_iterator; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key>::other = std::allocator<cConflictCheckTimerObj*>; typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator<cConflictCheckTimerObj*>, cConflictCheckTimerObj*>::rebind<cConflictCheckTimerObj*>; typename _Allocator::value_type = cConflictCheckTimerObj*; std::set<_Key, _Compare, _Alloc>::value_type = cConflictCheckTimerObj*]’
conflictcheck.c:280:56:   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 TimerObjSort&, cConflictCheckTimerObj* const&, cConflictCheckTimerObj* const&>’ evaluates to false
make[1]: *** [Makefile:194: conflictcheck.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j1 returned exit code 2
make: *** [debian/rules:7: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the pkg-vdr-dvb-devel mailing list