jeanparpaillon / erlang-dbus

Erlang DBUS implementation (forked from unmaintained erlang-dbus)
Apache License 2.0
52 stars 22 forks source link

Unable to compile UNIX transport #22

Closed mspanc closed 8 years ago

mspanc commented 8 years ago

I am trying to add dbus support to my phoenix app

$ mix deps.compile dbus
WARN:  Missing plugins: [rebar3_hex]
==> dbus (compile)
Compiling src/dbus_transport_unix.erl failed:
src/dbus_transport_unix.erl:15: can't find include lib "procket/include/procket.hrl"
src/dbus_transport_unix.erl:56: undefined macro 'PF_LOCAL'
src/dbus_transport_unix.erl:154: undefined macro 'UNIX_PATH_MAX'
src/dbus_transport_unix.erl:21: function init/1 undefined
ERROR: compile failed while processing /vagrant/deps/dbus: rebar_abort

I've removed src/dbus_transport_unix.erl and it compiles properly.

Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] Elixir 1.2.0

saa commented 8 years ago

Do you have procket in deps?

jeanparpaillon commented 8 years ago

@NobbZ Maybe dependencies are not correctly declared on hex.pm ?

mspanc commented 8 years ago

AFAIK procket does not exist as a hex package. I am aware I can use rebar etc. but I think it's less than clear that you have to specify it separately.

jeanparpaillon commented 8 years ago

@mspanc I suppose you've found the answer ;) Either creates an hex package for procket either use rebar without hex. FYI, we (especially @saa) are currently working on migrating from procket to the OTP native UNIX socket support (to be merged into OTP... soon, see #8)

mspanc commented 8 years ago

Cool, I think removing this dependency is the best option :) Closing then.

slashmili commented 8 years ago

Hey! The OTP native UNIX socket has merged. I can take look to replace procket with native UNIX socket.

slashmili commented 8 years ago

Just saw that some one already is working on that #23

jeanparpaillon commented 8 years ago

@slashmili Hi, the guy working on that topic has disappeared :( There were already some code working with new UNIX socket support. It only lacks updating travis CI builds for merging the code. Do you want to give an eye on https://github.com/lizenn/erlang-dbus/pull/23 ?

slashmili commented 8 years ago

@jeanparpaillon I did look at that and though just adding erlang 19.0 solves the problem! which it didn't https://travis-ci.org/slashmili/erlang-dbus/builds/161265849 I'll take a look to see if I can fix the broken build.

BTW I can also see that travis build for master branch is failed. So I'm not sure if after fixing the problem, I would get the same error as master branch or not

jeanparpaillon commented 8 years ago

erlang 19.0 is not (yet) officially available with Travis. Before running tests, you should then install erlang 19.0 in the build env, with kerl for instance (https://github.com/kerl/kerl)

Regarding current travis failure, the situation is strange:

Plus, recently I've had issues with Travis, just relaunching a build was making the tests passing

So, upgrading to erlang 19 + relaunching a build may do the trick ;)