Собрал ejabberd 2.0 под win32.
При запуске выдаёт такую ошибку:
application: ejabberd
exited: "invalid return value from ejabberd_app:start(normal,[]) ->
{
'EXIT',
{
undef,
[
{
ram_file_io_server, start,
[<0.48.0>, \"error_logger.erl\", [read,write]]
},
{ejabberd_loglevel,compile_string,2},
{ejabberd_loglevel,set,1},
{ejabberd_app,start,2},
{application_master,start_it_old,4}
]
}
}"
Гугл в ответ только разводит руками.
Подозреваю, что
а) в неподходящий момент чекаутил код из svn
б) криво собрал (т.е. я точно знаю, что криво собрал, но я думал, что раз уж но таки собрался, значит будет хоть как-то работать)
Так что вопросов три:
1) Как исправить эту ошибку? В чём причина? Что делать?
2) Когда появятся первые сборки ejabberd 2.0 beta? Или хотя бы alpha?
3) Если нескоро, то может быть у кого-нибудь завалялась где-нибудь готовая работающая сборка?
пересобрал
Пересобрал под mingw/msys (правда, без openssl - что-то там ему не нравилось в libssl.a). Теперь ошибка такая:
=CRASH REPORT==== 20-Oct-2007::14:15:29 ===
crasher:
pid: <0.116.0>
registered_name: stringprep
error_info: {{case_clause,{error,{open_error,-136}}},
[{stringprep,init,1},
{gen_server,init_it,6},
{proc_lib,init_p,5}]}
initial_call: {gen,init_it,
[gen_server,
<0.115.0>,
<0.115.0>,
{local,stringprep},
stringprep,
[],
[]]}
ancestors: [stringprep_sup,<0.38.0>]
messages: []
links: [<0.115.0>]
dictionary: []
trap_exit: false
status: running
heap_size: 377
stack_size: 21
reductions: 111
neighbours:
(ejabberd@localhost)1>
=SUPERVISOR REPORT==== 20-Oct-2007::14:15:29 ===
Supervisor: {local,stringprep_sup}
Context: start_error
Reason: {{case_clause,{error,{open_error,-136}}},
[{stringprep,init,1},
{gen_server,init_it,6},
{proc_lib,init_p,5}]}
Offender: [{pid,undefined},
{name,stringprep},
{mfa,{stringprep,start_link,[]}},
{restart_type,permanent},
{shutdown,brutal_kill},
{child_type,worker}]
(ejabberd@localhost)1>
=CRASH REPORT==== 20-Oct-2007::14:15:30 ===
crasher:
pid: <0.37.0>
registered_name: []
error_info: {bad_return,
{{ejabberd_app,start,[normal,[]]},
{'EXIT',
{badarg,
[{erlang,
port_control,
[stringprep_port,2,"localhost"]},
{stringprep,control,2},
{jlib,nodeprep,1},
{ejabberd_config,normalize_hosts,2},
{ejabberd_config,add_hosts_to_option,2},
{lists,foldl,3},
{ejabberd_config,load_file,1},
{ejabberd_app,start,2}]}}}}
initial_call: {application_master,
init,
[<0.5.0>,
<0.36.0>,
{appl_data,
ejabberd,
[ejabberd,
ejabberd_sup,
ejabberd_auth,
ejabberd_router,
ejabberd_sm,
ejabberd_s2s,
ejabberd_local,
ejabberd_listeners,
ejabberd_iq_sup,
ejabberd_service_sup,
ejabberd_s2s_out_sup,
ejabberd_s2s_in_sup,
ejabberd_c2s_sup,
ejabberd_mod_roster,
ejabberd_mod_echo,
ejabberd_mod_pubsub,
ejabberd_mod_irc,
ejabberd_mod_muc,
ejabberd_offline,
random_generator],
undefined,
{ejabberd_app,[]},
[acl,
configure,
cyrsasl,
cyrsasl_digest,
cyrsasl_plain,
ejabberd,
ejabberd_app,
ejabberd_auth,
ejabberd_c2s,
ejabberd_config,
ejabberd_listener,
ejabberd_logger_h,
ejabberd_local,
ejabberd_router,
ejabberd_s2s,
ejabberd_s2s_in,
ejabberd_s2s_out,
ejabberd_service,
ejabberd_sm,
ejabberd_sup,
ejabberd_tmp_sup,
gen_iq_handler,
gen_mod,
jd2ejd,
jlib,
mod_configure,
mod_disco,
mod_echo,
mod_last,
mod_offline,
mod_private,
mod_register,
mod_roster,
mod_stats,
mod_time,
mod_vcard,
mod_version,
randoms,
sha,
shaper,
translate,
xml,
xml_stream],
[],
infinity,
infinity},
normal]}
ancestors: [<0.36.0>]
messages: [{'EXIT',<0.38.0>,normal}]
links: [<0.36.0>,<0.5.0>]
dictionary: []
trap_exit: true
status: running
heap_size: 987
stack_size: 21
reductions: 2041
neighbours:
(ejabberd@localhost)1>
=INFO REPORT==== 20-Oct-2007::14:15:30 ===
application: ejabberd
exited: {bad_return,
{{ejabberd_app,start,[normal,[]]},
{'EXIT',
{badarg,
[{erlang,
port_control,
[stringprep_port,2,"localhost"]},
{stringprep,control,2},
{jlib,nodeprep,1},
{ejabberd_config,normalize_hosts,2},
{ejabberd_config,add_hosts_to_option,2},
{lists,foldl,3},
{ejabberd_config,load_file,1},
{ejabberd_app,start,2}]}}}}
type: temporary
(ejabberd@localhost)1>
Пробовал Erlang 5.5.5 и 5.5.4 (лог - от 5.5.4).
Под Erlang 5.3.6.3 не собирается:
c:/EJABBE~1/src/p1_fsm.erl:362: syntax error before: 'try'
c:/EJABBE~1/src/p1_fsm.erl:277: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:338: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:341: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:409: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:460: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:463: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:466: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:470: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:492: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:497: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:501: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:505: function loop/8 undefined
c:/EJABBE~1/src/p1_fsm.erl:684: Warning: function dispatch/4 is unused
c:/EJABBE~1/src/p1_fsm.erl:684: Warning: function from/1 is unused
c:/EJABBE~1/src/p1_fsm.erl:684: Warning: function handle_msg/8 is unused
c:/EJABBE~1/src/p1_fsm.erl:684: Warning: function handle_msg/9 is unused
c:/EJABBE~1/src/p1_fsm.erl:684: Warning: function message_queue_len/1 is unused
c:/EJABBE~1/src/p1_fsm.erl:684: Warning: function process_message/8 is unused
c:/EJABBE~1/src/p1_fsm.erl:684: Warning: function reply/5 is unused
make: *** [p1_fsm.beam] Error 1
От
От нечегоделать собрал ejabberd 1.1.4
Ошибка та же:
{{case_clause,{error,{open_error,-136}}},
[{stringprep,init,1},
{gen_server,init_it,6},
{proc_lib,init_p,5}]}
со всеми вытекающими.
Видимо всё-таки что-то не так было в процессе сборки.
Спасибо всем, вы очень помогли. Хорошо умеете успокаивать :)