Package: drawterm Version: 20110822-1 Severity: wishlist 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 -pthread -DPTHREAD -o drawterm main.o cpu.o readcons.o secstore.o latin1.o posix-factotum.o kern/libkern.a exportfs/libexportfs.a libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a gui-x11/libgui.a libc/libc.a kern/libkern.a exportfs/libexportfs.a libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a gui-x11/libgui.a libc/libc.a kern/libkern.a exportfs/libexportfs.a libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a gui-x11/libgui.a libc/libc.a libmachdep.a -L/usr/X11R6/lib64 -L/usr/X11R6/lib -lX11 -ggdb error: conflicting function declarations "convM2S" old definition in module devmnt file ../include/fcall.h line 96 unsigned int (unsigned char *, unsigned int, struct Fcall *) new definition in module exportfs file ../include/fcall.h line 96 unsigned int (unsigned char *, unsigned int, struct Fcall *) reason for conflict at .stat in types listed below (struct/struct): names of component 36 differ (stat/sysstat) struct Fcall { unsigned char type; unsigned __CPROVER_bitvector[24] $pad0; unsigned int fid; unsigned short int tag; unsigned short int $pad1; unsigned int msize; char * version; unsigned short int oldtag; unsigned __CPROVER_bitvector[48] $pad2; char * ename; struct Qid qid; unsigned int iounit; unsigned int $pad3; struct Qid aqid; unsigned int afid; unsigned int $pad4; char * uname; char * aname; unsigned int perm; unsigned int $pad5; char * name; unsigned char mode; unsigned __CPROVER_bitvector[24] $pad6; unsigned int newfid; unsigned short int nwname; unsigned __CPROVER_bitvector[48] $pad7; char *[16l] wname; unsigned short int nwqid; unsigned __CPROVER_bitvector[48] $pad8; struct Qid [16l] wqid; signed long long int offset; unsigned int count; unsigned int $pad9; char * data; unsigned short int nstat; unsigned __CPROVER_bitvector[48] $pad10; unsigned char * stat; } struct Fcall { unsigned char type; unsigned __CPROVER_bitvector[24] $pad0; unsigned int fid; unsigned short int tag; unsigned short int $pad1; unsigned int msize; char * version; unsigned short int oldtag; unsigned __CPROVER_bitvector[48] $pad2; char * ename; struct Qid qid; unsigned int iounit; unsigned int $pad3; struct Qid aqid; unsigned int afid; unsigned int $pad4; char * uname; char * aname; unsigned int perm; unsigned int $pad5; char * name; unsigned char mode; unsigned __CPROVER_bitvector[24] $pad6; unsigned int newfid; unsigned short int nwname; unsigned __CPROVER_bitvector[48] $pad7; char *[16l] wname; unsigned short int nwqid; unsigned __CPROVER_bitvector[48] $pad8; struct Qid [16l] wqid; signed long long int offset; unsigned int count; unsigned int $pad9; char * data; unsigned short int nstat; unsigned __CPROVER_bitvector[48] $pad10; unsigned char * sysstat; } It seems this type conflict is caused by the #define in user.h: http://sources.debian.net/src/drawterm/20110822-1/include/user.h?hl=15#L15 Likely the problem reported above is an undesired side effect, and the C standard identifies the result as incompatible types. Yet the bit-level layout won't be affected, so presently there need not be observable problems. Best, Michael
pgpfzA45NewHM.pgp
Description: PGP signature