Mike Porter mupi at
Sat Oct 11 00:23:15 PDT 2003

Hash: SHA1

On Thursday 09 October 2003 01:26 pm, Paul Jarc wrote:

> > or loose a big part of the flexibility by installing parts in a
> > common location.
> That mostly crops up with modules for interpreted languages.  E.g.,
> Perl really wants to install modules in its own prefix, and look for
> them there.
variant symlinks largely solves this problem, as the location of perl can be 
easily specified, and, if a symlink, modified automatically.  If I use perl 
5.8, and I go to CPAN, and grab/install a module, the module/perl itself see 
the path as /usr/local/perl/modules even though it might really be 
/usr/ports/perl5.8/perl/modules.  On the other hand, if my system wants perl 
5.004 to build parts of world, there is no conflict.  Even better, since many 
ports use various versions of perl to accomplish some of their magic, the 
port itself can ask for a specific version of perl, and see it (indeed, that 
version of perl will see itself as) /usr/local/perl.

> > It is my believe that most applications in a system will be installed in
> > only _one_ version. The most important examples are development tools
> > and language environments e.g. interpreter. The situation is different
> > for libraries, where the availibility of multiple incompatible versions
> > will be the _normal_ situation.

I see this as largely true, with two specific exceptions, namely gcc and perl, 
as these are both used by the system enough to be considered part of the 
'base' system.  Anyone wishing to redistribute *bsd under terms other than 
GPL, must manually remove those components prior to doing so. (there are 
probably other bits lying around too (any takers to find/list them all?  I'm 
sure somebody knows what they all are), but those are specific issues).  One 
of the biggest issues is that a kernel build requires 2.95.4, but most modern 
software was written for at least 3.3 (if not for 3.4).  Ditto with perl, 
where becuase it is needed for proper functioning of ports, at least, a 
certain minimum version is required; and becuase installing a newer version 
can break your systems version, porters have to assume that only 5.004 is 
available, and work from there.

As previously mentioned, with libraries, all bets are off, since if you 
install 50 programs that link to the same .so, they probably all want 
different, incompatible, versions of it.  (Ok, maybe not 50, but 25 at least 
<(}: )

Version: GnuPG v1.2.1 (FreeBSD)


More information about the Kernel mailing list