[erlang-questions] Creating an application that is portable across versions of CentOS

Tuncer Ayaz <>
Fri Dec 19 23:19:04 CET 2014


On Fri, Dec 19, 2014 at 4:55 PM, jim rosenblum wrote:
> I have a standard OTP application in which I use Rebar to generate a
> release.
> When I tar up the appropriate release directory, I can explode it on
> another CentOS 6.2 machine, and it will run with no problems. But
> when I explode it on a CentOS 5.2 machine, it will not run giving
> the following output:
>
> #bin/jc console
> Exec: /root/test/jc/erts-6.2/bin/erlexec -boot
> /root/test/jc/releases/1.0.0/jc -mode embedded -config
> /root/test/jc/releases/1.0.0/sys.config -args_file
> /root/test/jc/releases/1.0.0/vm.args -- console
> Root: /root/test/jc
> bin/jc: line 224: /root/test/jc/erts-6.2/bin/erlexec: cannot execute
> binary file
> bin/jc: line 224: /root/test/jc/erts-6.2/bin/erlexec: Success
>
> Should this work? If so, can someone share the tricks to
> portability.

Just to be sure, both CentOS installations are amd64, right?

If so, maybe the erlexec binary built on or for CentOS 6.2 is
incompatible with 5.2's system libs or missing extra libs not
installed on the 5.2 machine.

Also, assuming you've built or are using Erlang for CentOS 6.2, your
chances of using a release from CentOS 5.2 on the CentOS 6.2 machine
are most likely higher.


More information about the erlang-questions mailing list