【问题标题】:Uncaught error in rebar_core while compiling MongooseIM from source code从源代码编译 MongooseIM 时 rebar_core 中未捕获的错误
【发布时间】:2019-01-17 15:11:45
【问题描述】:

我想从源代码编译 MongooseIM,但在 Ubuntu 上编译代码时出错:

Ubuntu 版本:Ubuntu 18.04.1 LTS 64 位(最新) Erlang 版本:21(最新)

使用以下命令编译后

  1. $ git clone https://github.com/esl/MongooseIM
  2. $ sudo ./rebar3 编译

以下是 rebar3.crashdump 的内容:

Error: {badmatch,{error,enoent}}
[{rebar_erlc_compiler,modify_erlcinfo,5,
                      [{file,"/home/tristan/Devel/rebar3/_build/prod/lib/rebar/src/rebar_erlc_compiler.erl"},
                       {line,477}]},
 {rebar_erlc_compiler,'-update_erlcinfo_fun/2-fun-0-',4,
                      [{file,"/home/tristan/Devel/rebar3/_build/prod/lib/rebar/src/rebar_erlc_compiler.erl"},
                       {line,463}]},
 {lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
 {rebar_erlc_compiler,update_erlcinfo,3,
                      [{file,"/home/tristan/Devel/rebar3/_build/prod/lib/rebar/src/rebar_erlc_compiler.erl"},
                       {line,448}]},
 {rebar_erlc_compiler,'-update_erlcinfo_fun/2-fun-0-',4,
                      [{file,"/home/tristan/Devel/rebar3/_build/prod/lib/rebar/src/rebar_erlc_compiler.erl"},
                       {line,463}]},
 {lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
 {rebar_erlc_compiler,init_erlcinfo,4,
                      [{file,"/home/tristan/Devel/rebar3/_build/prod/lib/rebar/src/rebar_erlc_compiler.erl"},
                       {line,411}]},
 {rebar_erlc_compiler,compile_dirs,5,
                      [{file,"/home/tristan/Devel/rebar3/_build/prod/lib/rebar/src/rebar_erlc_compiler.erl"},
                       {line,195}]}]

问题:

  1. 为什么它在 'home/tristan/Devel/rebar3' 路径中执行某些操作?因为我只有 1 条与之相似的路径,即 'home/ricky/...'
  2. 我什至从
  3. 安装了钢筋

$ sudo apt-get install rebar

$钢筋-V

rebar 2.6.4 19 20161102_054252 没有可用的 VCS 信息。

但同样的错误 3. 删除最新版本后,我尝试使用较低版本的 erlang,即 20,但仍然没有帮助。

请提出建议

【问题讨论】:

  • 你不需要用apt安装rebar;您正在使用捆绑的 rebar3 并通过 apt 安装 rebar2 与它无关。我的系统中有三个 erlang 版本,并且 20 和 19 都编译成功。在降级到 erlang 20 之前,您是否清理过构建 (./rebar3 clean)?

标签: erlang erl mongoose-im


【解决方案1】:
$ ./rebar3 clean

工作就像一个魅力。 Thanks to Reith in this comment.

【讨论】:

    猜你喜欢
    • 2014-10-09
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多