Package: libcdaudio Version: 0.99.12p2-13 Severity: wishlist 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. [...] libtool: link: gcc -shared -fPIC -DPIC .libs/cddb.o .libs/cdindex.o .libs/coverart.o .libs/data.o .libs/changer.o .libs/base64.o .libs/extra_objs.o .libs/cdaudio.o -O2 -Wl,-z -Wl,relro -Wl,-soname -Wl,libcdaudio.so.1 -o .libs/libcdaudio.so.1.0.0 error: conflicting function declarations "cdindex_encode64" old definition in module cdindex file cdindex.c line 49 signed int (char *, char *, signed int, signed int) new definition in module base64 file base64.c line 151 signed int (unsigned char *outbuffer, unsigned char *inbuffer, signed int inlen, signed int outlen) Makefile:658: recipe for target 'libcdaudio.la' failed make[3]: *** [libcdaudio.la] Error 64 make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-libcdaudio/libcdaudio-0.99.12p2/src' Makefile:509: recipe for target 'all-recursive' failed Reviewing the code, the difference in signedness of parameters outbuffer and inbuffer may be harmless here, but using the linker to perform implicit type casts is certainly not a good idea. Instead, the declaration and definition should match and explicit type casts be used to enable proper compiler diagnostics. Best, Michael
pgp_b1cxfL41O.pgp
Description: PGP signature