Undefined parse transform 'lager_transform' with elixir 1.4.0

Hi all.

I’ve a small project that uses an external erlang lib (https://github.com/tonyrog/can) which works ok with elixir 1.3.4

As soon as I switch to 1.4.0 I get the error undefined parse transform 'lager_transform' when compiling

I’ve setup a small test repo to reproduce the issue:

To build it, REBAR_DEPS_DIR must be set, like

export REBAR_DEPS_DIR=/path/to/project/deps/; mix do deps.get, deps.compile

If built with 1.3.4 all is ok, with 1.4.0 fails with the above error.

Maybe is something wrong in the :can package (I’ve tried to put the :lager dep as first into :can rebar.config, but without any luck).

Any hint or pointers?

If is useful, I’m using erlang 19.1 and switching elixir with kiex


Huh, I was not able to find any reference to lager in the dthread project, looks to be callde from ‘can’ itself only.

Regardless, it looks like that probably ‘can’ has a bug, have you reported it?

Yes, only :can references it.

I’ve still not reported it because with mix/elixir < 1.4.0 works, so the only thing changing is the elixir version.

Seems related to https://github.com/elixir-lang/elixir/issues/5640 , let’s see what happens.

Hi, maybe inlcuding the parse transform might help

def application do
        applications: [:lager],
        erl_opts: [parse_transform: "lager_transform"]
1 Like


thanks for the answer, it was one of my first tests.

But it was an issue into elixir itself, and has been fixed since a while.

1 Like