从源代码编译 MongooseIM 时 rebar_core 中未捕获的错误
Posted
技术标签:
【中文标题】从源代码编译 MongooseIM 时 rebar_core 中未捕获的错误【英文标题】:Uncaught error in rebar_core while compiling MongooseIM from source code 【发布时间】:2019-01-17 15:11:45 【问题描述】:我想从源代码编译 MongooseIM,但在 Ubuntu 上编译代码时出错:
Ubuntu 版本:Ubuntu 18.04.1 LTS 64 位(最新) Erlang 版本:21(最新)
使用以下命令编译后
$ git clone https://github.com/esl/MongooseIM $ 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]]
问题:
-
为什么它在 'home/tristan/Devel/rebar3' 路径中执行某些操作?因为我只有 1 条与之相似的路径,即 'home/ricky/...'
我什至从 安装了钢筋
$ 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
)?
【参考方案1】:
$ ./rebar3 clean
工作就像一个魅力。 Thanks to Reith in this comment.
【讨论】:
以上是关于从源代码编译 MongooseIM 时 rebar_core 中未捕获的错误的主要内容,如果未能解决你的问题,请参考以下文章