Bug#1097072: kodi-inputstream-adaptive: ftbfs with GCC-15
Package: src:kodi-inputstream-adaptive
Version: 21.5.9+ds-1
Severity: important
Tags: sid forky
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-15
[This bug is NOT targeted to the upcoming trixie 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-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.
The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/kodi-inputstream-adaptive_21.5.9+ds-1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.
To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other 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-15/porting_to.html
[...]
58 | uint64_t m_initRangeBegin = NO_VALUE;
| ^~~~~~~~
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentList.h:59:29: error: ‘NO_VALUE’ was not declared in this scope
59 | uint64_t m_initRangeEnd = NO_VALUE;
| ^~~~~~~~
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentList.h: In member function ‘bool PLAYLIST::CSegmentList::HasInitialization()’:
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentList.h:50:57: error: ‘NO_VALUE’ was not declared in this scope
50 | bool HasInitialization() { return m_initRangeBegin != NO_VALUE && m_initRangeEnd != NO_VALUE; }
| ^~~~~~~~
In file included from /build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/AdaptationSet.h:13:
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/Period.h: At global scope:
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/Period.h:141:20: error: ‘NO_VALUE’ was not declared in this scope
141 | uint64_t m_start{NO_VALUE};
| ^~~~~~~~
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/Period.h:141:28: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘uint64_t’ {aka ‘long unsigned int’} in initialization
141 | uint64_t m_start{NO_VALUE};
| ^
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/AdaptationSet.h:179:36: error: ‘NO_VALUE’ was not declared in this scope
179 | uint64_t m_segDurationsTimescale{NO_VALUE};
| ^~~~~~~~
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/AdaptationSet.h:179:44: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘uint64_t’ {aka ‘long unsigned int’} in initialization
179 | uint64_t m_segDurationsTimescale{NO_VALUE};
| ^
In file included from /build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/Representation.h:15:
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentBase.h:55:29: error: ‘NO_VALUE’ was not declared in this scope
55 | uint64_t m_initRangeBegin{NO_VALUE};
| ^~~~~~~~
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentBase.h:55:37: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘uint64_t’ {aka ‘long unsigned int’} in initialization
55 | uint64_t m_initRangeBegin{NO_VALUE};
| ^
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentBase.h:56:27: error: ‘NO_VALUE’ was not declared in this scope
56 | uint64_t m_initRangeEnd{NO_VALUE};
| ^~~~~~~~
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentBase.h:56:35: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘uint64_t’ {aka ‘long unsigned int’} in initialization
56 | uint64_t m_initRangeEnd{NO_VALUE};
| ^
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentBase.h: In member function ‘bool PLAYLIST::CSegmentBase::HasInitialization()’:
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/SegmentBase.h:46:57: error: ‘NO_VALUE’ was not declared in this scope
46 | bool HasInitialization() { return m_initRangeBegin != NO_VALUE && m_initRangeEnd != NO_VALUE; }
| ^~~~~~~~
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/Representation.h: At global scope:
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/Representation.h:174:25: error: ‘PSSHSET_POS_DEFAULT’ was not declared in this scope
174 | uint16_t m_psshSetPos{PSSHSET_POS_DEFAULT}; // Index position of the PSSHSet
| ^~~~~~~~~~~~~~~~~~~
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/Representation.h:174:44: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘uint16_t’ {aka ‘short unsigned int’} in initialization
174 | uint16_t m_psshSetPos{PSSHSET_POS_DEFAULT}; // Index position of the PSSHSet
| ^
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/AdaptiveUtils.cpp:47:84: error: ‘bool PLAYLIST::ParseRangeRFC(std::string_view, uint64_t&, uint64_t&)’ should have been declared inside ‘PLAYLIST’
47 | bool PLAYLIST::ParseRangeRFC(std::string_view range, uint64_t& start, uint64_t& end)
| ^
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/AdaptiveUtils.cpp:64:59: error: ‘bool PLAYLIST::ParseRangeValues(std::string_view, uint64_t&, uint64_t&, char)’ should have been declared inside ‘PLAYLIST’
64 | char separator /* = '@' */)
| ^
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/AdaptiveUtils.cpp: In function ‘AP4_Movie* PLAYLIST::CreateMovieAtom(adaptive::AdaptiveStream&, kodi::addon::InputstreamInfo&)’:
/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/AdaptiveUtils.cpp:124:32: error: ‘PSSHSET_POS_DEFAULT’ was not declared in this scope
124 | if (repr->GetPsshSetPos() != PSSHSET_POS_DEFAULT)
| ^~~~~~~~~~~~~~~~~~~
[ 43%] Building CXX object CMakeFiles/inputstream.adaptive.dir/src/common/ChooserDefault.cpp.o
/usr/bin/c++ -DADDON_GLOBAL_VERSION_FILESYSTEM_USED -DADDON_GLOBAL_VERSION_GENERAL_USED -DADDON_GLOBAL_VERSION_GUI_USED -DADDON_GLOBAL_VERSION_MAIN_USED -DADDON_GLOBAL_VERSION_TOOLS_USED -DADDON_INSTANCE_VERSION_INPUTSTREAM_USED -DADDON_INSTANCE_VERSION_VIDEOCODEC_USED -DBUILD_KODI_ADDON -D__STDC_FORMAT_MACROS -Dinputstream_adaptive_EXPORTS -I/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src -I/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/bento4/install/include -I/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/lib/mpegts -I/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/lib/cdm -g -O2 -ffile-prefix-map=/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17 -fPIC -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAV
E_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1 -MD -MT CMakeFiles/inputstream.adaptive.dir/src/common/ChooserDefault.cpp.o -MF CMakeFiles/inputstream.adaptive.dir/src/common/ChooserDefault.cpp.o.d -o CMakeFiles/inputstream.adaptive.dir/src/common/ChooserDefault.cpp.o -c /build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/src/common/ChooserDefault.cpp
make[3]: *** [CMakeFiles/inputstream.adaptive.dir/build.make:362: CMakeFiles/inputstream.adaptive.dir/src/common/AdaptiveStream.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [CMakeFiles/inputstream.adaptive.dir/build.make:404: CMakeFiles/inputstream.adaptive.dir/src/common/AdaptiveUtils.cpp.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:414: CMakeFiles/inputstream.adaptive.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/obj-x86_64-linux-gnu'
make[1]: *** [Makefile:169: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/kodi-inputstream-adaptive-21.5.9+ds/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:34: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: