1

私は巨大な 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

これは何が原因でしょうか?

4

2 に答える 2

5

これは R13A の内部コンパイラ バグです。2009-04-15_18 の R13B スナップショットで修正されています。R13B-0 は 2009 年 4 月 22 日水曜日にリリースされ、mod_muc はそれで正常にコンパイルされます。

ただし、ejabberd はまだ R13B と互換性がありません。ram_file_io サーバーは IO サーバー プロトコルの新しい unicode オプションをサポートしていないため、修正されるまで R13B で ejabberd を正常に起動することはできません。現時点での最善の策は R12B-5 です。

于 2009-04-20T18:55:22.033 に答える