Subject: Re: 4.99.16 and packages-2006Q4
To: =?UTF-8?B?UHJ6ZW15c8WCYXcgUGF3ZcWCY3p5aw==?= <pp@kv.net.pl>
From: Johnny Billquist <bqt@softjar.se>
List: netbsd-users
Date: 03/29/2007 18:36:58
Przemysław Pawełczyk wrote:
> On Thu, 29 Mar 2007 12:09:56 -0400
> "Steven M. Bellovin" <smb@cs.columbia.edu> wrote:
>
>>I think there's a deeper issue here. Suppose that he'd started with
>>3.1, installed those packages, then upgraded to (say) 5.0.
>>Presumably, the "delete obsolete files" part of the upgrade would
>>remove libssl.so.3, etc., at which point his packages no longer
>>work. That seems to be a serious break in backwards compatibility.
>>(Or am I missing something?)
>
> Hi,
> You shot first but I was thinking about it in simillar way. AFAIK in my
> example, ther was no conflict of libraries but lack of old symlinks. I
> vote for keeping them for one or two generation back. Symlinks cost
> nothing.
No. The problem was not a lack of old symlimks. The problem was a lack
of old libraries. And this is why I said you were begging for trouble.
What you did was:
a) ln /lib/libz.so.1.0 -> /usr/lib/libz.so.0
Bad, since you now claim that libz.so.0 is the same as libz.so.1.0,
which are two different major version numbers. I assume that they are
not that compatible, or the version change wouldn't have taken place.
b) ln /lib/libstdc++.so.6.0 -> /lib/libstdc++.so.5
Same thing here. You're saying that libstdc++ v5 is the same as v6. A
bad idea.
c) ln /usr/lib/libssl.so.4 -> /usr/lib/libssl.so.3
libssl v3 is the same as v4, which they are not.
d) ln /lib/libcrypto.so.3.1 -> /usr/lib/libcrypto.so.2
and of course, libcrypto v2 is not the same as v3.1.
Understand that libmumble.so.1 is the generic name for version 1 of
libmumble. libmumble.so.1.0 is explicitly v1.0 of libmumble.
libmumble.so.1 might very well point to libmumble.so.1.0, but
libmumble.so.1 should never point to something not version 1 of
libmumble, or you are asking for problems.
Also, libmumble.so might point at whatever the latest version of
libmumble, but most programs should not be linked to and be referring to
a shared library without atleast a major version number, for obvious
reasons.
Johnny
Johnny