简体   繁体   English

ejabberd编译错误

[英]ejabberd compile error

I'm a huge erlang noob, and while compiling ejabberd, I get this error: 我是一个很大的erlang新手,在编译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

What would cause this? 是什么原因造成的?

This is an internal compiler bug in R13A - it has been fixed in the R13B snapshot as of 2009-04-15_18. 这是R13A中的内部编译器错误-自2009-04-15_18起已在R13B快照中修复。 R13B-0 will be released on Wednesday 22nd April 2009, and mod_muc will compile fine with that. R13B-0将于2009年4月22日星期三发布,并且mod_muc可以对此进行很好的编译。

However, ejabberd isn't quite R13B compatible yet - the ram_file_io server doesn't support the new unicode option in the IO server protocol, so you won't be able to successfully start ejabberd with R13B until that is fixed. 但是,ejabberd尚不完全与R13B兼容-ram_file_io服务器不支持IO服务器协议中的新unicode选项,因此,在修复该问题之前,您将无法使用R13B成功启动ejabberd。 Your best bet for now is R12B-5. 目前最好的选择是R12B-5。

This is internal Erlang compiler bug . 这是内部 Erlang 编译器错误 Please upgrade your Erlang runtime. 请升级您的Erlang运行时。 Probably Erlang R12B-5 is the best choice. 也许Erlang R12B-5是最佳选择。

Quick search shows this email from the Erlang/OTP team. 快速搜索显示来自Erlang / OTP团队的电子邮件 It is states that the bug existed before R12B-0, so it is probably fixed in newer releases. 指出该错误在R12B-0之前存在,因此可能已在较新的版本中修复。

Erlang R12B-5 is available here: Erlang R12B-5在这里可用:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM