Package: nsca-ng Version: 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.
[...] gcc -std=gnu99 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wl,-z,relro -o nsca-ng auth.o conf.o fifo.o hash.o nsca-ng.o server.o ../common/libcommon.a ../../lib/libcompat.a -lconfuse -lev -lssl -lcrypto -lrt -lbsd ../../lib/pidfile/libpidfile.a error: conflicting function declarations "pidfile_open" old definition in module nsca-ng file /usr/include/bsd/libutil.h line 63 struct pidfh * (const char *, unsigned int, signed int *) new definition in module pidfile file pidfile.c line 112 struct pidfh * (const char *path, unsigned int mode, signed int *pidptr) reason for conflict in struct pidfh in second member: unsigned int <padding> char [4097l] Makefile:364: recipe for target 'nsca-ng' failed make[4]: *** [nsca-ng] Error 64 make[4]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-nsca-ng/nsca-ng-1.2/src/server' Makefile:322: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Error 1 It seems the shipped version implementing struct pidfh and the one from system libutil.h don't match: http://sources.debian.net/src/nsca-ng/1.2-1/lib/pidfile/pidfile.c?hl=61#L59 http://sources.debian.net/src/libbsd/0.6.0-2/include/bsd/libutil.h?hl=51#L49 Notably, the pf_path member will differ in alignment on all systems where sizeof(char*)>sizeof(int). This might presently be safe insofar as nsca-ng.c does not attempt to access any of the pidfh members directly, but only maintains a pointer. (And the linker would hopefully choose the implementation from system libbsd anyway.) Yet it seems to be worth fixing either the implementation in pidfile.c or configure/the Makefile such as not to include libpidfile.a when libbsd is available. Best, Michael
pgpzmvvfCvwef.pgp
Description: PGP signature

