Re: library compat for FreeBSD7x

From: Ruben de Groot <mail25_at_bzerk.org>
Date: Thu, 23 Jul 2009 15:06:43 +0200
On Thu, Jul 23, 2009 at 02:15:22PM +0200, Guido Falsi typed:
> On Thu, Jul 23, 2009 at 01:40:57PM +0200, Ruben de Groot wrote:
> > > > 
> > > > Erm, doesn't that defeat the whole point of having compat* libraries?
> > > 
> 
> BTW, why don't you just let the old libraries lie in your system, or use
> libmap.conf just to map them to the newer ones? As long as there is no
> ABI breakage this will work.

A new library version usually means ABI changes. So libmap.conf is not a 
failsafe solution. As for leaving the old libraries in an upgraded system,
that's essentially the same as installing compat?x in a newly installed
system.

> > > The problem is that while a single port directly depending on a compat
> > > library may work indefinitely this way, you'll have many problems when
> > > you mix and match ports depending on libraries from other ports, mixing
> > > ld and new libraries dependancies.
> > 
> > Can you give a concrete example of this? I've never had any such problems.
> 
> If port A depends on library from port B which itself depends on library
> in base system foo.so.1, but program A was recompiled and itself depends
> on library foo.so.2 ld could have an hard time linking them at runtime I
> think.

Yes, that would be hard.
The obvious solution to this is to not recompile program A on a system with
the newer library version.

> > That may be the main reason, but there can be many others.
> > For example, I'm still using the subversion 1.5 client compiled on 6.x
> > because the newer version from ports (1.6) doesn't play nice with eclipse
> > (subclipse).
> 
> You have the sources, you could anyway recompile an old version.

Sure, but I prefer using ports/packages. Keeps my systems manageable.

> > Updating using packages might not be an option at all. Example: mod_php5
> 
> If you manage many servers you should anyway have a machine to make your
> own packages too and roll those ones out to production machines, I
> think.

Yes, and there's another reason for having compat7x libraries. If you build on
7.X-RELEASE and want to test your packages on 8.X, you're going to need them.

Ruben
Received on Thu Jul 23 2009 - 11:06:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC