Strange paths in Elixir errors

I have Erlang installed through asdf install erlang 20.2.2 and elixir thorugh asdf install elixir 1.6.1-otp-20 so they reside in /home/sztosz/.asdf/install/...

My project is in /home/sztosz/Documents/Social/social-elixir-elastic-api

I just noticed something funny:

iex(43)> z = ElixirElasticApi.Mentions.IndexParser.parse(datetimes, nil, nil)
** (Protocol.UndefinedError) protocol Enumerable not implemented for nil. This protocol is implemented for: Amnesia.Table.Stream, Date.Range, File.Stream, Function, GenEvent.Stream, HashDict, HashSet, IO.Stream, List, Map, MapSet, Range, Stream
    (elixir) /home/ubuntu/bob/tmp/ae83a1578040bae08aad3293e21be16d/elixir/lib/elixir/lib/enum.ex:1: Enumerable.impl_for!/1
    (elixir) /home/ubuntu/bob/tmp/ae83a1578040bae08aad3293e21be16d/elixir/lib/elixir/lib/enum.ex:141: Enumerable.reduce/3
    (elixir) lib/enum.ex:1919:

Look at the errors paths.

I don’ know any Bob that has access to my desktop, actually I don’t think I know any Bob in person at all. Not to mention that I don’t remember last time I was using ubuntu.

So… Is it asdf? Is it Erlang or Elixir? Or what is it? I’m guessing it’s because those Elixir packages are precompiled so the paths are from the machine it was compiled on… right?


bob is the buildserver used by the elixir team. So you are using a prebuild elixir.

Ok, now why one line is displayed as lib/enum.ex:1919 and the other two as /home/ubuntu/bob/tmp/ae83a1578040bae08aad3293e21be16d/elixir/lib/elixir/lib/enum.ex: ?

And bonus question how to install from sources through asdf?

From asdf README:

  • ref:v1.0.2-a or ref:39cb398vb39 - tag/commit/branch to download from github and compile
  • path:/src/elixir - a path to custom compiled version of a tool to use. For use by language developers and such

Thanks, I was looking in asdf-elixir readme :sweat: