[erlang-questions] Creating an application that is portable across versions of CentOS
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