Logger: Missing ErlangHandler.beam file?

My distillery/edeliver build fails since today with the following log (excerpt):

==> Writing tarball to _build/prod/rel/subscribe/releases/0.0.2/subscribe.tar.gz
==> Release packaging failed due to errors:
    logger: Cannot add file _build/prod/rel/subscribe/lib/logger-1.6.6/ebin/Elixir.Logger.ErlangHandler.beam to tar file - _build/prod/rel/subscribe/lib/logger-1.6.6/ebin/Elixir.Logger.ErlangHandler.beam: no such file or directory

I’m not sure why but the file Elixir.Logger.ErlangHandler.beam does indeed not exist. I found this commit apparently adding this file to elixir a few weeks ago but I’m not sure what to do with this information. My versions:

Erlang/OTP 19 [erts-8.3.5.4] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
Elixir 1.6.6 (compiled with OTP 19)

Anyone know what’s wrong and how I can fix it?

Is it possible you’re running edeliver on FreeBSD, and using Elixir from ports?

If so, this was resolved yesterday: https://svnweb.freebsd.org/ports?view=revision&revision=474363 and should get rebuilt on package mirrors in the next couple of days.

You can apply the patch locally & rebuild, or build Elixir yourself to work around this, or simply copy the missing file from https://github.com/elixir-lang/elixir/releases/download/v1.6.6/Precompiled.zip to /usr/local/lib/elixir/lib/logger/ebin/Elixir.Logger.ErlangHandler.beam

If you’re not on FreeBSD, what platform are you on and how was Elixir built/installed?

2 Likes

Right, it’s FreeBSD. I’ll probably just wait then since I don’t need to deploy urgently. Thanks!