Bug#984393: vdr-plugin-xineliboutput: ftbfs with GCC-11

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


Package: src:vdr-plugin-xineliboutput
Version: 2.1.0+git20191101-1.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-xineliboutput_2.1.0+git20191101-1.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.

[...]
device.c:1370:16: error: ‘min’ was not declared in this scope; did you mean ‘std::min’?
 1370 |       result = min(result, m_local->Poll(Poller, TimeoutMs));
      |                ^~~
      |                std::min
In file included from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1927,
                 from /usr/include/c++/11/math.h:36,
                 from /usr/include/vdr/tools.h:18,
                 from /usr/include/vdr/i18n.h:14,
                 from /usr/include/vdr/config.h:19,
                 from device.c:15:
/usr/include/c++/11/bits/stl_algobase.h:278:5: note: ‘std::min’ declared here
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
device.c:1372:16: error: ‘min’ was not declared in this scope; did you mean ‘std::min’?
 1372 |       result = min(result, m_server->Poll(Poller, TimeoutMs));
      |                ^~~
      |                std::min
In file included from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1927,
                 from /usr/include/c++/11/math.h:36,
                 from /usr/include/vdr/tools.h:18,
                 from /usr/include/vdr/i18n.h:14,
                 from /usr/include/vdr/config.h:19,
                 from device.c:15:
/usr/include/c++/11/bits/stl_algobase.h:278:5: note: ‘std::min’ declared here
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
device.c:1374:18: error: ‘max’ was not declared in this scope; did you mean ‘std::max’?
 1374 |     m_FreeBufs = max(result, 0);
      |                  ^~~
      |                  std::max
In file included from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1927,
                 from /usr/include/c++/11/math.h:36,
                 from /usr/include/vdr/tools.h:18,
                 from /usr/include/vdr/i18n.h:14,
                 from /usr/include/vdr/config.h:19,
                 from device.c:15:
/usr/include/c++/11/bits/stl_algobase.h:300:5: note: ‘std::max’ declared here
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
device.c: In member function ‘virtual void cXinelibDevice::GetOsdSize(int&, int&, double&)’:
device.c:1526:18: error: ‘max’ was not declared in this scope; did you mean ‘std::max’?
 1526 |         Width  = max<int>(m_VideoSize->width,  512);
      |                  ^~~
      |                  std::max
In file included from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1927,
                 from /usr/include/c++/11/math.h:36,
                 from /usr/include/vdr/tools.h:18,
                 from /usr/include/vdr/i18n.h:14,
                 from /usr/include/vdr/config.h:19,
                 from device.c:15:
/usr/include/c++/11/bits/stl_algobase.h:300:5: note: ‘std::max’ declared here
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
device.c:1526:22: error: expected primary-expression before ‘int’
 1526 |         Width  = max<int>(m_VideoSize->width,  512);
      |                      ^~~
device.c:1527:22: error: expected primary-expression before ‘int’
 1527 |         Height = max<int>(m_VideoSize->height, 480);
      |                      ^~~
make[2]: *** [Makefile:273: device.o] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j1 all returned exit code 2
make[1]: *** [debian/rules:13: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:7: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



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