Package: jwm Version: 2.1.0+svn579-2 Usertags: goto-cc During a rebuild of all packages in a clean sid chroot (and cowbuilder+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 -D_FORTIFY_SOURCE=2 -o jwm background.o border.o button.o client.o clientlist.o clock.o color.o command.o confirm.o cursor.o debug.o desktop.o dock.o event.o error.o font.o gradient.o group.o help.o hint.o icon.o image.o key.o lex.o main.o match.o menu.o misc.o move.o outline.o pager.o parse.o place.o popup.o render.o resize.o root.o screen.o spacer.o status.o swallow.o taskbar.o timing.o tray.o traybutton.o winmenu.o -fPIE -pie -Wl,-z,relro -Wl,-z,now -lX11 -lpng12 -lXft -lXrender -lX11 -lfribidi -lXpm -lXext -lXinerama error: conflicting function declarations "stat" old definition in module background file /usr/include/x86_64-linux-gnu/sys/stat.h line 453 signed int (const char *__path, struct stat *__statbuf) new definition in module hint file /usr/include/x86_64-linux-gnu/sys/stat.h line 453 signed int (const char *__path, struct stat *__statbuf) reason for conflict at __statbuf in types listed below (struct/struct): composite type component counts differ (18/15) struct stat { unsigned long int st_dev; unsigned long int st_ino; unsigned long int st_nlink; unsigned int st_mode; unsigned int st_uid; unsigned int st_gid; signed int __pad0; unsigned long int st_rdev; signed long int st_size; signed long int st_blksize; signed long int st_blocks; signed long int st_atime; unsigned long int st_atimensec; signed long int st_mtime; unsigned long int st_mtimensec; signed long int st_ctime; unsigned long int st_ctimensec; signed long int [3l] __unused; } struct stat { unsigned long int st_dev; unsigned long int st_ino; unsigned long int st_nlink; unsigned int st_mode; unsigned int st_uid; unsigned int st_gid; signed int __pad0; unsigned long int st_rdev; signed long int st_size; signed long int st_blksize; signed long int st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; signed long int [3l] __unused; } Makefile:31: recipe for target 'jwm' failed make[2]: *** [jwm] Error 64 make[2]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-jwm/jwm-2.1.0+svn579/src' This inconsistency is caused by #include "jwm.h" being only the second header included in hint.c, as X11/Xlibint.h does include other system headers (which do yield different types based on _XOPEN_SOURCE, which the generated config.h defines). jwm.h should be the first #include in all compilation units. Best, Michael
pgpqRiOY9I70V.pgp
Description: PGP signature