Bug#853476: kodi: ftbfs with GCC-7

Bálint Réczey balint at balintreczey.hu
Thu Jun 29 02:49:02 UTC 2017


Control: reassign -1 libiso9660-dev 0.83-4.3
Control: affects -1 kodi

Hi Matthias,

2017-01-31 10:32 GMT+01:00 Matthias Klose <doko at debian.org>:
> Package: src:kodi
> Version: 2:17.0~rc3+dfsg1-2
> Severity: normal
> Tags: sid buster
> User: debian-gcc at lists.debian.org
> Usertags: ftbfs-gcc-7
>
> 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-7/g++-7, but succeeds to build with gcc-6/g++-6. The
> severity of this report may be raised before the buster release.
> There is no need to fix this issue in time for the stretch release.
>
> The full build log can be found at:
> http://people.debian.org/~doko/logs/gcc7-20170126/kodi_17.0~rc3+dfsg1-2_unstable_gcc7.log
> The last lines of the build log are at the end of this report.
>
> To build with GCC 7, either set CC=gcc-7 CXX=g++-7 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-7/porting_to.html
>
> [...]


The build failed a bit earlier, with:

CPP     xbmc/dbwrappers/mysqldataset.o
In file included from
/<<BUILDDIR>>/kodi-17.0~rc3+dfsg1/xbmc/filesystem/iso9660.h:35:0,
                 from DetectDVDType.cpp:30:
/usr/include/cdio/iso9660.h:277:45: error: flexible array member
'iso9660_dir_s::filename' not at end of 'struct iso9660_pvd_s'
   char             filename[EMPTY_ARRAY_SIZE];
                                             ^
/usr/include/cdio/iso9660.h:310:20: note: next member 'char
iso9660_pvd_s::root_directory_filename' declared here
   char             root_directory_filename;      /**< Is '\\0' or root
                    ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cdio/iso9660.h:283:8: note: in the definition of 'struct
iso9660_pvd_s'
 struct iso9660_pvd_s {
        ^~~~~~~~~~~~~
/usr/include/cdio/iso9660.h:277:45: error: flexible array member
'iso9660_dir_s::filename' not at end of 'struct iso9660_svd_s'
   char             filename[EMPTY_ARRAY_SIZE];
                                             ^
/usr/include/cdio/iso9660.h:424:20: note: next member 'char
iso9660_svd_s::root_directory_filename' declared here
   char             root_directory_filename;      /**< Is '\\0' or root
                    ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cdio/iso9660.h:392:8: note: in the definition of 'struct
iso9660_svd_s'
 struct iso9660_svd_s {
        ^~~~~~~~~~~~~
...

The problem is in the structure definitions of iso9660.h

The easies way of reproducing the issue is running:
$ sudo apt-get install libiso9660-dev g++-7
$ echo '#include <cdio/iso9660.h>' | g++-7 -x c++ -
In file included from <stdin>:1:0:
...

...
> debian/rules:131: recipe for target 'override_dh_auto_build' failed
> make[1]: *** [override_dh_auto_build] Error 2
> make[1]: Leaving directory '/<<BUILDDIR>>/kodi-17.0~rc3+dfsg1'
> debian/rules:79: recipe for target 'build' failed
> make: *** [build] Error 2
> dpkg-buildpackage: error: debian/rules build gave error exit status 2

Cheers,
Balint



More information about the pkg-multimedia-maintainers mailing list