Longstanding issues: structs & standalone Erlang

Rick Pettit <>
Thu Feb 16 06:36:32 CET 2006


On Wed, Feb 15, 2006 at 07:16:44PM -0500, Douglas Philips wrote:
> 
> >On 2006 Feb 15, at 5:07 AM, Romain Lenglet indited:
> >But I think that this specific problem of multiple versions only
> >rarely occurs (?), so we should not focus on it.
> 
> Not so rare, actually. Anyone who ships Java solutions has been  
> through that hell.
> Esp. when one companies software "Needs" a specific version, yours  
> needs another, and there can be "only one" installed in the systems  
> normal/default location. Worse when one system patch is needed for  
> one package, but breaks another.
> 
> If this isn't a problem with Erlang, it is not because Erlang is  
> immune, it is because Erlang is not popular enough to have that many  
> developers working on enough projects/products...
> 
> OTOH, the more time goes by before Erlang is that popular, the more  
> (I hope) options there will be to solve this problem.

Well, there's always this option:

  http://www.netbsd.org/Documentation/software/packages.html

"The NetBSD Packages Collection (pkgsrc) is a framework for building
 third-party software on NetBSD and other UNIX-like systems, currently
 containing over 5500 packages. It is used to enable freely available software
 to be configured and built easily on supported platforms."

Here's a snippet from the "Why Pkgsrc?" page:

Why pkgsrc?

pkgsrc provides the following key features:

    * Easy building of software from source as well as the creation and
      installation of binary packages. The source and latest patches are
      retrieved from a master or mirror download site, checksum verified, then
      built on your system. Support for binary-only distributions is available
      for both native platforms and NetBSD emulated platforms.
    * All packages are installed in a consistent directory tree, including
      binaries, libraries, man pages and other documentation.
    * Package dependencies, including when performing package updates, are
      handled automatically. The configuration files of various packages are
      handled automatically during updates, so local changes are preserved.
    * Like NetBSD, pkgsrc is designed with portability in mind and consists of
      highly portable code. This allows the greatest speed of development when
      porting to new a platform. This portability also ensures that pkgsrc is
      consistent across all platforms.
    * The installation prefix, acceptable software licenses, international
      encryption requirements and build-time options for a large number of
      packages are all set in a simple, central configuration file.
    * The entire source (not including the distribution files) is freely
      available under a BSD license, so you may extend and adapt pkgsrc to your
      needs. Support for local packages and patches is available right out of
      the box, so you can configure it specifically for your environment.

As for installing multiple versions of the same library, this is no problem.
I haven't personally played much with "package views" (probably the "preferred"
way to do this using NetBSD Pkgsrc):

  http://www.netbsd.org/Documentation/pkgsrc/faq.html#pkgviews-docs

but I have played with package naming conventions, etc, in order to allow for
the installation of multiple OTP libraries.

I don't mean to beat a dead horse (I've posted about pkgsrc on this list
before), but I do feel compelled to remind people about it every time this
subject comes up.

Check it out and see if it fits your needs.

-Rick



More information about the erlang-questions mailing list