PowerMeMobile / smppload

SMPP Command Line Client
15 stars 4 forks source link

Error while compiling with erlang 22.3.2 #6

Closed robertmircea closed 4 years ago

robertmircea commented 4 years ago

I am trying to compile smppload on my mac using brew installed erlang. I am receiving the following error:

robert in ~/Sandbox/smppload on  master
❯ make
==> Entering directory `/Users/robert/Sandbox/smppload/rel'
==> rel (get-deps)
==> Leaving directory `/Users/robert/Sandbox/smppload/rel'
==> smppload (get-deps)
Pulling alley_common from {git,"https://github.com/PowerMeMobile/alley_common.git",
                               {tag,"1.4.0"}}
Cloning into 'alley_common'...
Pulling getopt from {git,"git://github.com/jcomellas/getopt.git",
                         {tag,"v0.8.2"}}
Cloning into 'getopt'...
Pulling gsm0338 from {git,"https://github.com/AntonSizov/gsm0338.git",
                          {branch,"pure-erlang"}}
Cloning into 'gsm0338'...
Pulling oserl from {git,"git://github.com/PowerMeMobile/oserl.git",
                        {branch,"trx_deadlock_fix_1"}}
Cloning into 'oserl'...
Pulling common_lib from {git,"git://github.com/PowerMeMobile/common_lib.git",
                             {tag,"v3.3.4"}}
Cloning into 'common_lib'...
==> Entering directory `/Users/robert/Sandbox/smppload/deps/alley_common'
==> alley_common (get-deps)
Pulling lager from {git,"git://github.com/basho/lager.git",{tag,"1.2.1"}}
Cloning into 'lager'...
==> Entering directory `/Users/robert/Sandbox/smppload/deps/lager'
==> lager (get-deps)
==> Leaving directory `/Users/robert/Sandbox/smppload/deps/lager'
==> Leaving directory `/Users/robert/Sandbox/smppload/deps/alley_common'
==> Entering directory `/Users/robert/Sandbox/smppload/deps/getopt'
==> getopt (get-deps)
==> Leaving directory `/Users/robert/Sandbox/smppload/deps/getopt'
==> Entering directory `/Users/robert/Sandbox/smppload/deps/gsm0338'
==> gsm0338 (get-deps)
==> Leaving directory `/Users/robert/Sandbox/smppload/deps/gsm0338'
==> Entering directory `/Users/robert/Sandbox/smppload/deps/oserl'
==> Entering directory `/Users/robert/Sandbox/smppload/deps/common_lib'
==> common_lib (get-deps)
==> Leaving directory `/Users/robert/Sandbox/smppload/deps/common_lib'
==> oserl (get-deps)
==> Leaving directory `/Users/robert/Sandbox/smppload/deps/oserl'
==> Entering directory `/Users/robert/Sandbox/smppload/deps/alley_common'
==> Entering directory `/Users/robert/Sandbox/smppload/deps/lager'
==> lager (compile)
Compiled src/lager_util.erl
Compiled src/lager_transform.erl
Compiled src/lager_app.erl
Compiled src/lager_sup.erl
Compiled src/lager.erl
Compiled src/lager_stdlib.erl
Compiled src/error_logger_lager_h.erl
Compiled src/lager_handler_watcher_sup.erl
Compiled src/lager_mochiglobal.erl
Compiled src/lager_handler_watcher.erl
Compiled src/lager_format.erl
Compiled src/lager_file_backend.erl
Compiled src/lager_console_backend.erl
Compiled src/lager_trunc_io.erl
Compiled src/lager_crash_log.erl
==> Leaving directory `/Users/robert/Sandbox/smppload/deps/lager'
==> alley_common (compile)
Compiled src/alley_common_sup.erl
Compiled src/ac_utils.erl
src/ac_dict.erl:16: type dict() undefined
make: *** [compile] Error 1

Info about erlang installed:

❯ brew info erlang
erlang: stable 22.3.2 (bottled), HEAD
Programming language for highly scalable real-time systems
https://www.erlang.org/
/usr/local/Cellar/erlang/22.3.2 (5,789 files, 281.9MB) *
  Poured from bottle on 2020-04-17 at 14:31:02
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/erlang.rb
==> Dependencies
Build: autoconf ✘, automake ✘, libtool ✔
Required: openssl@1.1 ✔, wxmac ✔

Any idea how to fix this? I am not proficient with erlang at all.

ten0s commented 4 years ago

The project was build on Erlang 16. Not sure it will compile/run on Erlang 22.

I've made a couple of changes to make it compile on Erlang 19 in https://github.com/ten0s/smppload/tree/rebar3-otp19.

$ git clone --branch rebar3-otp19 git@github.com:ten0s/smppload.git 
$ cd smppload
$ make
$ _build/default/bin/smppload 
Usage: _build/default/bin/smppload [-h] [-H [<host>]] [-P [<port>]]
...

My guess it should compile on Erlang 21 too.

robertmircea commented 4 years ago

Thanks... I've managed to compile and run it with the latest version of Erlange.. Appreciated!

robertmircea commented 4 years ago

@ten0s Any chance to make smppsink work as well?

ten0s commented 4 years ago

@robertmircea https://github.com/ten0s/smppsink/tree/rebar3-otp19 compiles/runs on Erlang 19

robertmircea commented 4 years ago

Beautiful! It compiles also with latest Erlang! Thank you very much @ten0s