Erlang(rebar?):修复“可能包含两个不同的应用程序”错误

时间:2014-03-25 10:58:05

标签: erlang rebar

所以我需要从git snapshot构建riak(注意:最近还有一个官方快照共享相同的问题)。

在构建期间,会发生以下情况:

Generating dev1 - node='dev1@127.0.0.1' yzsolrjmx=10013 yzsolr=10014 pbc=10017 http=10018 handoff=10019
(cd rel && ../rebar generate target_dir=../dev/dev1 overlay_vars=vars/dev1_vars.config)
==> rel (generate)
ERROR: generate failed while processing /tmp/riak/rel: {'EXIT',{{badmatch,{error,"Module mochijson2 potentially included by two different applications: mochiweb and rabbit."}},

它看起来像是一个经典的“从哪里继承”的问题,我不认为将这两个模块完全排除在分配之外会有所帮助(尽管如果它确实如此 - 如果它继续使用,我将会删除兔子支持RMQ)。


然而,更奇怪的是:兔子grep显示没有源树点,它可以被删除。 WTF?

2 个答案:

答案 0 :(得分:1)

当reltool发现两个应用程序共享同一个模块时,这是一个常见问题。

你在/ tmp / rabbit附近有兔子吗?或者它可能安装在ERL_LIBS?

答案 1 :(得分:0)

只需在reltool.config文件中添加以下行。

{app, mochiweb, [{incl_cond, exclude}]},