Package: grib-api Version: 1.10.4-3.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.
[...] libtool: link: gcc -pedantic -Wall -DYYDEBUG -fPIC -fPIC -o .libs/grib_histogram grib_histogram.o ./.libs/libgrib_tools.a ../src/.libs/libgrib_api.so -lm -lpng -ljasper warning: function `c::usage' in module `grib_options' is shadowed by a definition in module `grib_histogram' Makefile:682: recipe for target 'grib_histogram' failed make[2]: *** [grib_histogram] Error 134 make[2]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-grib-api/grib-api-1.10.4/tools' Makefile:767: recipe for target 'all-recursive' failed Indeed several files appear to define "usage", including these here: http://sources.debian.net/src/grib-api/1.10.4-3.1/tools/grib_histogram.c#L17 http://sources.debian.net/src/grib-api/1.10.4-3.1/tools/grib_options.c#L366 It seems that all these should be declared "static" to ensure the linker is not going to pick an arbitrary one of them as in particular some of them do require an argument. As is, this will have undefined behaviour. Best, Michael
pgpcvWS4SigQS.pgp
Description: PGP signature