Question

Je suis un grand Erlang noob, et lors de la compilation ejabberd, je reçois cette erreur:

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

Quelle serait la cause?

Était-ce utile?

La solution

Ceci est un bug du compilateur interne R13a - il a été corrigé dans l'instantané R13b au 2009-04-15_18. R13b-0 sera publié le mercredi 22 Avril 2009, et mod_muc compilera bien avec cela.

Cependant, ejabberd est pas tout à fait compatible R13b encore - le serveur ram_file_io ne prend pas en charge la nouvelle option unicode dans le protocole du serveur IO, de sorte que vous ne serez pas en mesure de démarrer avec succès ejabberd avec R13b jusqu'à ce qui est fixé. Votre meilleur pari est maintenant pour R12B-5.

Autres conseils

interne Erlang bug du compilateur . S'il vous plaît mettre à jour votre Erlang. Probablement Erlang R12B-5 est le meilleur choix.

Recherche rapide montre cet e-mail du Erlang / l'équipe du Bureau du Procureur. Il est dit que le bogue existait avant R12B-0, il est donc probablement fixé dans les nouvelles versions.

Erlang R12B-5 est disponible ici:

  • Ubuntu - utiliser des packages Jaunty
  • Debian - paquets d'utilisation de Sid
  • Windows - paquets d'utilisation de http://erlang.org/download.html
  • autre - comprendre votre propre:)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top