0
votes

I understand that in order to develop ejabberd module I must be able to compile it from the source.

I have FreeBSD 11.0-RELEASE-p9, as a guest OS on a VirtualBox. So the followings are my attempts.

Using git, I clone the source to /usr/local/ejabberd as:

I run the following commands:

git clone git://github.com/processone/ejabberd.git ejabberd cd ejabberd ./autogen.sh

./configure --enable-user=ejabberd --enable-mysql

gmake install

But I have the following error:

Compiling /usr/local/ejabberd/deps/fast_yaml/c_src/fast_yaml.c /usr/local/ejabberd/deps/fast_yaml/c_src/fast_yaml.c:18:10: fatal error: 'yaml.h' file not found

ERROR: compile failed while processing /usr/local/ejabberd/deps/fast_yaml/:rebar_abort

Fyi, I have installed libyaml-0.1.7 using ports - I guess successully?

Any tips/advise.

Thank you.

1

1 Answers

0
votes

You can take a look at what FreeBSD port does: it passes -I/usr/local/include into CFLAGS when running make. There are also a bunch of patches for ejabberd, that are applied before compilation.

If you want to compile development version from source, you can try first running make -C /usr/ports/net-im/ejabberd extract and then putting sources from git into /usr/ports/net-im/ejabberd/work directory. Then running make -C /usr/ports/net-im/ejabberd install should install development package.