From owner-freebsd-hackers Sat Jul 5 20:22:12 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id UAA03266 for hackers-outgoing; Sat, 5 Jul 1997 20:22:12 -0700 (PDT) Received: from misery.sdf.com (misery.sdf.com [204.244.210.193]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id UAA03256 for ; Sat, 5 Jul 1997 20:22:07 -0700 (PDT) Received: from tom by misery.sdf.com with smtp (Exim 1.62 #1) id 0wkhpE-0003JX-00; Sat, 5 Jul 1997 20:17:24 -0700 Date: Sat, 5 Jul 1997 20:17:24 -0700 (PDT) From: Tom Samplonius To: Kent Boortz cc: freebsd-hackers@freebsd.org Subject: Re: Application os version compatibility? In-Reply-To: <199707060136.DAA28936@townsend.ericsson.se> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk On Sun, 6 Jul 1997, Kent Boortz wrote: > I know some just link "libc.2.2" to "libc.3.0" to get *some* > applications working that was built for another os version than > the one running but there must be a better way to create > applications that will survive over os version? > > A reasonable rule would be that > > - If changing the third version number applications with > shared libraries will still work. The libc version is ONLY changed if the interface changes. If the interface changes, some applications will not work. Hence, the version number change. > - If changing the second number staticly linked will still work. Huh? Statically linked applications ALWAYS work. > - If changing the first number we may have to recompile the > whole thing and do a new release. Unless it is statically linked, in which case it will still work. > Is there an official rule similar to this in FreeBSD? > > If the application in question was distributed with full source > this wouldn't be a big problem but unfortunately it isn't. Well, FreeBSD 3.0 isn't released yet. The libc API COULD still change, because it is still in development. In other words, applications linked with 3.0 from Jan, may not work with 3.0 July. It is foolish to make binary-only releases to support an unreleases os version. Statically link it, and it will work on any version, or dynamically link it to the oldest good release (probably 2.1.7), and 2.2 users can install the 2.1 compat package (basically just a copy of libc.2.2). It really is quite simple. > Please include my email address in the "To" or "Cc" field because > I'm not on the "freebsd-hackers" list. > > Thank you in advance, > > /kgb > > Tom