ошибка компиляции ejabberd

Я огромный нуб 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

Что могло бы вызвать это?


person Terry    schedule 20.04.2009    source источник


Ответы (2)


Это внутренняя ошибка компилятора в R13A - она ​​была исправлена ​​в снимке состояния R13B от 18.04.2009. R13B-0 будет выпущен в среду, 22 апреля 2009 года, и mod_muc прекрасно с этим справится.

Однако ejabberd еще не совсем совместим с R13B - сервер ram_file_io не поддерживает новую опцию unicode в протоколе сервера ввода-вывода, поэтому вы не сможете успешно запустить ejabberd с R13B, пока это не будет исправлено. Лучшая ставка на данный момент - R12B-5.

person archaelus    schedule 20.04.2009

Это внутренняя ошибка компилятора Erlang . Пожалуйста, обновите вашу среду выполнения Erlang. Вероятно, Erlang R12B-5 - лучший выбор.

Быстрый поиск показывает это письмо от команды Erlang / OTP. Утверждается, что ошибка существовала до R12B-0, поэтому она, вероятно, будет исправлена ​​в более новых выпусках.

Erlang R12B-5 доступен здесь:

  • Ubuntu - используйте пакеты Jaunty
  • Debian - используйте пакеты от Sid
  • Windows - используйте пакеты из http://erlang.org/download.html
  • другое - разберитесь самостоятельно :)
person gleber    schedule 20.04.2009