libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TODO


From: Bob Friesenhahn
Subject: Re: TODO
Date: Mon, 15 Nov 2004 19:27:58 -0600 (CST)

On Mon, 15 Nov 2004, Joe Orton wrote:

Yes.  When you're making a distribution, Libtool's behaviour of directly
linking indirect-dependencies is insane.  For a SONAME change to a
library deep in the stack, that only affects the library immediately
above it, you suddenly need to rebuild your entire desktop environment.

How does libtool know that the SONAME change only affects the library
above it?  What if there is a structure exposed through multiple levels
of libraries or something like that?  I can think of several cases where
doing this by default in libtool would be unsafe.

This is an important issue that needs to be carefully considered. Libtool itself has no way to know this. Distribution maintainers have to somehow know enough about how the software works that they don't accidentally break something. Or maybe they just wait until the users tell them the software doesn't work anymore.

A somewhat related issue is if a library offers extra/different APIs if one of the libraries it optionally depends on is available. This is a case where a shared library is not completely compatible even though it uses the same name. If a library supporting fewer/different APIs is inserted in the place of a library supporting more APIs, then some dependent applications may fail. There should not usually be problem if applications stick to baseline APIs which do not care about the extra library. Do library maintainers test all dependent applications to ensure that none of them have broken due to replacing an existing library?

Yet another issue is if two libraries depend on the same library, but of different versions. In this case there is a "deadly embrace" and problems unless there is some sort of symbol versioning (and maybe even if there *is* symbol versioning).

Bob
======================================
Bob Friesenhahn
address@hidden
http://www.simplesystems.org/users/bfriesen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]