2013-07-06 75 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