Package: dcfldd
Version: 1.3.4.1-2.1
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.

[...]
x86_64-linux-gnu-gcc  -Wall -g -O2   -o dcfldd  dcfldd.o md5.o sha1.o sha2.o 
human.o long-options.o safe-read.o xstrtol.o version-etc.o argmatch.o 
xstrtoul.o full-write.o xstrtoumax.o copy.o hash.o verify.o translate.o 
sizeprobe.o pattern.o util.o log.o output.o split.o hashformat.o  
file util.c line 161: error: conflicting function declarations "skip"
old definition in module copy file util.h line 38
unsigned long int (signed int, char *, unsigned long int, unsigned long int, 
unsigned char *)
new definition in module util file util.c line 161
unsigned long int (signed int fdesc, const char *file, unsigned long int 
records, unsigned long int blocksize, char *buf)
make[2]: *** [dcfldd] Error 64

Observe that the parameter file differs in const-ness and buf differs in
signedness (for all architectures where char is signed). Depending on
assumptions and guarantees provided by the code elsewhere this may or may not
cause errors. In either case, fixing the declaration in util.h to match the
definition will enable the compiler to provide more meaningful warnings in case
these are due.

Best,
Michael

Attachment: pgpXqQqRoIFzb.pgp
Description: PGP signature

Reply via email to