Package: adns
Version: 1.5.0~rc1-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.

make[2]: Entering directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-adns/adns-1.5.0~rc1/client'
gcc -g -O2 -Wall -Wmissing-prototypes -Wwrite-strings -Wstrict-prototypes 
-Wcast-qual -Wpointer-arith -Wno-pointer-sign  -I. -I../src -I./../src 
-Wdate-time -g -O0 -fstack-protector-strong -Wformat -Werror=format-security   
-c -o adnslogres.o adnslogres.c
gcc   -Wl,-z,relro adnslogres.o ../src/libadns.a -o adnslogres_s 
file query.c line 263: 
reason for conflict at #this: values of member 6 differ (16842752/50397184)

enum  { adns_rrt_typemask=65535, adns_rrt_reprmask=16777215, 
adns__qtf_deref_bit=65536, adns__qtf_mail822=131072, 
adns__qtf_bigaddr=16777216, adns__qtf_manyaf=33554432, 
adns__qtf_deref=16842752, adns_r_unknown=262144, adns_r_none=0, adns_r_a=1, 
adns_r_ns_raw=2, adns_r_ns=16842754, adns_r_cname=5, adns_r_soa_raw=6, 
adns_r_soa=131078, adns_r_ptr_raw=12, adns_r_ptr=16842764, adns_r_hinfo=13, 
adns_r_mx_raw=15, adns_r_mx=16842767, adns_r_txt=16, adns_r_rp_raw=17, 
adns_r_rp=131089, adns_r_aaaa=28, adns_r_srv_raw=33, adns_r_srv=16842785, 
adns_r_addr=16842753, adns__rrt_sizeforce=2147483647 }
enum  { adns_rrt_typemask=65535, adns_rrt_reprmask=16777215, 
adns__qtf_deref_bit=65536, adns__qtf_mail822=131072, 
adns__qtf_bigaddr=16777216, adns__qtf_manyaf=33554432, 
adns__qtf_deref=50397184, adns_r_unknown=262144, adns_r_none=0, adns_r_a=1, 
adns_r_ns_raw=2, adns_r_ns=50397186, adns_r_cname=5, adns_r_soa_raw=6, 
adns_r_soa=131078, adns_r_ptr_raw=12, adns_r_ptr=50397196, adns_r_hinfo=13, 
adns_r_mx_raw=15, adns_r_mx=50397199, adns_r_txt=16, adns_r_rp_raw=17, 
adns_r_rp=131089, adns_r_aaaa=28, adns_r_srv_raw=33, adns_r_srv=50397217, 
adns_r_addr=50397185, adns__rrt_sizeforce=2147483647 }
error: conflicting function declarations `adns_submit'
old definition in module `adnslogres' file ../src/adns.h line 636
signed int (struct adns__state *, const char *, enum , enum , void *, struct 
adns__query **)
new definition in module `query' file query.c line 263
signed int (struct adns__state *ads, const char *owner, enum  type, enum  
flags, void *context, struct adns__query **query_r)
Makefile:82: recipe for target 'adnslogres_s' failed
make[2]: *** [adnslogres_s] Error 64

The inconsistent values of adns__qtf_deref (and thus also others, as said enum
value is used to configure further values) is caused by ADNS_FEATURE_MANYAF
being set in src/internal.h, which is #include'd (multiple times!?) by
src/query.c.

I do not have sufficient knowledge about the package to tell whether
ADNS_FEATURE_MANYAF should not be defined in internal.h, or should instead also
be defined in, e.g., client/client.h. Notably, client/adnshost.h and
client/adnstest.c do define it.

Best,
Michael

Attachment: signature.asc
Description: PGP signature

Reply via email to