hexpm/bob

hexpm/elixir:1.0.5-erlang-17.3.4-ubuntu-groovy-20201022.1 doesn't have crypto.app

Closed this issue · 3 comments

I wanted to do some tests on Elixir v1.0.x and noticed this:

$ docker run --rm -it hexpm/elixir:1.0.5-erlang-17.3.4-ubuntu-groovy-20201022.1 bash
root@225bca8ec9e7:/# mix new foo
{"init terminating in do_boot",{{badmatch,{error,{crypto,{"no such file or directory","crypto.app"}}}},[{elixir,start_cli,0,[{file,"src/elixir.erl"},{line,78}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

This image was first in the list at https://hub.docker.com/r/hexpm/elixir/tags?page=1&ordering=last_updated&name=1.0.5-erlang.

Fortunately I was able to do use an OTP-18 based image: hexpm/elixir:1.0.5-erlang-18.3.4.1.1-ubuntu-bionic-20200403 so it's not a blocker for me.

Oh, it's probably related to actions/setup-elixir#31 (comment).

I think last time I talked to Eric we discussed no longer supporting OTP 17 because reasons and because 1.0.5 also works with OTP 18.

I don't think it's related to the Ubuntu 20.04 issues. Probably there is some incompatibility between OTP 17 and Ubuntu Bionic that causes it to fail to build/configure. It is possible we can work around the issue by installing another openssl apt package, but we would need to investigate to confirm.

The issue comes from the erlang source image:

> docker run --rm -it hexpm/erlang:17.3.4-ubuntu-groovy-20201022.1 erl
Erlang/OTP 17 [erts-6.2.1] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V6.2.1  (abort with ^G)
1> application:start(crypto).
{error,{"no such file or directory","crypto.app"}}

I would say it's low priority because these are old versions but if you want to investigate I would suggest trying to build the image locally using https://github.com/hexpm/bob/blob/master/priv/scripts/docker/erlang-ubuntu-bionic.dockerfile#L16 and checking the output of ./configure when building.