msantos / procket

Erlang interface to low level socket operations
http://blog.listincomprehension.com/search/label/procket
BSD 3-Clause "New" or "Revised" License
283 stars 80 forks source link

make fails on ubuntu bionic #45

Closed AlaBYahya closed 5 years ago

AlaBYahya commented 5 years ago

i m trying to build procket from the source with make but it fails, missing kernel and stdlib in applications list.

make[1]: Leaving directory '/home/user215/Desktop/procket-master/c_src' ===> "/home/user215/Desktop/procket-master/_build/default/lib/procket/ebin/procket.app" is missing kernel from applications list ===> "/home/user215/Desktop/procket-master/_build/default/lib/procket/ebin/procket.app" is missing stdlib from applications list

is there a fix or a workaround ? Thanks

msantos commented 5 years ago

@h3kr thank you for letting me know about this! What version of erlang are you using? I tried with 21 and 22 and was not able to reproduce the error.

Could you try the following patch and rebuild?

diff --git a/src/procket.app.src b/src/procket.app.src
index 8b6139f..0bd942a 100644
--- a/src/procket.app.src
+++ b/src/procket.app.src
@@ -1,6 +1,6 @@
 {application, procket,
     [{description, "Low level socket operations"},
-     {applications, []},
+     {applications, [kernel,stdlib]},
      {registered, []},
      {vsn, "0.9.3"},
AlaBYahya commented 5 years ago

@msantos , thanks for the quick replay, i m using Erlang/OTP 20

I think the patch worked:

``make[1]: Entering directory '/home/user215/Desktop/procket-master/c_src' make -f /home/user215/Desktop/procket-master/c_src/Makefile.ancillary make[2]: Entering directory '/home/user215/Desktop/procket-master/c_src' cc -c -Wall -fPIC -g -O2 -DNDEBUG -DSPARE_SEND_FDS -DSPARE_RECV_FDS fd_send.c cc -c -Wall -fPIC -g -O2 -DNDEBUG -DSPARE_SEND_FDS -DSPARE_RECV_FDS fd_recv.c ar cr libancillary.a fd_send.o fd_recv.o ranlib libancillary.a make[2]: Leaving directory '/home/user215/Desktop/procket-master/c_src' cc -m64 -DHAVE_SETNS -g -Wall -o /home/user215/Desktop/procket-master/priv/procket -L/home/user215/Desktop/procket-master/c_src procket_cmd.c -lancillary cc -O3 -std=c99 -finline-functions -Wall -Wmissing-prototypes -m64 -fPIC -I /usr/lib/erlang/erts-9.2/include/ -I /usr/lib/erlang/lib/erl_interface-3.10.1/include -c -DHAVE_SETNS -o /home/user215/Desktop/procket-master/c_src/procket.o /home/user215/Desktop/procket-master/c_src/procket.c cc /home/user215/Desktop/procket-master/c_src/procket.o -shared -L/home/user215/Desktop/procket-master/c_src -lancillary -L /usr/lib/erlang/lib/erl_interface-3.10.1/lib -lerl_interface -lei -o /home/user215/Desktop/procket-master/c_src/../priv/procket-master.so make[1]: Leaving directory '/home/user215/Desktop/procket-master/c_src'

msantos commented 5 years ago

You can verify by running:

$ rebar3 shell
Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V10.4  (abort with ^G)
1> procket:module_info().

If you run into problems or you have any questions, feel free to re-open this issue or open a new one!