summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2017-07-27 15:19:01 +0300
committerMichael Klishin <michael@clojurewerkz.org>2017-07-27 15:19:01 +0300
commit9d8957bceed6560ba52a61854b80b327bf6104c3 (patch)
tree58304d5ae0ca7c2fe98703c89a1ba1d38cbeee30
parentd15c03f1e1467198c7cb9649e0bd7ec900b744f0 (diff)
downloadrabbitmq-server-git-9d8957bceed6560ba52a61854b80b327bf6104c3.tar.gz
Log a more sensible error message when running on an Erlang version that's too old
Closes #1307. [#149635897#]
-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..8622f696e5 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 stdout to make this more visible
+ io:format("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.