ejabberd-13.10服务器是不是在ubuntu中启动的?

时间:2013-12-14 08:20:11

标签: erlang ejabberd

我在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“}}”。

如何解决?

3 个答案:

答案 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服务器。