summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2017-07-27 20:16:59 +0300
committerGitHub <noreply@github.com>2017-07-27 20:16:59 +0300
commitde4f09faf36310b1fc7e927833e780fc72d10068 (patch)
treef86904601e932cb8314cc8dd21603ea24b61f03e
parentd15c03f1e1467198c7cb9649e0bd7ec900b744f0 (diff)
parent200f8eb908ae1c02336862e821978887fab431b4 (diff)
downloadrabbitmq-server-git-de4f09faf36310b1fc7e927833e780fc72d10068.tar.gz
Merge pull request #1311 from rabbitmq/rabbitmq-server-1307
Log a more sensible error message when running on an outdated Erlang version
-rw-r--r--src/rabbit.erl10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index fd2f980455..b166e079f4 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -803,6 +803,16 @@ start(normal, []) ->
warn_if_disc_io_options_dubious(),
rabbit_boot_steps:run_boot_steps(),
{ok, SupPid};
+ {error, {erlang_version_too_old,
+ {found, OTPRel, ERTSVer},
+ {required, ?OTP_MINIMUM, ?ERTS_MINIMUM}}} ->
+ Msg = "This RabbitMQ version cannot run on Erlang ~s (erts ~s): "
+ "minimum required version is ~s (erts ~s)",
+ Args = [OTPRel, ERTSVer, ?OTP_MINIMUM, ?ERTS_MINIMUM],
+ rabbit_log:error(Msg, Args),
+ %% also print to stderr to make this more visible
+ io:format(standard_error, "Error: " ++ Msg ++ "~n", Args),
+ {error, {erlang_version_too_old, rabbit_misc:format("Erlang ~s or later is required, started on ~s", [?OTP_MINIMUM, OTPRel])}};
Error ->
Error
end.