Subject: Re: packages, rpaths, compat, oh my!
To: Richard M Kreuter <kreuter@progn.net>
From: None <cube@cubidou.net>
List: netbsd-help
Date: 09/19/2004 00:22:46
On Sat, Sep 18, 2004 at 06:00:26PM -0400, Richard M Kreuter wrote:
[...]
> [1] At any rate, I don't know of a good way to get the executables to
> use those libraries. Unlike the COMPAT_* emulations of other operating
> systems, it doesn't look like there's any magical pathname magic going
> on when running old native binaries on NetBSD; I don't know whether
> there's any version information in the binaries to indicate that a
> native binary is old. I'd prefer not to litter /usr/lib and
> /usr/X11R6/lib with symlinks, since eventually I won't need the old
> libraries any more. Wrapping some of the failing programs with scripts
> that set LD_LIBRARY_PATH can work, but there are some suid programs
> that I'd like to use (e.g., screen, minicom), and even for programs
> that can work this way, having old versions of the libraries in
> directories in LD_LIBRARY_PATH prevents running 2.0 binaries as
> subprocesses. Using rpaths seems to be an elegant solution, at any
> rate.

The NetBSD COMPAT_XX options are compatibility options:  the kernel
will support the obsolete versions of its own API in order to have
older binaries running.

It is very different from the binary emulation layers, for which a
different userland is needed.  Having an emulation layer for older
NetBSD binaries is not possible because the ABI doesn't change from
one version to the other; only the API.

Quentin Garnier.