[erlang-questions] Erlang compilation travails

Bob Ippolito bob@REDACTED
Wed May 7 20:34:38 CEST 2014

The problems you've experienced would happen with many other platforms
(such as Python or even C). You tried to compile something with optional
dependencies that you needed but the dependencies weren't there at the
time. The configure and build succeeded but didn't provide the features you
needed so it ended up as failure. Nothing about this is Erlang lore, it's
just general build/ops stuff. The only Erlang knowledge required to solve
your issue was to know how to read an Erlang traceback (granted, these are
kinda backwards and line-noisy at first glance), and to know that the
crypto module depends on OpenSSL.

Any way to enforce that the build system is in some specific configuration
before you start building things is sufficient to keep things in working
order. Ansible, Puppet, Chef, Nix, CFEngine, etc. are all reasonable
solutions to this and make the environment easy enough to reproduce.

A better way might be to use Erlang releases for deployment, where you
would deploy an entirely self-sufficient Erlang environment to your
servers. The build would happen in one place and the deployment servers
would only need to have the shared libraries that the runtime needs
(OpenSSL and a few other things) which are probably already installed in a
stock distribution. This would make the filesystem isolation the Docker
provides mostly irrelevant, but using containers might still make sense for
other reasons (security, for example).

On Wed, May 7, 2014 at 11:18 AM, <lloyd@REDACTED> wrote:

> Hello,
> Thanks to generous help from folks on this list, I'm moving back to system
> stability. But my experience raises several questions:
> 1) Given the issues that I've run into compiling a simple development
> environment, all of my inadvertent doing no doubt, what can I expect when I
> set out to deploy a production stack to multiple remote servers?
> 2) Are there best practices lurking in the unpublished lore of the Erlang
> community (or published for that matter) for dealing with the problem of
> keeping development and production systems service-fit and up-to-date?
> 3) Would Ansible help?
> 4) Does it make sense to consider development and deployment under
> Docker--- presuming it's production ready by the time I'm ready?
> 5) Is there a better way?
> Thanks again to all,
> Lloyd
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140507/1cfcfcc7/attachment.htm>

More information about the erlang-questions mailing list