Package: ace-of-penguins Version: 1.3-13 Severity: wishlist 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. [...] libtool: link: cc -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -Wl,--as-needed -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -D_FILE_OFFSET_BITS=64 -fPIE -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--as-needed -Wl,--as-needed -o .libs/canfield canfield.o canfield-img.o ../lib/.libs/libcards.so -lpng -lz -lX11 -lm error: conflicting types for variable "appimglib_imagelib" old definition in module canfield file ./../lib/cards.h line 63 struct image_list [] new definition in module canfield-img file canfield-img.c line 152 struct image_list [2l] reason for conflict in types listed below (struct/struct): composite type component counts differ (1/8) struct image_list { signed int filler; } struct image_list { char * name; signed int across; signed int down; struct image *[3l] subimage; struct image_list * next; struct image * (*)(struct image_list *list, signed int type, signed int width, signed int height) synth_func; signed int synth_flags; unsigned int $pad0; } Makefile:489: recipe for target 'canfield' failed make[4]: *** [canfield] Error 64 make[4]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-ace-of-penguins/ace-of-penguins-1.3/games' Makefile:404: recipe for target 'all' failed make[3]: *** [all] Error 2 While hiding the implementation of image_list surely makes sense, it should be done in full rather than faking a different struct type. As such, simply omitting lines 60 to 62, i.e., the definition of the struct using "filler", here http://sources.debian.net/src/ace-of-penguins/1.3-13/lib/cards.h?hl=63#L59 will make sure the compiler is not tricked into making wrong assumptions about alignment or element offsets. Best, Michael
pgpFMZrFv8_Vr.pgp
Description: PGP signature