Package: pilot-link Version: 0.12.5-7 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.
[...] libtool: link: gcc -Wall -g -pthread -O2 -o .libs/pilot-read-veo pilot-read-veo.o ./.libs/libpiuserland.a /usr/lib/x86_64-linux-gnu/libpopt.so -lpng ../libpisock/.libs/libpisock.so -pthread error: conflicting function declarations "ColourCorrect" old definition in module pilot-read-veo file pilot-read-veo.c line 460 signed int (struct Veo *v, unsigned char *red, unsigned char *green, unsigned char *blue, signed long int flags) new definition in module palmpix file palmpix.c line 1140 signed int (const struct PalmPixHeader *picHdr, unsigned char *r, unsigned char *gr, unsigned char *gb, unsigned char *b) reason for conflict at *#this[0] in types listed below (struct/struct): composite type component counts differ (16/14) struct Veo { unsigned char [1l] res1; unsigned char quality; unsigned char resolution; unsigned char [12l] res2; unsigned char $pad0; unsigned long int picnum; unsigned short int day; unsigned short int month; unsigned short int year; unsigned short int width; unsigned short int height; unsigned short int $pad1; signed int sd; signed int db; char [32l] name; unsigned int $pad2; } struct PalmPixHeader { signed int w; signed int h; signed int resolution; signed int zoom; signed int num; signed int year; signed int month; signed int day; signed int hour; signed int min; signed int sec; signed int numRec; signed int thumbLen; signed int [4l] chansize; } Makefile:1349: recipe for target 'pilot-read-veo' failed make[4]: *** [pilot-read-veo] Error 64 make[4]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-pilot-link/pilot-link-0.12.5/src' Makefile:1485: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Error 1 It seems both of the following function definitions should be marked static: http://sources.debian.net/src/pilot-link/0.12.5-7/libpisock/palmpix.c?hl=1140#L1140 http://sources.debian.net/src/pilot-link/0.12.5-7/src/pilot-read-veo.c?hl=460#L460 Leaving the linker to pick one of the two will inevitably result in disaster, as each will break the use from the other file. Best, Michael
pgpJ_DnMWm6xp.pgp
Description: PGP signature