redsolution / xabber-websocket

Standalone WebSocket connection manager needed to connect Xabber for Web to multiple different XMPP servers
https://www.xabber.com
GNU Affero General Public License v3.0
11 stars 7 forks source link

erlang error with `make run` on Centos 7.4 + make v3+v4 #2

Closed tbondois closed 6 years ago

tbondois commented 6 years ago

Hello amazing coders,

I have the following error after having cloned the repo, executing make run on CentOS (the very last version from february) :

Commands executed :

yum -y install git erlang make
ct /opt
git clone https://github.com/redsolution/xabber-websocket.git
cd xabber-websocket
make run

The error :

Getting Xabber Web client .... done.                                                                                                                                                           
Copying Xabber Web files to 'priv' directory  ........ done.                                                                                                                                   
make[1]: Entering directory '/opt/xabber-websocket/deps/cowlib'                                                                                                                                
 ERLC   cow_cookie.erl cow_date.erl cow_hpack.erl cow_http.erl cow_http2.erl cow_http_hd.erl cow_http_te.erl cow_mimetypes.erl cow_multipart.erl cow_qs.erl cow_spdy.erl cow_uri.erl cow_ws.erl
src/cow_hpack.erl:62: syntax error before: '{'                                                                                                                                                 
src/cow_hpack.erl:66: syntax error before: '{'                                                                                                                                                 
src/cow_hpack.erl:553: syntax error before: '{'                                                                                                                                                
src/cow_hpack.erl:557: syntax error before: '{'                                                                                                                                                
src/cow_hpack.erl:24: function decode/1 undefined                                                                                                                                              
src/cow_hpack.erl:25: function decode/2 undefined                                                                                                                                              
src/cow_hpack.erl:28: function encode/1 undefined                                                                                                                                              
src/cow_hpack.erl:29: function encode/2 undefined                                                                                                                                              
src/cow_hpack.erl:41: type map() undefined                                                                                                                                                     
src/cow_hpack.erl:60: spec for undefined function cow_hpack:decode/1                                                                                                                           
src/cow_hpack.erl:64: spec for undefined function cow_hpack:decode/2                                                                                                                           
src/cow_hpack.erl:551: spec for undefined function cow_hpack:encode/1                                                                                                                          
src/cow_hpack.erl:555: spec for undefined function cow_hpack:encode/2                                                                                                                          
make[2]: *** [../../erlang.mk:5054: ebin/cowlib.app] Error 1                                                                                                                                   
make[1]: *** [../../erlang.mk:4857: app] Error 2                                                                                                                                               
make[1]: Leaving directory '/opt/xabber-websocket/deps/cowlib'                                                                                                                                 
make: *** [erlang.mk:4182: deps] Error 2                                                                                                                                                       

Here's what I did :

At the begginning, i was thinking because of make v3 (a message was saying it was deprecated, and to install v4). Given that only Make v3 is on the Centos repositories, i installed make v4 manually :

wget https://rpmfind.net/linux/fedora/linux/releases/27/Everything/x86_64/os/Packages/m/make-4.2.1-4.fc27.x86_64.rpm
yum -y install libgc guile
yum -y remove make
rpm -ivh make-4.2.1-4.fc27.x86_64.rpm
make --version

Version is 4.2.1. When i tried back to make the make run, I had the same error.

I'm not familiar at all with Erlang, but seems to be a syntax error in /xabber-websocket/deps/cowlib/src/cow_hpack.erl. Is it a real syntax error, or is it because I don't have a good version of Erlang interpreter ?

oxoWrk commented 6 years ago

update your Erlang version