Bug#1013062: visualboyadvance: ftbfs with GCC-12

Matthias Klose doko at debian.org
Thu Jun 16 13:14:54 BST 2022


Package: src:visualboyadvance
Version: 1.8.0.dfsg-5
Severity: normal
Tags: sid bookworm
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-12

[This bug is targeted to the upcoming bookworm 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-12/g++-12, but succeeds to build with gcc-11/g++-11. The
severity of this report will be raised before the bookworm release.

The full build log can be found at:
http://qa-logs.debian.net/2022/06/09/gcc12/visualboyadvance_1.8.0.dfsg-5_unstable_gcc12.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.

[...]
../thumb.h:26:47: warning: iteration 17 invokes undefined behavior [-Waggressive-loop-optimizations]
   26 |                                    oldreg[xxx]=reg[xxx].I; \
      |                                    ~~~~~~~~~~~^~~~~~~~~~~
../thumb.h:1945:18: note: in expansion of macro ‘UPDATE_OLD_REG’
 1945 |                  UPDATE_OLD_REG
      |                  ^~~~~~~~~~~~~~
../thumb.h:25:43: note: within this loop
   25 |                            for (xxx=0; xxx<18; xxx++){ \
      |                                        ~~~^~~
../thumb.h:1945:18: note: in expansion of macro ‘UPDATE_OLD_REG’
 1945 |                  UPDATE_OLD_REG
      |                  ^~~~~~~~~~~~~~
../thumb.h:26:47: warning: iteration 17 invokes undefined behavior [-Waggressive-loop-optimizations]
   26 |                                    oldreg[xxx]=reg[xxx].I; \
      |                                    ~~~~~~~~~~~^~~~~~~~~~~
../thumb.h:1426:18: note: in expansion of macro ‘UPDATE_OLD_REG’
 1426 |                  UPDATE_OLD_REG
      |                  ^~~~~~~~~~~~~~
../thumb.h:25:43: note: within this loop
   25 |                            for (xxx=0; xxx<18; xxx++){ \
      |                                        ~~~^~~
../thumb.h:1426:18: note: in expansion of macro ‘UPDATE_OLD_REG’
 1426 |                  UPDATE_OLD_REG
      |                  ^~~~~~~~~~~~~~
../thumb.h:26:47: warning: iteration 17 invokes undefined behavior [-Waggressive-loop-optimizations]
   26 |                                    oldreg[xxx]=reg[xxx].I; \
      |                                    ~~~~~~~~~~~^~~~~~~~~~~
../thumb.h:1402:18: note: in expansion of macro ‘UPDATE_OLD_REG’
 1402 |                  UPDATE_OLD_REG
      |                  ^~~~~~~~~~~~~~
../thumb.h:25:43: note: within this loop
   25 |                            for (xxx=0; xxx<18; xxx++){ \
      |                                        ~~~^~~
../thumb.h:1402:18: note: in expansion of macro ‘UPDATE_OLD_REG’
 1402 |                  UPDATE_OLD_REG
      |                  ^~~~~~~~~~~~~~
../thumb.h:26:47: warning: iteration 17 invokes undefined behavior [-Waggressive-loop-optimizations]
   26 |                                    oldreg[xxx]=reg[xxx].I; \
      |                                    ~~~~~~~~~~~^~~~~~~~~~~
../thumb.h:1380:14: note: in expansion of macro ‘UPDATE_OLD_REG’
 1380 |              UPDATE_OLD_REG
      |              ^~~~~~~~~~~~~~
../thumb.h:25:43: note: within this loop
   25 |                            for (xxx=0; xxx<18; xxx++){ \
      |                                        ~~~^~~
../thumb.h:1380:14: note: in expansion of macro ‘UPDATE_OLD_REG’
 1380 |              UPDATE_OLD_REG
      |              ^~~~~~~~~~~~~~
../thumb.h:26:47: warning: iteration 17 invokes undefined behavior [-Waggressive-loop-optimizations]
   26 |                                    oldreg[xxx]=reg[xxx].I; \
      |                                    ~~~~~~~~~~~^~~~~~~~~~~
../thumb.h:1363:14: note: in expansion of macro ‘UPDATE_OLD_REG’
 1363 |              UPDATE_OLD_REG
      |              ^~~~~~~~~~~~~~
../thumb.h:25:43: note: within this loop
   25 |                            for (xxx=0; xxx<18; xxx++){ \
      |                                        ~~~^~~
../thumb.h:1363:14: note: in expansion of macro ‘UPDATE_OLD_REG’
 1363 |              UPDATE_OLD_REG
      |              ^~~~~~~~~~~~~~
make[4]: Leaving directory '/<<PKGBUILDDIR>>/src/sdl'
make[3]: *** [Makefile:430: all-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:401: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j8 returned exit code 2
make[1]: *** [debian/rules:14: 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-games-devel mailing list