From owner-freebsd-current@FreeBSD.ORG Thu Jul 23 12:15:23 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC4F5106566B for ; Thu, 23 Jul 2009 12:15:23 +0000 (UTC) (envelope-from mad@madpilot.net) Received: from megatron.madpilot.net (megatron.madpilot.net [88.149.173.206]) by mx1.freebsd.org (Postfix) with ESMTP id 90E1B8FC0C for ; Thu, 23 Jul 2009 12:15:23 +0000 (UTC) (envelope-from mad@madpilot.net) Received: by megatron.madpilot.net (Postfix, from userid 1000) id 53F32130C54; Thu, 23 Jul 2009 14:15:22 +0200 (CEST) Date: Thu, 23 Jul 2009 14:15:22 +0200 From: Guido Falsi To: Ruben de Groot , subbsd , freebsd-current@freebsd.org Message-ID: <20090723121522.GC26926@megatron.madpilot.net> References: <200907231302.34000.subbsd@gmail.com> <20090723093217.GA26926@megatron.madpilot.net> <20090723100548.GA23481@ei.bzerk.org> <20090723104115.GB26926@megatron.madpilot.net> <20090723114057.GA23923@ei.bzerk.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090723114057.GA23923@ei.bzerk.org> X-Operating-System: FreeBSD 7.2-STABLE User-Agent: Mutt/1.5.20 (2009-06-14) Cc: Subject: Re: library compat for FreeBSD7x X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jul 2009 12:15:24 -0000 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. > > 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. Anyway, I think someone with better uderstanding of the internals of ld can give better explanations. Anyway this is academic, for yhow I understand it, symbol versioning will solve this in a not too far future... > > > I never used the compat bits, but I really think they are there for > > software you have just in binary form, and no way to recompile. > > 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. > > > If recompiling all ports is problematic just wait a few days and uupdate > > using packages... > > 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. -- Guido Falsi