[Gábor Gombás] Bug#564566: libkadm5clnt7: SONAME conflict with Heimdal

Russ Allbery rra at stanford.edu
Mon Jan 11 12:27:18 EST 2010

Luke Howard <lukeh at padl.com> writes:
> On 11/01/2010, at 5:21 PM, Greg Hudson wrote:

>> I guess if we're going to switch to a non-numeric soname suffix, we
>> should do it early in the testing cycle.  I'll commit a change now.

> IMO this is a non-standard, and likely to confound things on platforms
> that we may not test regularly. If you're going to use Heimdal and MIT
> on the same system, there's no excuse for not installing them in
> different directories and configuring your library search path
> appropriately.

I completely disagree.

First, this doesn't actually solve the problem and in some ways makes it
worse.  The libraries still conflict and shadow each other.  You're just
hiding the problem by ensuring that one of them wins, unless unusual RPATH
configurations are at work, in which case you're likely to get bizarre and
confusing results such as failures to load binaries at runtime.  The two
libraries are different and need to have different SONAMEs, or the runtime
linker is going to get confused.

Second, this is an awkward and difficult configuration to manage,
requiring people switch environment variables and take special steps in
building software.  It's extremely error-prone as well; I've known people
with extensive UNIX experience who have still run into hard-to-debug
problems by having multiple libraries with the same SONAME on the system
and accidentally getting the wrong one.  This is exactly the sort of thing
that distribution packagers, for instance, should *not* require of end
users, and please remember that this original problem was raised in the
context of how to package the libraries for Debian.

Third, the problem is fairly trivial to fix, even without introducing
non-numeric SONAMEs if there's a concern about them, just by agreeing with
the Heimdal project to use non-overlapping numbers.  (Even and odd, as
Greg suggested, would be a simple rule.)

Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>

More information about the krbdev mailing list