Package: opencryptoki Version: 2.3.1+dfsg-3 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/opencryptoki_stdll_libpkcs11_sw_la-asn1.o .libs/opencryptoki_stdll_libpkcs11_sw_la-cert.o .libs/opencryptoki_stdll_libpkcs11_sw_la-hwf_obj.o .libs/opencryptoki_stdll_libpkcs11_sw_la-dp_obj.o .libs/opencryptoki_stdll_libpkcs11_sw_la-data_obj.o .libs/opencryptoki_stdll_libpkcs11_sw_la-decr_mgr.o .libs/opencryptoki_stdll_libpkcs11_sw_la-dig_mgr.o .libs/opencryptoki_stdll_libpkcs11_sw_la-encr_mgr.o .libs/opencryptoki_stdll_libpkcs11_sw_la-globals.o .libs/opencryptoki_stdll_libpkcs11_sw_la-loadsave.o .libs/opencryptoki_stdll_libpkcs11_sw_la-key.o .libs/opencryptoki_stdll_libpkcs11_sw_la-key_mgr.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_aes.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_des.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_des3.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_dh.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_md5.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_md2.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_rng.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_rsa.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_sha.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_ssl3.o .libs/opencryptoki_stdll_libpkcs11_sw_la-new_host.o .libs/opencryptoki_stdll_libpkcs11_sw_la-obj_mgr.o .libs/opencryptoki_stdll_libpkcs11_sw_la-object.o .libs/opencryptoki_stdll_libpkcs11_sw_la-sess_mgr.o .libs/opencryptoki_stdll_libpkcs11_sw_la-sign_mgr.o .libs/opencryptoki_stdll_libpkcs11_sw_la-template.o .libs/opencryptoki_stdll_libpkcs11_sw_la-utility.o .libs/opencryptoki_stdll_libpkcs11_sw_la-verify_mgr.o .libs/opencryptoki_stdll_libpkcs11_sw_la-log.o .libs/opencryptoki_stdll_libpkcs11_sw_la-mech_list.o .libs/opencryptoki_stdll_libpkcs11_sw_la-soft_specific.o -lc -lpthread -lcrypto -O2 -Wl,-Bsymbolic -Wl,-soname -Wl,libpkcs11_sw.so.0 -o opencryptoki/stdll/.libs/libpkcs11_sw.so.0.0.0 error: conflicting function declarations "XProcLock" old definition in module loadsave file ../common/../api/apiproto.h line 320 signed int (void *) new definition in module utility file ../common/utility.c line 767 unsigned long int (void *xproc) Makefile:500: recipe for target 'opencryptoki/stdll/libpkcs11_sw.la' failed make[5]: *** [opencryptoki/stdll/libpkcs11_sw.la] Error 64 make[5]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-opencryptoki/opencryptoki-2.3.1+dfsg/usr/lib/pkcs11/soft_stdll' Makefile:361: recipe for target 'all-recursive' failed make[4]: *** [all-recursive] Error 1 Consider the following two definitions of XProcLock: http://sources.debian.net/src/opencryptoki/2.3.1+dfsg-3/usr/lib/pkcs11/api/apiutil.c?hl=435#L435 http://sources.debian.net/src/opencryptoki/2.3.1+dfsg-3/usr/lib/pkcs11/common/utility.c?hl=767#L767 It seems the linker is at liberty to choose either of them - but the result will be undefined behaviour if the variant from utility.c is picked as the return value will in parts be indeterminate for any platform with sizeof(unsigned long)>sizeof(int). Best, Michael
pgpwh4lP6mizx.pgp
Description: PGP signature