2013-12-14 54 views
2

我在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,{」no such file or directory「,」p1_mysql.app「}}」 。ejabberd-13.10服務器在ubuntu中沒有啓動?

如何解決?

+0

請將您的錯誤信息格式化爲可讀性,方法與看到ti相同。 –

+1

只是一般性評論@BABUK:如果你回答自己的問題,發佈答案而不是編輯問題會好得多。對於可能有相同問題的人來說,更清楚的是如何解決問題,並且獲得更多積分!接受你自己的答案是完全合理的...... – sanmiguel

回答

1

1.首先添加p1_mysql的網址列表:flatmap()rebar.config.script文件的功能,

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.After添加網址列表:flatmap功能,添加一個命名爲p1_mysql文件夾deps文件夾中的ejabberd-13.10並放置從github.com/processone/mysql鏈接下載的文件。並在編譯ejabberd之後在p1_mysql文件夾中創建梁文件的ebin目錄。

3.然後通過發佈./rebar get-deps來運行ejabberd-13.10,然後編譯(make),並通過make install來安裝beam文件。

4.現在啓動ejabberd服務器。

2

p1_pgsql不是您的版本的一部分。運行

./configure --enable-odbc --enable-pgsql 
make 
make install 

這將確保p1_pgsql添加到螺紋鋼/ reltool

2

BABU K,你提出的解決方案是無用的我,因爲make命令有以下限制。 「在/ usr/local/lib目錄/二郎/斌/ escript螺紋鋼skip_deps =真編譯」

除了:感謝@BABU K,他的解決方案,我起初我以前不順利,然後我檢查rebar.config。腳本和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的方式仍然失敗,你可以檢查我的建議。

+0

請不要用答案來發布你的問題或問題 - 只有解決方案會產生問題。在這種情況下,您應該改爲發表評論。 – Tom

+0

對不起,我是新來的評論規則。下次我會注意。 –