False ABI checker errors in libndr
Andrew Bartlett
abartlet at samba.org
Mon Apr 9 15:08:43 MDT 2012
Jelmer,
Since you added ABI checking for libndr, there have been a number of
false positive ABI checking errors for this library.
The issue appears to be string formatting in gdb.
Oddly, it can be seen even on the same host, when built from smbtorture4
under autoconf or from a top level waf build:
autoconf:
https://build.samba.org/build.cgi/build/a1bcbea7e78fe37377b68629a8f4fc5c8f30ceb2
waf:
https://build.samba.org/build.cgi/build/64fe1ec08ceb28651feb72584b70a9deb5f0ae04
The issue is:
enum ndr_err_code (struct ndr_pull *, int, gid_t *) -> enumlibndr.so:
symbol ndr_transfer_syntax_ndr64 has changed - please update major
version
old_signature: uuid = {time_low = 1903232307, time_mid = 48826, time_hi_and_version = 18743, clock_seq = "\203\031", node = "\265\333\357\234\314\066"}, if_version = 1
new_signature: uuid = {time_low = 1903232307, time_mid = 48826, time_hi_and_version = 18743, clock_seq = "\203\031", node = "���\234�6"}, if_version = 1
libndr.so: symbol ndr_transfer_syntax_ndr has changed - please update major version
old_signature: uuid = {time_low = 2324192516, time_mid = 7403, time_hi_and_version = 4553, clock_seq = "\237\350", node = "\b\000+\020H`"}, if_version = 2
new_signature: uuid = {time_low = 2324192516, time_mid = 7403, time_hi_and_version = 4553, clock_seq = "\237�", node = "\b\000+\020H`"}, if_version = 2
Waf: Leaving directory `/build/build_farm/samba_3_master/bin'
Build failed: ABI for libndr.so has changed - please fix library version then build with --abi-update
As you can see, the difference is the string formatting. The actual
structure values shouldn't be part of the ABI, but the regular
expressions used on the gdb output scare me, so I'm not confident to fix
this myself.
Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
More information about the samba-technical
mailing list