On Tue, 2018-01-09 at 10:24 +0100, Jan Engelhardt wrote:
On Tuesday 2018-01-09 10:06, Richard Biener wrote:
The real issue is of course false binary compatibility promises made via not changing the SONAME or using symbol versioning...
Of course it's quite hard to do right, especially with C++, but still I'd expect "core" libraries to do better here...
KDE/Qt can apparently do it for C++ (there is a suitably large rulebook they use), so why can't GNOME do it for C (which needs a lot less rules)? It feels like GNOME software is intentionally wanting to be annoying.
(Reported back in https://bugzilla.opensuse.org/903974 )
Perfect bug report - especially since the last comment is not about GNOME, but about libxcb running into same issues - talk about 'core libraries'. 'underlying systems' like X don't get 'this right' neither. Still, yes, it would be awesome if upstreams were less opposed to the notion of symbol versioning, but it is soo easy for an upstream to miss adding a new API symbol to the table that it is quickly getting messier than it was before (especially on large code bases like glib/gtk - where maintainers refuse the loudest). glib basically stands with: yes, we want to do it, but only if the map can be auto-generated from source files based on annotations. This of course 'can' - but the respective info-extractor is not written - nobody cared sufficiently for this to happen. Cheers Dominique