Friday, 16 June 2023

Re: Symbols files for C++ libraries for Ubuntu main

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?

What's the ratio of false positives to true positives?

I keep hearing that the KDE symbols handling is vastly better; is there a
reason why it's not the default?

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?

Thanks