Package: gpgme1.0
Version: 1.4.3-0.1
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 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -Wall -Wcast-align -Wshadow -Wstrict-prototypes -Wl,-z 
-Wl,relro -o .libs/gpgme-tool gpgme-tool.o  ./.libs/libgpgme.so -lassuan 
-L/usr/lib/x86_64-linux-gnu -lgpg-error

error: conflicting function declarations "gpgme_get_sub_protocol"
old definition in module gpgme-tool file gpgme.h line 863
gpgme_protocol_t (struct gpgme_context *)
new definition in module gpgme file gpgme.c line 361
unsigned int (struct gpgme_context *ctx)
Makefile:718: recipe for target 'gpgme-tool' failed
make[3]: *** [gpgme-tool] Error 64
make[3]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-gpgme1.0/gpgme1.0-1.4.3/src'
Makefile:396: recipe for target 'all-recursive' failed

Looking at the source code, the code uses the typedef name gpgme_error_t; indeed
the fix should likely be in gpgme.c, where a copy&paste error might have
occurred (copying from gpgme_set_sub_protocol): the return type of
gpgme_get_sub_protocol should really be gpgme_protocol_t.

Severity set to wishlist as the potential values of gpgme_protocol_t are all
positive integers.

Best,
Michael

Attachment: pgpOS7hfAO_2k.pgp
Description: PGP signature

Reply via email to