Package: cvstrac
Version: 2.0.1-3
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 -g -O0 -Wall -o cvstrac attach.o browse.o cgi.o common.o cvs.o db.o 
format.o git.o history.o index.o login.o main.o md5.o rss.o search.o setup.o 
svn.o test.o throttle.o ticket.o timeline.o tools.o user.o view.o wiki.o 
wikiinit.o -lsqlite3 -lcrypt -lm

error: conflicting function declarations "localtime"
old definition in module browse_ file /usr/include/time.h line 243
struct tm * (const signed long int *)
new definition in module db_ file /usr/include/time.h line 243
struct tm * (const signed long int *)
/srv/jenkins-slave/workspace/sid-goto-cc-cvstrac/cvstrac-2.0.1/main.mk:118: 
recipe for target 'cvstrac' failed
make[1]: *** [cvstrac] Error 64

While these two declarations appear to be the same, the component names actually
differ (which makes them different types according to the C standard):

names of component 10 differ (tm_gmtoff/__tm_gmtoff)
struct tm {
  signed int tm_sec;
  signed int tm_min;
  signed int tm_hour;
  signed int tm_mday;
  signed int tm_mon;
  signed int tm_year;
  signed int tm_wday;
  signed int tm_yday;
  signed int tm_isdst;
  unsigned int $pad0;
  signed long int tm_gmtoff;
  const char * tm_zone;
}
struct tm {
  signed int tm_sec;
  signed int tm_min;
  signed int tm_hour;
  signed int tm_mday;
  signed int tm_mon;
  signed int tm_year;
  signed int tm_wday;
  signed int tm_yday;
  signed int tm_isdst;
  unsigned int $pad0;
  signed long int __tm_gmtoff;
  const char * __tm_zone;
}

This is caused by _XOPEN_SOURCE being defined in db.c only rather than on the
compiler command line or in the common config.h file (which, however, should
always be included before any of the standard include files, as is done in
browse.c, but not in db.c).

Best,
Michael

Attachment: pgpLLNmFrf6v7.pgp
Description: PGP signature

Reply via email to