2013-07-06 109 views
2

我已經下載ejabberd,甚至做了:安裝ejabberd-的WebSockets模塊

sudo的港口安裝ejabberd

在此之後,我試圖安裝從ejabberd-的WebSocket模塊在這裏:https://github.com/superfeedr/ejabberd-websockets

然而,嘗試像我,我可能現在無法通過發行進行安裝:

運行./build.sh

這是我得到的錯誤:

Recompile: src/mod_websocket 
src/mod_websocket.erl:22: can't find include file "ejabberd.hrl" 
src/mod_websocket.erl:23: can't find include file "jlib.hrl" 
src/mod_websocket.erl:36: undefined macro 'DEBUG/2' 
src/mod_websocket.erl:16: function process/2 undefined 
src/mod_websocket.erl:14: Warning: behaviour gen_mod undefined 
src/mod_websocket.erl:95: Warning: function validate_origin/1 is unused 
src/mod_websocket.erl:171: Warning: function build_stream_end/0 is unused 

我甚至有二郎我的MacPorts通過安裝了它。但是,我無法安裝該模塊。 我使用的是Mac OSX Mountain Lion。

任何幫助將是偉大的。

回答

1

我可以幫助您解決一些問題。至少在我的情況下,ejabber安裝在與本項目不同的位置。如果你打開Emakefile,你會發現它試圖包含/ usr/lib/ejabber/include,但在我的情況下,我不得不刪除/ usr部分,因此它只是/ lib/ejabberd/include。你的情況可能不完全相同,但你只需要找到你的ejabber安裝,並確保這些目錄路徑匹配。

我Emakefile參考

{'src/mod_websocket',  [{outdir, "ebin"},{i,"/lib/ejabberd/include"},{i,"/lib/ejabberd/include/web","src"}]}. 
{'src/ejabberd_xmpp_websocket',  [{outdir, "ebin"},{i,"/lib/ejabberd/include"},{i,"/lib/ejabberd/include/web","src"}]}. 
{'src/ejabberd_websocket',  [{outdir, "ebin"},{i,"/lib/ejabberd/include"},{i,"/lib/ejabberd/include/web","src"}]}. 

我也不得不修改build.sh腳本,但我不認爲它解決了我的任何問題

#!/bin/sh 
erl -pa /lib/ejabberd /lib/ejabberd/include /lib/ejabberd/ebin -pz ebin -make