Erlang 19.0, Elixir 1.3 and Phoenix 1.1.4 compatible?

Hi all,

I have just upgraded my erlang to 19.0 and Elixir to 1.3. When creating a new 1.1.4 phoenix project (as i am learning it !), it creates fine, but then doing iex -S mix phoenix.server i get

c:\Users\tom\IdeaProjects\pathweb\apps\pathwebrelay>iex -S mix phoenix.server
Eshell V8.0  (abort with ^G)
Compiling 12 files (.ex)

== Compilation error on file web/router.ex ==
** (CompileError) web/router.ex: internal error in v3_core;
crash reason: {case_clause,
    {'EXIT',
        {badarg,
            [{erl_anno,anno_info,[-1],[{file,"erl_anno.erl"},{line,360}]},
             {v3_core,record_anno,2,[{file,"v3_core.erl"},{line,2410}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,539}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,528}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,538}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,538}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,528}]},
             {v3_core,safe,2,[{file,"v3_core.erl"},{line,1593}]},
             {v3_core,'-safe_list/2-anonymous-0-',2,
                 [{file,"v3_core.erl"},{line,1608}]},
             {lists,foldr,3,[{file,"lists.erl"},{line,1276}]},
             {v3_core,expr,2,[{file,"v3_core.erl"},{line,652}]},
             {v3_core,exprs,2,[{file,"v3_core.erl"},{line,512}]}]}}}

  in function  compile:'-select_passes/2-anonymous-2-'/2 (compile.erl, line 530)
  in call from compile:'-internal_comp/4-anonymous-1-'/2 (compile.erl, line 315)
  in call from compile:fold_comp/3 (compile.erl, line 341)
  in call from compile:internal_comp/4 (compile.erl, line 325)
  in call from compile:'-do_compile/2-anonymous-0-'/2 (compile.erl, line 175)
    (stdlib) lists.erl:1338: :lists.foreach/2
    (phoenix) expanding macro: Phoenix.Router.__before_compile__/1
    web/router.ex:1: Pathwebrelay.Router (module)
    (elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1

Am i trying the new versions too soon and there are compatibility issues? This is on windows 7 and i am using node 6.2.2

Thanks

Shifters

2 Likes

$ mix deps.update phoenix_html and you are all set!

10 Likes

i have the same issue
but my environment:

Erlang/OTP 19 [erts-8.0] [source-6dc93c1] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Elixir 1.4.0-dev (8f8bb86)

phoenix 1.2.0-rc.1
phoenix_html 2.6.0

Hi Chris,

tried that and didn’t work. Deleted all my deps and _build folder and tried again. (mix deps.get then mix compile) and erlware commons fails to compile! - a number of errors about a bad ‘/’).

I removed erlang 19.0 and reinstalled 18.3 with the existing elixir 1.3.0, every thing compiles and runs fine!!

So i guess its something to do with erlang 19.0?

Thanks for the help

regards

Shifters

Make sure you are on Phoenix 1.1.6, as any prior 1.1.x does not have erl 19 support. $ mix deps.update phoenix

2 Likes

I did a $ mix deps.clean --all and then $ mix deps.get. It worked for me.

2 Likes

Do update all dependencies with
$ mix deps.update --all
It works.

1 Like

unfortunately is not enough for me :frowning:

What isn’t? Did you up date to Phoenix 1.1.6?

@hsavit1 a lot of people are encountering this issue, but there are a number of solutions here: https://github.com/phoenixframework/phoenix/issues/1768

1 Like

Ahh, a nif. Wish there were a good way to compile NIF’s without needing a compiler on the system, like an embedded clang would be awesome in mix. cough

Can you show your mix.exs file?