Mix, elixir command issue - {“init terminating in do_boot”

,

./mix
{“init terminating in do_boot”,{undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
init terminating in do_boot ({undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]})

I download elixir with
git clone GitHub - elixir-lang/elixir: Elixir is a dynamic, functional language designed for building scalable and maintainable applications in fedora 29. It has precompiled binaries of mix and elixir. I am getting below errors.
Where can i get binaries of elixir, mix that run on fedora and other distros i.e centos, redhat

Crash dump is being written to: erl_crash.dump…done

elixir -v
{“init terminating in do_boot”,{undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
init terminating in do_boot ({undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]})
If your question is related to Phoenix or Nerves, please post it in the Phoenix or Nerves Questions / Help section. Thanks!

The github repository does not contain precompiled binaries for anything.

Therefore it is not clear to me where your ./mix comes from.

Though each release contains precompiled binaries, which are compiled against the lowest compatible version of erlang. The precompiled for 1.11.2 are available at https://github.com/elixir-lang/elixir/releases/tag/v1.11.2

The version of erlang according to repology is OTP 20, though elixir 1.11 requires at least OTP 21 according to the compatibility page.

So you either have to upgrade your erlang or use elixir 1.9.

PS: The init terminating in do_boot is a pretty common error message for using an outdated erlang.

Hi Norbert,

My erlang version is 23.1 and linux fedora 29. Please send the link of elixir which i can use. I am currently using it to compile rabbitmq-3.8.9.

Thanks,
Jayshankar

I already provided a link to a prebuilt version of elixir, which should work for you if you indeed have erlang 23.1 installed.

If it does not work for you, please run which --all erl to find all installed versions of erlang, then run each of the entries with -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell as arguments.

The following script would do the equivalent for you:

for erl in $(which --all erl); do
  printf "using erlang from %s" "${erl}"
  $erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().'  -noshell
done
1 Like

Hi Norbert,

My erlang version is 23.1 and linux fedora 29. Please send me the link of elixir which i can use. I am currently using it to compile rabbitmq-3.8.9.

I download the elixir-1.11.2. In bin directory i ran elixir -v.
I get the following error.
elixir -v
{“init terminating in do_boot”,{undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
init terminating in do_boot ({undef,[{elixir,start_cli,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]})

Thanks,
Jayshankar

Hi Norbert,

using erlang from /usr/local/bin/erl"23"
Please let me know which elixir package i need to download.

Thanks,
Jayshankar


That erlang version should work with the elixir I linked earlier.

Do i have to setup path or LD_LIBRARY_PATH or any other environment?.
I was wondering why it is giving error.

No, thats usually not necessary.