我是一个巨大的erlang 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
什么会导致这个?
这是R13A中的内部编译器错误 - 自2009-04-15_18起已在R13B快照中修复.R13B-0将于2009年4月22日星期三发布,mod_muc将会正常编译.
但是,ejabberd尚未完全兼容R13B - ram_file_io服务器不支持IO服务器协议中的新unicode选项,因此在修复之前,您将无法使用R13B成功启动ejabberd.你现在最好的选择是R12B-5.