Longstanding issues: structs & standalone Erlang
Rick Pettit
rpettit@REDACTED
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