我在ubuntu 13.04中安装了ejabberd-13.10。但是当我通过发出ejabberdctl start命令从终端启动ejabberd服务器时,它会抛出以下错误。 root @ localhost:/home/livin/Desktop/ejabberd13.10/#ejabberdctl start。
我得到的错误(在ejabberd日志文件中)是“ejabberd:exit_or_halt:124无法启动应用程序'p1_mysql':{error,{”没有这样的文件或目录“,”p1_mysql.app“}}”。
如何解决?
答案 0 :(得分:2)
p1_pgsql不是您发布的一部分。运行
./configure --enable-odbc --enable-pgsql
make
make install
这将确保将p1_pgsql添加到rebar / reltool
答案 1 :(得分:2)
BABU K,你建议的解决方案对我来说没用,因为make命令有以下限制。 " / usr / local / lib / erlang / bin / escript rebar skip_deps = true compile"
此外:感谢@BABU K,他的解决方案一开始我没有取得成功,然后检查了rebar.config.script和55行
Deps = [{p1_mysql,".*",{git,"git://github.com/processone/mysql"}},
{p1_cache_tab, ".*", {git, "git://github.com/processone/cache_tab"}},
{p1_tls, ".*", {git, "git://github.com/processone/tls"}},
{p1_stringprep, ".*", {git, "git://github.com/processone/stringprep"}},
{p1_xml, ".*", {git, "git://github.com/processone/xml"}},
{p1_yaml, ".*", {git, "git://github.com/processone/p1_yaml"}},
{xmlrpc, ".*", {git, "git://github.com/rds13/xmlrpc"}}],
错过第一行p1_mysql,在我添加之后,编译成功。
如果你们中的某些人使用了BABUK的方式仍然失败,你可以查看我的建议。
答案 2 :(得分:1)
1.首先将p1_mysql的url添加到list:rebar.config.script文件的flatmap()函数,
CfgDeps = lists:flatmap(
fun({mysql, true}) ->
[{p1_mysql, ".*", {git, "git://github.com/processone/mysql"}}];
({pgsql, true}) ->
[{p1_pgsql, ".*", {git, "git://github.com/processone/pgsql"}}];
({pam, true}) ->`enter code here`
[{p1_pam, ".*", {git, "git://github.com/processone/epam"}}];
({zlib, true}) ->
[{p1_zlib, ".*", {git, "git://github.com/processone/zlib"}}];
({stun, true}) ->
[{p1_stun, ".*", {git, "git://github.com/processone/stun"}}];
({json, true}) ->
[{jiffy, ".*", {git, "git://github.com/davisp/jiffy"}}];
({iconv, true}) ->
[{p1_iconv, ".*", {git, "git://github.com/processone/eiconv"}}];
({http, true}) ->
[{ibrowse, ".*", {git, "git://github.com/cmullaparthi/ibrowse"}},
{lhttpc, ".*", {git, "git://github.com/esl/lhttpc"}}];
({lager, true}) ->
[{lager, ".*", {git, "git://github.com/basho/lager"}}];
({lager, false}) ->
[{p1_logger, ".*", {git, "git://github.com/processone/p1_logger"}}];
(_) ->
[]`enter code here`
end, Cfg)
2.将URL添加到列表:flatmap功能后,在ejabberd-13.10的deps文件夹中添加名为p1_mysql的文件夹,并放置从github.com/processone/mysql链接下载的文件。并在p1_mysql文件夹中创建ebin目录,编译ejabberd后将生成beam文件。
3.然后通过发出./rebar get-deps,编译(make),然后通过make install安装beam文件来运行ejabberd-13.10。
4.现在启动ejabberd服务器。