Package: rott Version: 1.1.2-1 Usertags: goto-cc During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder and pbuilder) the build failed with the following error. Please note that we use our research compiler tool-chain (using tools from the cbmc package), which permits extended reporting on type inconsistencies at link time.
[...] cc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -DDATADIR=\"/usr/share/games/rott/\" -Wno-pointer-sign -Wno-unused -Wall -Wno-unused -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -Wl,-z,relro cin_actr.o cin_efct.o cin_evnt.o cin_glob.o cin_main.o cin_util.o dosutil.o engine.o isr.o modexlib.o rt_actor.o rt_battl.o rt_build.o rt_cfg.o rt_crc.o rt_com.o rt_debug.o rt_dmand.o rt_door.o rt_draw.o rt_floor.o rt_game.o rt_in.o rt_main.o rt_map.o rt_menu.o rt_msg.o rt_net.o rt_playr.o rt_rand.o rt_scale.o rt_sound.o rt_spbal.o rt_sqrt.o rt_stat.o rt_state.o rt_str.o rt_swift.o rt_ted.o rt_util.o rt_view.o rt_vid.o rt_err.o scriplib.o w_wad.o watcom.o z_zone.o byteordr.o dukemusc.o winrott.o audiolib/audiolib.a -L/usr/lib/x86_64-linux-gnu -lSDL -lSDL_mixer -o rott-shareware file rt_menu.c line 5362: error: conflicting types for variable "inverse_mouse" old definition in module rt_cfg file rt_cfg.c line 113 signed int new definition in module rt_menu file rt_menu.c line 5362 signed long int Makefile:91: recipe for target 'rott-shareware' failed make[2]: *** [rott-shareware] Error 64 make[2]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-rott/rott-1.1.2/rott' dh_auto_build: make -j1 ROTT=rott-shareware returned exit code 2 debian/rules:10: recipe for target 'override_dh_auto_build' failed make[1]: *** [override_dh_auto_build] Error 2 It seems the declaration here http://sources.debian.net/src/rott/1.1.2-1/rott/rt_menu.c?hl=5362#L5362 should be adjusted to match the actual definition here: http://sources.debian.net/src/rott/1.1.2-1/rott/rt_cfg.c?hl=113#L113 As is, any access to inverse_mouse in rt_menu.c will have undefined behaviour as either the wrong bytes will be updated or invalid memory will be accessed. Best, Michael
pgphJPKklomIh.pgp
Description: PGP signature

