Package: libsoxr Version: 0.1.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.
[...] /usr/bin/cc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fopenmp -Wconversion -Wall -W -pedantic -Wundef -Wcast-align -Wpointer-arith -Wno-long-long -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wl,-z,relro CMakeFiles/1a-lsr.dir/1a-lsr.c.o -o 1a-lsr -rdynamic -lm ../src/libsoxr.so.0.1.0 ../src/libsoxr-lsr.so.0.1.9 ../src/libsoxr.so.0.1.0 -Wl,-rpath,/srv/jenkins-slave/workspace/sid-goto-cc-libsoxr/libsoxr-0.1.1/obj-x86_64-linux-gnu/src error: conflicting function declarations "src_strerror" old definition in module 1a-lsr file /srv/jenkins-slave/workspace/sid-goto-cc-libsoxr/libsoxr-0.1.1/src/soxr-lsr.h line 69 const char * (signed int) new definition in module lsr file /srv/jenkins-slave/workspace/sid-goto-cc-libsoxr/libsoxr-0.1.1/src/lsr.c line 108 const char * (const char *error) examples/CMakeFiles/1a-lsr.dir/build.make:91: recipe for target 'examples/1a-lsr' failed make[3]: *** [examples/1a-lsr] Error 64 make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-libsoxr/libsoxr-0.1.1/obj-x86_64-linux-gnu' CMakeFiles/Makefile2:354: recipe for target 'examples/CMakeFiles/1a-lsr.dir/all' failed make[2]: *** [examples/CMakeFiles/1a-lsr.dir/all] Error 2 Looking at the code it seems there is an nice mix of preprocessor macros and typedefs in place, which unfortunately seem to have led to confusion. Looking at the code and the (single) use, it really seems that the implementation gets it wrong, where soxr_error_t expands to a const char*. Best, Michael
pgpE4K9UMw8BT.pgp
Description: PGP signature