[ejabberd] mod_admin_extra compile option - where to put code, includes

Daniel Dormont dan at greywallsoftware.com
Thu Mar 31 01:58:56 MSD 2011

Well, I did find another option, which is not desirable but does work. I'll mention it here in case anyone finds it useful. Specifically I run a shell command roughly like:

$ bin/erlc -I includes/ejabberd/include/ ~/src/ejabberd-modules/mod_muc_admin/trunk/src/mod_muc_admin.erl && cp mod_muc_admin.beam lib/ejabberd-2.1.6/ebin/ 

and then, in a separate terminal running ejabberdctl debug, I do

> l(mod_muc_admin).

and this works fine. But if I could replace the latter with a simple ejabberdctl command, that would be swell.


On Mar 29, 2011, at 4:12 PM, Daniel Dormont wrote:

> Hi,
> I have installed mod_admin_extra and would like to recompile some modules into ejabberd. Can I just point the 'compile' command at my source wherever it happens to be or does it have to be in a special place? If so, where? I am running ejabberd 2.1.6 on MacOS and did not build it from source (though I also have a copy of the source). I tried doing this:
> $ export ERL_COMPILER_OPTIONS='[{i,"/Applications/ejabberd-2.1.6/includes/ejabberd/include"}]'
> $ bin/ejabberdctl compile ~/src/ejabberd-modules/mod_muc_admin/trunk/src/mod_muc_admin.erl 
> But then I get an error report saying it can't find the include files ejabberd.hrl and so forth. I also tried copying the headers into the same directory as my module source, but that has the same problem. Is there another way to use the 'compile' command?
> Alternately, if I compile the module on my own and copy the .beam to the appropriate /ebin location, is there an ejabberdctl command to reload it?
> thanks,
> Dan

More information about the ejabberd mailing list