[botan-devel] [Monotone-debian] Monotone completely broken in Debian testing (I think)

Markus Wanner markus at bluegap.ch
Tue Jul 10 05:59:40 EDT 2012


Jack,

as Francis Russel pointed out on the Debian packaging mailing list for
monotone, it looks like Botan 1.10.2 broke ABI compatibility compared to
1.10.1, see here:
http://lists.nongnu.org/archive/html/monotone-debian/2012-07/msg00000.html

I could reproduce this and think I identified the cause. The culprit
seems to be rev 430a859e2a1e7c0ea47beef7d399a45e8ed9ed9a, with
changelog: "Use initializer list, make destructor virtual". I think this
adds the destructor to the vtable of the object MemoryRegion and thus
represents an ABI-incompatible change - of an object that's quite
heavily used, so mtn breaks even for things as simple as `mtn version`.

The attached patch against the most recent revision in the 1.10 branch
reverts that virtualization of the destructor and thus fixes the issue
(i.e. monotone compiled against 1.10.1 runs fine with a recent .so
library of botan-1.10 with that patch).

Can you please comment on whether or not this is a safe fix? A quick
`./check --test` seems to run through just fine.

IIRC the stable patch releases of Botan are supposed to be ABI
compatible. If that's the case, how do you want to deal with this issue?
Mark 1.10.2 as broken and release a 1.10.3 soon?

Regards

Markus Wanner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: botan-1.10.retain-abi-compatibility.diff
Type: text/x-patch
Size: 679 bytes
Desc: not available
URL: <http://lists.randombit.net/pipermail/botan-devel/attachments/20120710/5b197c3b/attachment.bin>


More information about the botan-devel mailing list