Package: kstart Version: 4.1-3 Severity: minor 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.
[...]
gcc -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security -fPIE -pie -Wl,-z,relro -Wl,-z,now -o
tests/kafs/haspag-t tests/kafs/tests_kafs_haspag_t-haspag-t.o kafs/libkafs.a
tests/tap/libtap.a portable/libportable.a
error: conflicting function declarations "fstat"
old definition in module kafs file /usr/include/x86_64-linux-gnu/sys/stat.h
line 467
signed int (signed int __fd, struct stat *__statbuf)
new definition in module basic file /usr/include/x86_64-linux-gnu/sys/stat.h
line 467
signed int (signed int __fd, struct stat *__statbuf)
reason for conflict at __statbuf in types listed below (struct/struct):
composite type component counts differ (15/18)
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;
}
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;
}
Makefile:891: recipe for target 'tests/kafs/haspag-t' failed
make[2]: *** [tests/kafs/haspag-t] Error 64
make[2]: Leaving directory
'/srv/jenkins-slave/workspace/sid-goto-cc-kstart/kstart-4.1'
Makefile:1529: recipe for target 'check-am' failed
make[1]: *** [check-am] Error 2
This type conflict is caused by the use of _XOPEN_SOURCE rather than using
#include <config.h>, which would define _GNU_SOURCE, in tests/tap/basic.c:
http://sources.debian.net/src/kstart/4.1-3/tests/tap/basic.c?hl=39#L39
Compare to tests/kafs/basic.c:
http://sources.debian.net/src/kstart/4.1-3/tests/kafs/basic.c
Using #include <config.h> consistently as first include will ensure this kind of
inconsistency.
Best,
Michael
pgpenOUwE3vud.pgp
Description: PGP signature

