Mailinglist Archive: opensuse-factory (447 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, 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.

The reported missing symbol was clearly a C++ one.

(Reported back in https://bugzilla.opensuse.org/903974 )

Maybe we should just, short of symversioning, do

libgthread_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
+ -release $(PACKAGE_VERSION) \
$(gthread_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined) $(export_symbols)

then those dependency-satisfied-but-unrunnable situations can't happen.

Not sure, IMHO all such issues need to be resolved upstream in the
build machinery like by "fixing" the set of exported symbols by
extracting them and feeding them back via a versioning script. For
any change then do a diff, make sure no symbol vanishes and make sure
to add a new symver for all added symbols.

Anyway, IIRC rpm only extracts symvers for a specific set of libs
and not for all so rpm dependencies would still be broken.

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 >
Follow Ups