Package: ftpcopy Version: 0.6.7-3 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.
[...] ./auto-link.sh ftpcopy ftpcopy.o ftpparse.o ftplib.o ftp_read_lis.o urlparse.o canon.o common.o mdtm.o mysleep.o warn_broken.o eof_or_error.o utcdate2tai.o sockrecbuf.o ssort.o inq_winsize.o libuotime.a libuomisc.a libdns.a libstrhash.a libunix.a libtai.a libbyte.a `head -n 1 auto-socket.lib` `head -n 1 auto-fsync.lib` `head -n 1 auto-utimes.lib` `head -n 1 auto-gettimeofday.lib` error: conflicting function declarations "read" old definition in module ftpcopy file readwrite.h line 7 signed int (signed int, char *, unsigned int) new definition in module dns_transmit file /usr/include/unistd.h line 360 signed long int (signed int, void *, unsigned long int) Makefile:102: recipe for target 'ftpcopy' failed make[1]: *** [ftpcopy] Error 64 make[1]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-ftpcopy/ftpcopy-0.6.7/web/ftpcopy-0.6.7/compile' debian/rules:37: recipe for target 'build-arch-stamp' failed make: *** [build-arch-stamp] Error 1 Declaring function of the C library rather than using system header files is rarely a good idea. This is a particularly dangerous example: for any platform with sizeof(unsigned)<sizeof(unsigned long), several bytes of the their parameter will take an arbitrary value. Also, the return value ought to be adjusted - or, really, a proper header file be used. Best, Michael
pgpjHuj7pw8Zh.pgp
Description: PGP signature