ejabberd Kompilierungsfehler
Frage
Ich bin ein großer erlang noob, und während ejabberd kompilieren, bekomme ich diesen Fehler:
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
Was würde dazu führen, das?
Lösung
Dies ist ein interner Compiler Fehler in R13A - es ab 2009-04-15_18 im R13b Snapshot behoben wurde. R13b-0 wird am Mittwoch, 22. April 2009 veröffentlicht werden, und mod_muc wird mit dem feinen kompilieren.
Allerdings ist ejabberd nicht ganz R13b noch kompatibel - der ram_file_io Server unterstützt nicht die neue Unicode-Option im Server-Protokoll IO, so dass Sie nicht in der Lage sein werden, erfolgreich ejabberd mit R13b zu starten, bis das festgelegt ist. Ihre beste Wette für jetzt ist R12B-5.
Andere Tipps
Dies ist intern Erlang Compiler Bug . Bitte aktualisieren Sie Ihren Erlang Laufzeit. Wahrscheinlich Erlang R12B-5 ist die beste Wahl.
Schnellsuche zeigt diese E-Mail von der Erlang / OTP-Team. Es wird erklärt, dass der Fehler existierte, bevor R12B-0, so ist es wahrscheinlich in neueren Versionen behoben.
Erlang R12B-5 finden Sie hier:
- Ubuntu - verwenden Jaunty Pakete
- Debian - Verwendung Pakete von Sid
- Fenster - Verwendung von Paketen von http://erlang.org/download.html
- andere - herauszufinden, auf eigene Faust:)