edgurgel / poxa

Pusher server implementation compatible with Pusher client libraries.
https://poxa.onrender.com/
MIT License
1.05k stars 96 forks source link

help building #6

Closed theinventor closed 10 years ago

theinventor commented 10 years ago

Hey, I'm brand new to erlang/elixir - setting up a fresh machine to try to build this on;

I did a brew install erlang, got the newest elixir in my path

mix deps.get <- worked

But then fails on lager;

[troy@Macintosh poxa (master)]$ mix compile
warning: the dependency jsex requires Elixir "~> 0.12.3" but you are running on v0.13.0, please run mix deps.update jsex to update it
* Compiling gproc
==> gproc (compile)
Compiled src/gproc_pt.erl
Compiled src/gproc_app.erl
Compiled src/gproc_bcast.erl
Compiled src/gproc_info.erl
Compiled src/gproc_init.erl
Compiled src/gproc_lib.erl
Compiled src/gproc_monitor.erl
src/gproc_dist.erl:23: Warning: behaviour gen_leader undefined
Compiled src/gproc_dist.erl
Compiled src/gproc_ps.erl
Compiled src/gproc_sup.erl
Compiled src/gproc_pool.erl
Compiled src/gproc.erl
* Compiling ranch
==> ranch (compile)
Compiled src/ranch_protocol.erl
Compiled src/ranch_transport.erl
Compiled src/ranch_acceptor.erl
Compiled src/ranch_acceptors_sup.erl
Compiled src/ranch_app.erl
Compiled src/ranch_listener_sup.erl
Compiled src/ranch.erl
Compiled src/ranch_server.erl
Compiled src/ranch_sup.erl
Compiled src/ranch_conns_sup.erl
Compiled src/ranch_tcp.erl
Compiled src/ranch_ssl.erl
* Compiling jsx
==> jsx (compile)
Compiled src/jsx.erl
Compiled src/jsx_config.erl
Compiled src/jsx_decoder.erl
Compiled src/jsx_to_json.erl
Compiled src/jsx_to_term.erl
Compiled src/jsx_verify.erl
Compiled src/jsx_encoder.erl
Compiled src/jsx_parser.erl
* Compiling jsex
Compiled lib/jsex.ex
Generated jsex.app
* Compiling cowlib
==> cowlib (compile)
Compiled src/cow_http.erl
Compiled src/cow_cookie.erl
Compiled src/cow_date.erl
Compiled src/cow_qs.erl
Compiled src/cow_spdy.erl
Compiled src/cow_mimetypes.erl
* Compiling cowboy
==> cowboy (compile)
Compiled src/cowboy_http_handler.erl
Compiled src/cowboy_loop_handler.erl
Compiled src/cowboy_middleware.erl
Compiled src/cowboy_sub_protocol.erl
Compiled src/cowboy_websocket_handler.erl
Compiled src/cowboy_app.erl
Compiled src/cowboy.erl
Compiled src/cowboy_bstr.erl
Compiled src/cowboy_clock.erl
Compiled src/cowboy_client.erl
Compiled src/cowboy_handler.erl
Compiled src/cowboy_multipart.erl
Compiled src/cowboy_protocol.erl
Compiled src/cowboy_http.erl
Compiled src/cowboy_router.erl
Compiled src/cowboy_spdy.erl
Compiled src/cowboy_static.erl
Compiled src/cowboy_sup.erl
Compiled src/cowboy_rest.erl
Compiled src/cowboy_req.erl
Compiled src/cowboy_websocket.erl
* Compiling uuid
cp src/uuid.app.src ebin/uuid.app
erl -make
Recompile: src/uuid
* Compiling goldrush
==> goldrush (compile)
Compiled src/glc.erl
Compiled src/glc_lib.erl
Compiled src/glc_code.erl
Compiled src/gr_context.erl
Compiled src/glc_ops.erl
Compiled src/gre.erl
* Compiling lager
==> lager (compile)
Compiled src/lager_util.erl
Compiled src/lager_transform.erl
Compiled src/lager_app.erl
Compiled src/lager_backend_throttle.erl
Compiled src/lager.erl
Compiled src/lager_config.erl
Compiled src/lager_console_backend.erl
Compiled src/error_logger_lager_h.erl
Compiled src/lager_crash_log.erl
Compiled src/lager_default_formatter.erl
Compiling src/lager_file_backend.erl failed:
src/lager_file_backend.erl:503: cannot parse file, giving up
ERROR: compile failed while processing /Users/troy/Documents/projects/erlang/poxa/deps/lager: rebar_abort
** (Mix) Could not compile dependency lager, /Users/troy/v0.13.0/bin/rebar command failed. If you want to recompile this dependency, please run: mix deps.compile lager

I don't know if that is a symptom, but doing what it said next got a little further;

[troy@Macintosh poxa (master %)]$ mix deps.compile lager
warning: the dependency jsex requires Elixir "~> 0.12.3" but you are running on v0.13.0, please run mix deps.update jsex to update it
* Compiling lager
Could not find rebar, which is needed to build lager
I can install a local copy which is just used by mix
Shall I install this local copy? [Yn] y
* creating /Users/troy/.mix/rebar
==> lager (compile)
src/lager_file_backend.erl:503: cannot parse file, giving up
ERROR: compile failed while processing /Users/troy/Documents/projects/erlang/poxa/deps/lager: rebar_abort
** (Mix) Could not compile dependency lager, /Users/troy/.mix/rebar command failed. If you want to recompile this dependency, please run: mix deps.compile lager

Then I'm stuck - I couldn't find anything online about this last error

Any ideas? Feel free to close this if it's too far off topic for this app

edgurgel commented 10 years ago

We got unlucky :cry: . You are using Elixir 0.13.0 (released 5 hours ago) that depends on Erlang 17.0.

We are updating to Elixir 0.13.0 on the next day probably, but till there you need ~> Elixir 0.12.4 and Erlang R16*

We can close this issue when we get to Elixir 0.13.0 and nobody will hit this error while building from last stable versions.

P.S.: Also, my preferred way to install Erlang and Elixir are:

https://packages.erlang-solutions.com/erlang/ & https://github.com/mururu/exenv

You can change Elixir versions whenever you want using exenv like rbenv, rvm.

edgurgel commented 10 years ago

Current master is using 0.13.1 and Erlang 17.0!

Cheers!