Re: Release goal: Getting rid of unneeded *.la / emptying dependency_libs
- To: Felipe Sateler <firstname.lastname@example.org>
- Cc: email@example.com
- Subject: Re: Release goal: Getting rid of unneeded *.la / emptying dependency_libs
- From: Kurt Roeckx <firstname.lastname@example.org>
- Date: Thu, 10 Sep 2009 00:35:12 +0200
- Message-id: <[🔎] 20090909223512.GA14532@roeckx.be>
- In-reply-to: <email@example.com>
- References: <20090823090712.GK29392@mails.so.argh.org> <20090825032804.GB7919@p12n.org> <firstname.lastname@example.org> <email@example.com> <20090826043750.GL10539@dario.dodds.net> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <20090826062642.GC4283@dario.dodds.net> <email@example.com>
On Wed, Aug 26, 2009 at 03:46:36AM -0400, Felipe Sateler wrote:
> Steve Langasek wrote:
> > On Wed, Aug 26, 2009 at 02:08:40AM -0400, Felipe Sateler wrote:
> >> But this will cause trouble anyway. Imagine this case: glib changes
> >> SONAME, both app and library depend on glib. app is recompiled, gtk isn't
> >> yet.So then app NEEDED libglib-2.0.so.1, gtk NEEDED libglib-2.0.so.0.
> >> Kaboom! The only real solution is to make gtk's SONAME dependent on
> >> glib's, eg libgtk- x11-2.0.so.0-glib-1 (a la boost upstream with gcc
> >> versions).
> I think I should have added that the app does not have to link directly with
> > That's what symbol versioning is for.
> >From /u/i/g/g/gtktextchild.h:
> struct _GtkTextChildAnchor
> GObject parent_instance;
> gpointer GSEAL (segment);
> You lost anyway. If GObject or gpointer changes, symbol versioning doesn't
> save you because _GtkTextChildAnchor is a public type
This can all be solved using symbol versioning. Buf it will
probably require alot of work to get it right.