From owner-freebsd-questions@FreeBSD.ORG Mon Apr 19 11:34:24 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CEE6616A4CF for ; Mon, 19 Apr 2004 11:34:24 -0700 (PDT) Received: from qescan1.qgraph.com (QESCAN2.qgraph.com [206.158.124.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4915143D5D for ; Mon, 19 Apr 2004 11:34:24 -0700 (PDT) (envelope-from James.Ziller@qg.com) Received: by sxsmtp1.qgraph.com with Internet Mail Service (5.5.2657.72) id ; Mon, 19 Apr 2004 13:34:34 -0500 Message-ID: <025596A38A894B45AFE62346A6BF474609CBACD1@waexch1.qgraph.com> From: "Ziller, James" To: 'Charles Swiger' Date: Mon, 19 Apr 2004 13:34:34 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain cc: "'freebsd-questions@freebsd.org'" Subject: RE: Dependency hell X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Apr 2004 18:34:24 -0000 So then is there a way that the ports/package system can automatically handle replacing libfoo.so.3 with libfoo.so.4, so that packages compiled to use libfoo.so.3 can use libfoo.so.4 instead (assuming the new version is backward compatable)? Or can the port link against say libfoo.so (which should be a symlink to the version of the library that's installed)? Thanks for the responses, James -----Original Message----- From: Charles Swiger [mailto:cswiger@mac.com] Sent: Monday, April 19, 2004 1:18 PM To: Ziller, James Cc: 'freebsd-questions@freebsd.org' Subject: Re: Dependency hell On Apr 19, 2004, at 10:28 AM, Ziller, James wrote: > So in other words I do have to recompile everything that depends on a > given > library just because that library is updated to a slightly newer > version?:( Well, you could simply use the old version of the library. It's not especially hard to write code in a way that maintains upwards compatibility-- putting a version # or sizeof(struct foo) in structures being passed around helps!-- but some projects don't bother. -- -Chuck