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

zxq9 zxq9@REDACTED
Sat Dec 20 10:58:48 CET 2014

On 2014年12月20日 土曜日 11:11:34 Loïc Hoguin wrote:
> The beam files are portable. The VM itself is not. As a first guess I
> would look to see if there are libc incompatibilities between the CentOS
> versions which would make loading the executables fail. Another possible
> issue is crypto, if you didn't compile it statically.
> If that fails I would use file or ld or other on the erl or erlexec
> executable to figure out what the problem is. Running erl directly might
> also give a better error message.

Indeed, there are a lot of differences between the 5.x and 6.x systems with 
regard to libs. It is unreasonable to expect a binary built against one RHEL 
major version family to work directly on another. Rebuilds are nearly always 
necessary. There are major version differences between some core libraries and 
the kernels don't look much alike at all anymore, either (RedHat backports a 
lot of security fixes, but they don't slide versions forward in the core 
distro, only in "developer tools" add ons).

It looks like Erlang Solutions is only maintaining rpms for the Fedora 12/13 
derived family (RHEL 6 & friends) and Fedora 19 family (RHEL 7 &co.). 5.x was 
based on Fedora Core 6 -- which in Linux history terms was the Bronze Age.

All that said, building from source on 5.2 should be pretty straightforward if 
it has been receiving updates (in particular to gcc -- I'm not sure what 
version 5.2 had to start with, but needed bug fixes should have been released 
in maintenance patches). Building with wxErlang might be a challenge, though.

More information about the erlang-questions mailing list