[erlang-questions] running centos release tarball on debian
Mon Dec 12 22:53:58 CET 2016
On Mon, Dec 12, 2016 at 04:31:42PM -0500, Garry Hodgson wrote:
> We are using a jenkins build server on centos to create our
> releases, using rebar3. The deployed release tarball includes the
> erlang runtime. Recently we needed to deploy it on a remote system
> that runs Ubuntu. The developers used a tool called alien to convert
> the .rpm that installs the release tarball into a .deb package that
> Ubuntu expects.
Erlang programmers, meet Linux sysadmins. Linux sysadmins, meet Erlang
programmers. You can _finally_ make acquaintance.
> The application won't start, complaining that it can't find
> libcrypto, though OpenSSL is installed. I'm guessing that the
> compiled erlang runtime, having been built for centos, is looking
> for libs in different places, perhaps with different names.
Of course it is. Even if it could find OpenSSL libs, there are high
chances it would die on missing symbols or some other linking error.
There's also the thing of host OS' architecture (i386 vs. amd64 (Debian)
or i386 vs x86_64 (Red Hat)), though I doubt it somehow.
> Is there a way to make this work by working around with env vars,
> symlinks, or other post-buld kludgery? Or do we need to just bite
> the bullet and set up a Jenkins build server for ubuntu?
Either you bite the bullet or build a release without including ERTS,
leaving the task of providing it for deployment phase. Then receivers of
your release would need to compile Erlang at most.
> Are others
> deploying releases on different Linux distributions? Any suggestions
> or lessons learned would be appreciated.
I don't think many of Erlang programmers pay attention to working along
with their OS. Otherwise we wouldn't have that poor cooperation between
Erlang and package systems with initscripts.
More information about the erlang-questions