Error mix deps.get in Mac

,

Background

I have a project that needs to run on a Mac machine. I have installed erlang 22.0 and Elixir 1.7.0 using asdf and I have tried to install the dependencies using mix deps.get.

Problem

However when I try to run it I get the following error:

(MatchError) no match of right hand side value: {:error, {:ssl, {'no such file or directory', 'ssl.app'}}}

I have tried to fix the issue by following this SO question but it didn’t fix the problem:

Questions

How can I fix this ?

In the iex terminal what’s the output of :ssl.start()?

And what version of OTP, 22.0.?? Try to make sure it is 22.0.7.

3 Likes

iex(1)> :ssl.start()
** (UndefinedFunctionError) function :ssl.start/0 is undefined (module :ssl is not available)
:ssl.start()

So, I should install erlang 22.0.7 with asdf? I’m on it !

1 Like

I would. The fact that :ssl doesn’t exist means it couldn’t bind with the SSL library on your system. As I recall I think Mac’s changed the SSL implementation recently and the very latest OTP’s have support for it or something like that?

1 Like

Yeah last mac update was painful.

Here is what I did to make it work.

  • update asdf
  • update asdf erlang
  • update asdf elixir
  • reinstall tools

Something like this

$ asdf update
$ asdf plugin-update erlang
$ asdf plugin-update elixir

$ asdf list-all erlang
$ asdf list-all elixir

$ asdf install erlang 22.0.7
$ asdf global erlang 22.0.7

$ asdf install elixir 1.9.1-otp-22
$ asdf global elixir 1.9.1-otp-22

$ mix local.hex
$ mix local.rebar

Not to mention I had to update node, yarn and postgresql in the process…

6 Likes

Thank you everyone for the help, it solved the issue!

2 Likes

After long struggle, following Step 2: Parametrized compilation of Erlang in the following link helped me to resolve the issue with ssl and build & install erlang 23.0.2 in mac (Mojave)

1 Like