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

Attachment: pgpcvWS4SigQS.pgp
Description: PGP signature

Reply via email to