Reputation: 3
deps
in ejabberd 24.06
by this:./rebar compile
==> cowlib (compile)
==> gun (compile)
==> jsx (compile)
==> p1_utils (compile)
==> cache_tab (compile)
==> eimp (compile)
==> ezlib (compile)
==> fast_tls (compile)
==> fast_xml (compile)
==> fast_yaml (compile)
WARN: /home/ipple/ejabberd-src/deps/unicode_util_compat/src/unicode_util_compat.app.src has version "0.7.0"; requested regex was \~\>0.7.0
Uncaught error in rebar_core: {'EXIT',
{function_clause,
\[{override_deps_versions2,
'-update_deps/1-fun-0-',
\[{unicode_util_compat,"\~\>0.7.0"}\],
\[{file,
"/home/ipple/ejabberd-src/plugins/override_deps_versions2.erl"},
{line,14}\]},
{lists,map,2,
\[{file,"lists.erl"},{line,1243}\]},
{override_deps_versions2,update_deps,1,
\[{file,
"/home/ipple/ejabberd-src/plugins/override_deps_versions2.erl"},
{line,14}\]},
{rebar_core,acc_modules,5,
\[{file,"src/rebar_core.erl"},{line,540}\]},
{rebar_core,process_dir1,7,
\[{file,"src/rebar_core.erl"},{line,247}\]},
{rebar_core,process_each,5,
\[{file,"src/rebar_core.erl"},{line,351}\]},
{rebar_core,process_dir1,7,
\[{file,"src/rebar_core.erl"},{line,253}\]},
{rebar_core,process_commands,2,
\[{file,"src/rebar_core.erl"},{line,93}\]}\]}}
make
command does not output the compiled file name ?make
/usr/bin/mix compile
Compiling 1 file (.erl)
Compiling 17 files (.ex)
and ejabberd 21
i have this output when compile, after make some changes in ejabberd_c2s.erl
make
/usr/lib/erlang/bin/escript rebar skip_deps=true compile
==> rel (pre_compile)
==> rel (compile)
==> ejabberd-src (pre_compile)
==> ejabberd-src (compile)
Compiled src/ejabberd_c2s.erl
Please help!
I'm seeking for the answers from ejabberd forum.
Upvotes: -1
Views: 24
Reputation: 4120
./rebar compile
That means you are using rebar2, an obsolete program. Better user Rebar3, or Elixir's Mix. When you run ./configure
in ejabberd it will try to use mix
, or rebar3
if possible; as both tools are far better than rebar
.
It seems you added some additional dependencies to ejabberd, or maybe you have added ejabberd as a dependency to another application, right? And, as few people do this, maybe there's some problem/bug in ejabberd that nobody else than you can investigate, because you didn't explain what non-documented and non-standard things are you doing to compile ejabberd...
If you deviate from the documented method to compile ejabberd from source code you should mention what changes you made, right?
- And another question why does make command does not output the compiled file name ?
It seems you have Erlang/OTP and Elixir installed. Since ejabberd 24.02 configure
will setup to compile ejabberd using mix
, which is a tool more updated and powerful than the old rebar
. And as you noticed, the mix tool does not show file per file, only the number of compiled files. That is normal, and expected:
$ ./configure
...
build tool to use (change using --with-rebar): /home/badlop/.asdf/shims/mix
...
$ make
/home/badlop/.asdf/shims/mix deps.get && :> _build/dev/lib/.got
Resolving Hex dependencies...
...
/home/badlop/.asdf/shims/mix compile && :> _build/dev/lib/.built
...
==> ejabberd
Compiling 287 files (.erl)
Compiling 17 files (.ex)
Generated ejabberd app
$ make relive
...
10:59:39.981 [info] ejabberd 24.7.2 is started in the node :ejabberd@localhost in 1.00s
iex(ejabberd@localhost)1>
Upvotes: 1