Mailinglist Archive: opensuse-factory (536 mails)

< Previous Next >
Re: [opensuse-factory] latest evolution 3.26.3-1.1 is NOT compatible with latest libwebkit2gtk-4_0-37 2.18.4-1.1
On Tue, 9 Jan 2018, Dominique Leuenberger / DimStar wrote:

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.

Note that one issue that comes up every now and then is that people
simply export everything. What you already can do is compile
with -fvisibility-default=hidden and mark things you want to be
exported by annotating the source (IIRC also a required thing for
DLLs on windows). IIRC you can't add version information to the
export annotations but at least you'd "know" when you add/remove
stuff.

Richard.

--
Richard Biener <rguenther@xxxxxxx>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB
21284 (AG Nuernberg)
--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >