> On Thu, Jun 15, 2023 at 04:07:54PM +1000, Christopher James Halse Rogers wrote:
>> abi-compliance-checker and abigail. None of those experiments have ended up
>> sticking, though, for reasons which I'm not fully aware of. Alan Griffiths
>> and Michał Sawicz did most of that investigation; I'll see if they can help
>> shed light on problems we encountered.
>>
>> If we *can* get (one of) the ABI checking tools working they'll be more
>> valuable than a symbols file anyway, as they actually check that ABI didn't
>> change rather than just that the symbol strings in the DSO match.
> I'm not actually close enough to package updates to see how exactly these
> different tools report symbols problems. I've tried reading the Debian
> Wiki page, the KDE symbols page, etc, but without having these problems
> myself, first-hand, it's hard for me to come to terms with the issues.
>
> How do the default symbols files "failures" appear when building packages?
> Are the results "actionable"? Or is the usual outcome to pave over the old
> file and use a new file?
One typical example, that's a libcamera build that worked in Debian, was
synced in Ubuntu and failed to build
https://launchpadlibrarian.net/486620598/buildlog_ubuntu-groovy-amd64.libcamera_0~git20200629+e7aa92a-3_BUILDING.txt.gz
Search for dpkg-gensymbols in the log
$ diffstat symbols.patch
dpkg-gensymbols5sl4ol | 691
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 501 insertions(+), 190 deletions(-)
> What's the ratio of false positives to true positives?
If the library is well maintained we should have true positives, my
experience on desktop packages from the past years is that we only get
false positives like in the example there where the package is identical
between Debian and Ubuntu and yet we get that stack of changes in the
symbols.
> There's more to ABI compatibility than keeping the types of parameters and
> return values lined up. Do any of the ABI tracking tools provide help
> looking into the types, or the functions, etc?
I think abi-compliance-checker is doing at some of that, from the
website, https://lvc.github.io/abi-compliance-checker/
> The tool can create and compare ABI dumps for header files and shared
objects of a library.
Cheers,
Sebastien
--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel