Bug#984385: vdr-plugin-dvd: ftbfs with GCC-11
Matthias Klose
doko at debian.org
Wed Mar 3 16:18:17 GMT 2021
Package: src:vdr-plugin-dvd
Version: 0.3.6~b03+cvs20090426.0013-28
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-dvd_0.3.6~b03+cvs20090426.0013-28_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.
[...]
player-dvd.c:417:30: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 5 has type ‘int64_t’ {aka ‘long int’} [-Wformat=]
417 | fprintf(f, "%d:%d:%lld:%s\n", re->title, re->chapter, re->second, re->key);
| ~~~^ ~~~~~~~~~~
| | |
| long long int int64_t {aka long int}
| %ld
player-dvd.c: In member function ‘void cDvdPlayer::GetAudioLanguageStr(const char**) const’:
player-dvd.c:3066:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
3066 | audioTypeDescr = "ac3";
| ^~~~~
player-dvd.c:3069:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
3069 | audioTypeDescr = "dts";
| ^~~~~
player-dvd.c:3072:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
3072 | audioTypeDescr = "pcm";
| ^~~~~
player-dvd.c:3075:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
3075 | audioTypeDescr = "mp2";
| ^~~~~
player-dvd.c:3078:30: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
3078 | audioTypeDescr = "non";
| ^~~~~
player-dvd.c:3083:33: warning: narrowing conversion of ‘audioStreamLanguageCode’ from ‘uint16_t’ {aka ‘short unsigned int’} to ‘char’ [-Wnarrowing]
3083 | char audioLanguageStr[3] = {audioStreamLanguageCode, audioStreamLanguageCode >> 8, 0};
| ^~~~~~~~~~~~~~~~~~~~~~~
player-dvd.c:3083:82: warning: narrowing conversion of ‘(int)(audioStreamLanguageCode >> 8)’ from ‘int’ to ‘char’ [-Wnarrowing]
3083 | char audioLanguageStr[3] = {audioStreamLanguageCode, audioStreamLanguageCode >> 8, 0};
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
player-dvd.c: In member function ‘void cDvdPlayer::GetSubtitleLanguageStr(const char**) const’:
player-dvd.c:3101:36: warning: narrowing conversion of ‘subtitleStreamLanguageCode’ from ‘int’ to ‘char’ [-Wnarrowing]
3101 | char subtitleLanguageStr[3] = {subtitleStreamLanguageCode, subtitleStreamLanguageCode >> 8, 0};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
player-dvd.c:3101:91: warning: narrowing conversion of ‘(subtitleStreamLanguageCode >> 8)’ from ‘int’ to ‘char’ [-Wnarrowing]
3101 | char subtitleLanguageStr[3] = {subtitleStreamLanguageCode, subtitleStreamLanguageCode >> 8, 0};
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -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 -O3 -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"dvd"' -D__STDC_LIMIT_MACROS -I/usr/include/vdr/include -I/usr/include/dvdnav control-dvd.c
control-dvd.c: In member function ‘void cDvdPlayerControl::TimeSearchProcess(eKeys)’:
control-dvd.c:435:27: error: ‘min’ was not declared in this scope; did you mean ‘std::min’?
435 | Seconds = min(Total - Current - STAY_SECONDS_OFF_END, Seconds);
| ^~~
| 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 control-dvd.c:12:
/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)
| ^~~
control-dvd.c:453:23: error: ‘min’ was not declared in this scope; did you mean ‘std::min’?
453 | Seconds = min(Total - STAY_SECONDS_OFF_END, Seconds);
| ^~~
| 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 control-dvd.c:12:
/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)
| ^~~
make[2]: *** [Makefile:83: control-dvd.o] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j1 all VDRDIR=/usr/include/vdr LIBDIR=. LOCALEDIR=locale returned exit code 2
make[1]: *** [debian/rules:16: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:13: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
More information about the pkg-vdr-dvb-devel
mailing list