Package: krb5 Version: 1.12.1+dfsg-1 Severity: wishlist Usertags: goto-cc Tags: upstream
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 -L../../lib -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wl,-z,relro -o kadmin.local kadmin.o kadmin_ct.o ss_wrapper.o getdate.o keytab_local.o -lss -lkadm5srv_mit -lkdb5 -lgssrpc -lgssapi_krb5 -lgssrpc -lgssapi_krb5 -ldl -pthread -lkrb5 -lk5crypto -lcom_err -lkrb5support -lkeyutils -lresolv -ldl error: conflicting function declarations "kadmin_delpol" old definition in module kadmin file ../../../src/kadmin/cli/kadmin.c line 1697 void (signed int argc, char **argv) new definition in module kadmin_ct file kadmin_ct.c line 66 void (signed int, const char * const *, signed int, void *) Makefile:616: recipe for target 'kadmin.local' failed make[3]: *** [kadmin.local] Error 64 make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-krb5/krb5-1.12.1+dfsg/build/kadmin/cli' Makefile:800: recipe for target 'all-recurse' failed Note that only the first error is reported, several other functions defined in kadmin.c face the same problem: the generated kadmin cli command jump table in kadmin_ct.c requires that all implementations have the uniform void () __SS_PROTO signature. The actual implementations in kadmin.c, however, do not always align with this. Hopefully this is only the case where further arguments are not used, but no such guarantee can be provided at present. In order to prevent the potential for undefined behaviour due to such type mismatches, a consistent function type should be used in all cases. Warnings due to unused arguments can then be avoided by adding (void)unused_arg; statements. Best, Michael
pgp_WM_45q_9P.pgp
Description: PGP signature

