我已经从源代码安装了erlang / OTP 17.1。我从GitHub安装了ejabberd。两者都已成功安装。但是当我启动ejabberd服务器时,我在error.log中收到以下错误。
2016-01-08 16:13:57.700 [error] <0.100.0> unable to load p1_yaml NIF: {error,{bad_lib,"Library version (2.8) not compatible (with 2.6)."}}
2016-01-08 16:13:57.700 [error] <0.99.0> CRASH REPORT Process <0.99.0> with 0 neighbours exited with reason: {{bad_lib,"Library version (2.8) not compatible (with 2.6)."},{p1_yaml_app,start,[normal,[]]}} in application_master:init/4 line 133
2016-01-08 16:13:57.769 [critical] <0.38.0>@ejabberd:exit_or_halt:133 failed to start application 'p1_yaml': {error,
{{bad_lib,
"Library version (2.8) not compatible (with 2.6)."},
{p1_yaml_app,start,[normal,[]]}}}
答案 0 :(得分:1)
你可能有一个p1_yaml.so
文件是使用与你正在使用的版本不同的Erlang运行时版本构建的。
您应该使用正确的Erlang版本重建ejabberd(或只是p1_yaml
)。