代码之家  ›  专栏  ›  技术社区  ›  Terry

EJaberd编译错误

  •  1
  • Terry  · 技术社区  · 15 年前

    我是一个巨大的二郎noob,在编译ejabberd时,我得到了以下错误:

    make[1]: Entering directory `/usr/src/ejabberd-2.0.5/src/mod_muc'
    /usr/local/bin/erlc -W -I .. -pz .. -o .. mod_muc_room.erl
    Function: '-process_admin_items_set/4-fun-0-'/2
    ./mod_muc_room.erl:none: internal error in v3_codegen;
    crash reason: {{case_clause,
                       {'EXIT',
                           {function_clause,
                               [{v3_codegen,longest,
                                    [[{ker39},{ker38},{ker37},{ker36},{cor36}],
                                     []]},
                                {v3_codegen,longest,2},
                                {v3_codegen,sr_merge,2},
                                {v3_codegen,match_cg,5},
                                {v3_codegen,guard_match_cg,6},
                                {v3_codegen,guard_cg,5},
                                {v3_codegen,'-guard_cg_list/6-anonymous-0-',4},
                                {v3_codegen,flatmapfoldl,3}]}}},
                   [{compile,'-select_passes/2-anonymous-2-',2},
                    {compile,'-internal_comp/4-anonymous-1-',2},
                    {compile,fold_comp,3},
                    {compile,internal_comp,4},
                    {compile,internal,3}]}
    make[1]: *** [../mod_muc_room.beam] Error 1
    make[1]: Leaving directory `/usr/src/ejabberd-2.0.5/src/mod_muc'
    make: *** [all-recursive] Error 1
    

    什么会导致这种情况?

    2 回复  |  直到 14 年前
        1
  •  5
  •   archaelus    15 年前

    这是R13a中的一个内部编译器错误-已在2009-04-15_18的R13b快照中修复。R13b-0将于2009年4月22日星期三发布,而mod-muc将对此进行编译。

    但是,ejabberd还不完全兼容R13b—RAM_file_io server不支持IO服务器协议中的新Unicode选项,因此在修复之前,您将无法使用R13b成功启动ejabberd。你目前最好的选择是R12b-5。

        2
  •  2
  •   Andrew    15 年前

    这是 内部的 二郎 编译程序缺陷 . 请升级您的Erlang运行时。可能厄尔朗 R12B-5 是最好的选择。

    快速搜索显示 this email 来自Erlang/OTP团队。声明这个bug在R12b-0之前就存在了,所以它可能在较新的版本中被修复了。

    Erlang R12B-5可从以下网址获得: