Package: qrq Version: 0.3.1-1 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. [...] gcc -Wall -o qrq qrq.o pulseaudio.o -lm -Wl,-z,relro -lpthread -lpulse-simple -lpulse -lncurses error: conflicting function declarations "write_audio" old definition in module qrq file pulseaudio.h line 25 void (void *, signed int *, unsigned long int) new definition in module pulseaudio file pulseaudio.c line 66 void (void *bla, signed int *in, signed int size) Makefile:65: recipe for target 'qrq' failed make[1]: *** [qrq] Error 64 make[1]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-qrq/qrq-0.3.1' dh_auto_build: make -j1 returned exit code 2 debian/rules:13: recipe for target 'build' failed make: *** [build] Error 2 For all platforms with sizeof(int)<sizeof(long) undefined behaviour will appear in (at least) one of two ways: either the value will be truncated in an arbitrary way, if it does not fit in a positive signed int; even if the value fits that range, big endian systems will extract the wrong bytes. Adjusting the declaration in pulseaudio.h should solve the problem, assuming all values passed to the function actually fit into a signed int. Best, Michael
Attachment:
pgpud267mKZiQ.pgp
Description: PGP signature