Michael Tautschnig <[email protected]> writes: > 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.
Thanks for the report, but this appears to be a bug (or at least a missing feature) in your tool rather than a bug in kstart. [...] > 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 But there is no actual type conflict, since struct stat is not used anywhere in the kafs code. <sys/stat.h> is being included for open(2), which may not be strictly necessary, but which the man page says is desirable. > 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. Those files are part of C TAP Harness, which does not assume that Autoconf is in use and should not include config.h. (In other words, omitting config.h is intentional, and adding it would complicate maintenance since those files are shared between multiple projects that use the same test infrastructure.) That code also has no need for nanosecond timestamps, so there's no reason to enable that feature in fstat. Even if both components used struct stat, it wouldn't matter that they have separate definitions in scope, since struct stat is not part of the public ABI of libtap, so that mismatch would not be visible to any compiled code. I can understand why it's hard for your annotated compiler to figure this out, but in this case this appears to be a false positive. -- Russ Allbery ([email protected]) <http://www.eyrie.org/~eagle/> -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

