During a rebuild of all Debian 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
Linking CXX shared library libkwave.so
error: conflicting function declarations "mm_support"
old definition in module cputest file /srv/jenkins-slave/workspace/sid-goto-cc-kwave/kwave-0.8.11-1/libkwave/cputest.c line 62
unsigned int (void)
new definition in module memcpy file /srv/jenkins-slave/workspace/sid-goto-cc-kwave/kwave-0.8.11-1/libkwave/memcpy.c line 69
signed int (void)
libkwave/CMakeFiles/libkwave.dir/build.make:2370: recipe for target 'libkwave/libkwave.so.0.8.11' failed
make: [libkwave/libkwave.so.0.8.11] Error 1
make: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-kwave/kwave-0.8.11-1/obj-x86_64-linux-gnu'
CMakeFiles/Makefile2:376: recipe for target 'libkwave/CMakeFiles/libkwave.dir/all' failed
make: [libkwave/CMakeFiles/libkwave.dir/all] Error 2
It seems both the forward declaration in memcpy.c as well as the declaration of
should be fixed to be unsigned. This will ensure that future CPU ids do not
introduce undefined behaviour (at present, the code should work ok as only a
small number of bits is used).