Package: dosemu
Version: 1.4.0.7+20130105+b028d3f-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.

gcc -o ../../../../../../1.4.0.8/bin/midid midid.o events.o io.o stats.o 
emulation.o device.o oss.o midout.o timid.o null.o -Wl,-warn-common -Wl,-z,relro
file /usr/include/x86_64-linux-gnu/sys/select.h line 106: error: conflicting 
function declarations "select"
make[3]: *** [../../../../../../1.4.0.8/bin/midid] Error 64
make[3]: Leaving directory 
`/srv/jenkins-slave/workspace/sid-goto-cc-dosemu/dosemu-1.4.0.7+20130105+b028d3f/src/arch/linux/dosext/sound/midid'
make[2]: *** [arch/linux/dosext/sound/midid] Error 2

This is caused by a #define _GNU_SOURCE being present in timid.c:

http://sources.debian.net/src/dosemu/1.4.0.7%2B20130105%2Bb028d3f-1/src/arch/linux/dosext/sound/midid/timid.c?hl=11#L11

while it is missing from other files, including io.c. As _GNU_SOURCE yields
struct type declarations in system headers to differ from non-_GNU_SOURCE ones,
undefined behaviour may arise. Consequently _GNU_SOURCE should be set either on
the compiler command line or in a project wide header file.

Best,
Michael

Attachment: pgp0a2A6YDJSV.pgp
Description: PGP signature

Reply via email to