2

我已经下载了 ejabberd,甚至做了一个:

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

我什至有 erlang,因为我通过 macports 安装了它。但是,我无法安装该模块。我正在使用 Mac OSX Mountain Lion。

任何帮助都会很棒。

4

1 回答 1

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
于 2013-10-01T00:01:15.853 回答