From owner-freebsd-current Tue Sep 15 23:28:08 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA11070 for freebsd-current-outgoing; Tue, 15 Sep 1998 23:28:08 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from vader.cs.berkeley.edu (vader.CS.Berkeley.EDU [128.32.38.234]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA11026; Tue, 15 Sep 1998 23:28:03 -0700 (PDT) (envelope-from asami@vader.cs.berkeley.edu) Received: from silvia.hip.berkeley.edu (sji-ca5-24.ix.netcom.com [209.109.234.24]) by vader.cs.berkeley.edu (8.8.7/8.7.3) with ESMTP id XAA05361; Tue, 15 Sep 1998 23:27:42 -0700 (PDT) Received: (from asami@localhost) by silvia.hip.berkeley.edu (8.8.8/8.6.9) id XAA03085; Tue, 15 Sep 1998 23:27:39 -0700 (PDT) Date: Tue, 15 Sep 1998 23:27:39 -0700 (PDT) Message-Id: <199809160627.XAA03085@silvia.hip.berkeley.edu> To: kkennawa@physics.adelaide.edu.au CC: ports@FreeBSD.ORG, current@FreeBSD.ORG In-reply-to: (message from Kris Kennaway on Wed, 16 Sep 1998 13:50:34 +0930 (CST)) Subject: Re: ELF transition for ports From: asami@FreeBSD.ORG (Satoshi Asami) Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG * What is wrong with doing as some oports do when they natively detect ELF, * namely: * * lrwxr-xr-x 1 root wheel 13 Sep 16 10:56 libICE.so@ -> libICE.so.6.3 * lrwxr-xr-x 1 root wheel 13 Sep 16 10:56 libICE.so.6@ -> libICE.so.6.3 * -rwxr-xr-x 1 root wheel 79424 Sep 16 10:56 libICE.so.6.3* The minor number is useless, since it is ignored by ELF. * It worries me that if there is a rapidly-changing port somewhere which * likes to bump its' minor version number, that before long we'll find * ourselves using libfoo.so.28 for libfoo.so.1.27. Is there something I've * missed about why the above cannot work? Yes. Say libfoo.so.1 is a link to libfoo.so.1.26. If libfoo.so.1.27 is really an upwards compatible (but not downwards compatible) upgrade of libfoo.so.1.26, then the version number *should* be bumped. And since ELF only sees "libfoo.so.1", the only way to bump it is "libfoo.so.2". Otherwise, if someone installs a binary compiled against libfoo.so.1.27 on a system with libfoo.so.1.26, there will be no error detection until the binary crashes during runtime. (Which is exactly the situation we were trying to avoid by using shared library version numbers in the first place.) People, please give us a break here. We've been working with shared libraries for years now, and know exactly what we're doing. We can't get anything done if we have to keep explaining this to everyone! Satoshi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message