Package: dpkg Version: 1.17.9 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.
error: conflicting function declarations "trig_file_activate"
old definition in module archives file ../../lib/dpkg/triglib.h line 88
void (struct filenamenode *, struct pkginfo *)
new definition in module triglib file ../../../lib/dpkg/triglib.c line 546
void (struct filenamenode *trig, struct pkginfo *aw)
While this appears to be consistent, "struct filenamenode" actually refers to
different structs:
struct filenamenode {
struct filenamenode * next;
const char * name;
struct pkg_list * packages;
struct diversion * divert;
struct file_stat * statoverride;
int flags;
const char * oldhash;
const char * newhash;
struct stat * filestat;
struct trigfileint * trig_interested;
}
vs.
struct filenamenode {
struct filenamenode * next;
const char * name;
struct trigfileint * trig_interested;
}
Using one in place of the other appears to be dangerous at best, but may also be
entirely broken.
Best,
Michael
pgpkICVsa8OvY.pgp
Description: PGP signature

