[erlang-questions] compile a module against a different otp minor version
Wed Dec 17 17:26:12 CET 2008
Here is a repetition of an answer I gave about a year ago.
The safe assumption that we design and test for as good we can is that
a .beam file compiled with the release including erts-5.5.3 will run on all
forthcoming 5.5.x (x > 3) releases and even on 5.6.x releases if we
But note, that even if a .beam file produced with an erts-5.5.x (R11B
something) system works on a erts-5.6.x (R12B something) system it
might not run as efficient as the same .beam file produced with an
Because of this I would recommend that you build new .beam files when
there is a new major release.
It is actually both the erts version and the compiler version that is
it comes to compatibility.
Even if it works in most cases I would not say that is a 100% safe
say that a .beam file produced with a newer release will run without
problems on an older release. It may hold for one module but maybe not
for another depending on
the contents of the module.
Our strategy is to be compatible with at least one older major version.
R11B can run code from R9C and R10B
within a major release like R11B .beam files produced by a release say
R11B-0 can always be run by systems R11B-1 and newer.
/Kenneth (Erlang/OTP team at Ericsson)
2008/12/17 Pablo Platt <pablo.platt@REDACTED>:
> Is it possible to compile a module against a different minor otp version
> that the one the module is going to run in?
> For example, if I have R12B-3 can I run a module compiled using R12B-5?
> How can I find out the minor version of the OTP?
> I've tried both:
> but they only reveal R12B.
> erlang-questions mailing list
More information about the erlang-questions