the creature from the black lagoon.... or dealing with OS cr…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Jeremy C. Reed
Date:  
Subject: the creature from the black lagoon.... or dealing with OS creep
On Tue, 14 Oct 2003, Deepak Saxena wrote:

> But one of the problems with installing libraries, even if you build
> your own packages, soon as you upgrade an existing library you may
> be breaking dependencies across the whole system. It would be interesting
> to have multiple library directories and have wrapper scripts around apps
> that need newer libraries to point the dynamic linker to specific directories
> so that you can have distro packages and homebrew stuff co-existing.


This sounds like pkgsrc.

The build framework (called "buildlink2") creates a series of symlinks and
wrapper scripts for libraries, headers, and compiler/build tools. The
arguments passed to build tools (like to gcc or libtool) are modified to
look at the buildlink directory versions first. The PATH is modified to
look to run the wrapper commands first.

One advantage of this is that it forces a package to be built consistently
no matter if a variety of conflicting or extra software (like libraries)
are available.

In some cases, the actual build scripts (like a custom configure) or
Makefiles are patched to make sure they don't override the build
framework.

(By default, all files are installed to /usr/pkg which makes it easy to
keep your own operating system clean. I use /usr as my installation
location on several systems though.)

Also, a pkgsrc extension is available called "pkgviews". It configures and
installs all software to their own dedicated directory (hierarchy). Then a
symlink tree is made to reference the files. This makes it so many
libraries/developer headers can be installed for same software but
different versions at the same time. (Plus you can have old and new
versions of other software installed at same time.)

Jeremy C. Reed
http://bsd.reedmedia.net/