Re: binary compatibility query

[ Available lists | Index of freebsd-hackers | Month of May 2008 | Week of 5 May 2008 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Kris Kennaway <kris@FreeBSD.org>
Date
5 May 2008 13:37:58
Subject
Re: binary compatibility query
Message-ID
481F0DB3.9070505@FreeBSD.org

In reply to
References to

[ Hide this part ]
Carl Shapiro wrote:
> FreeBSD Hackers,
>
> I have a general question about the compatibility of FreeBSD binaries
> within major releases. If I build a binary for a given release of
> FreeBSD can I make a reasonable guarantee that the binary will run on
> both previous and subsequent minor releases of the same major release?
> In other words, if I build on FreeBSD 6.3 and do not rely on anything
> unique to 6.3 (such as the presence of specific version strings) how
> certain can I be that the code will or will not run on 6.2, 6.1 etc.?
>
> Also, is this documented anywhere on the FreeBSD web site? The
> closest thing I could find is the following guidance for driver
> vendors which falls just short of answering my question:
>
> http://wiki.freebsd.org/VendorInformation
>
> (Too bad the fancy illustration is missing.)

Binaries compiled on a certain version of FreeBSD will continue to run
on later versions, but are not guaranteed to run on earlier versions
(and in fact *will* not run depending on the binary). This is because
over time the system libraries and kernel grow new features which may be
used by applications, so they will therefore fail to run if executed on
old systems that do not provide these features.

If your goal is to provide an application that runs on a range of
FreeBSD versions, then either build it for the oldest of these versions,
or provide multiple versions if there is a reason to do so (e.g. if
there have been major improvements in the OS that are relevant to your
application).

Kris



Elapsed time: 0.110 seconds