Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails compiling dependencies #75

Closed
ghard opened this issue Jul 9, 2018 · 4 comments
Closed

Build fails compiling dependencies #75

ghard opened this issue Jul 9, 2018 · 4 comments

Comments

@ghard
Copy link

ghard commented Jul 9, 2018

There are multiple (transitive) dependencies to chatterbox, which appears to have warnings as errors set, while using a deprecated erlang API

Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1]
Elixir 1.6.6 (compiled with OTP 19)
Linux *redacted* 4.15.0-23-generic #25-Ubuntu SMP Wed May 23 18:02:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

And building as recommended in the README.md

ghard@*redacted*:~/src/MongoosePush$ MIX_ENV=prod mix do deps.get, certs.dev, docker.build, docker.release
*** stuff deleted ***
==> Compiling src/h2_connection.erl failed
src/h2_connection.erl:351: ssl:ssl_accept/2: deprecated; use ssl:handshake/2 instead

==> mongoose_push
** (Mix) Could not compile dependency :chatterbox, "/home/ghard/.mix/rebar3 bare compile --paths "/home/ghard/src/MongoosePush/_build/prod/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile chatterbox", update it with "mix deps.update chatterbox" or clean it with "mix deps.clean chatterbox"

Changing the compile opts for chatterbox will cause it to fail building the next module with a transitive chatterbox dependency. I am not adept enough in mix/elixir to figure out how to pass an exception to the build that would compile all modules matching X with warnings as errors disabled.

Is there an elegant workaround / fix or need I spoof whatever URL chatterbox gets loaded from from locally?

@ghard
Copy link
Author

ghard commented Jul 9, 2018

(I'm wondering how the build tests are set up, as it's all green here.)

@rslota
Copy link
Contributor

rslota commented Jul 10, 2018

@ghard ,

As far as I know, mix is unable to override options for rebar3 (which is used by chatterbox). There are two "solutions" here:

  1. Wait for chatterbox to be updated - client stream callbacks joedevivo/chatterbox#127 fixes the issue
  2. Don't use OTP 21.0 yet, use 20.3.6 instead (make sure it's not 20.3.[0-2] as those have a bug that prevents Erlang from connection to APNS).

As for green test, we simply don't use Erlang 21.0 yet. We'll wait until all deps fix issues related to this new release.

@rslota
Copy link
Contributor

rslota commented Jul 12, 2018

@ghard

Is the problem resolved? Can we close this issue?

@ghard
Copy link
Author

ghard commented Jul 12, 2018

I guess it will have to resolved in the upstream, so yes.

@ghard ghard closed this as completed Jul 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants