Closed jploski closed 7 years ago
The error message says that the function mod_logxml:start with two arguments is undefined. This surely means erlang couldn't find the file mod_logxml.beam
What's the practical problem, and how to solve it, depends on how you installed that contributed module.
I think he uses uses modules_update_specs
/module_install
. These commands work on CentOS, but not Debian. On both system I installed Ejabberd from the packaged .deb
/.rpm
.
My quick workaround is to copy the module .beam
file from .ejabberd-modules/<mod_name>/ebin/<mod_name>.beam
to lib/ejabberd-<version>/ebin
.
I installed ejabberd-17.07-linux-x86_64-installer.run in my debian machine, then run
$ ./ejabberdctl modules_update_specs
$ ./ejabberdctl module_install mod_logxml
The module was compiled, installed, started with its default config, and it started logging already.
Sorry for the late reply. This ticket did not concern the manual installation of the module. Rather, it concerns that the pre-installed version from the Docker image provided by https://hub.docker.com/r/rroemhild/ejabberd/ does not work. The .beam file was already contained in the image, so I assumed that the module was installed - yet it did not start (as reported).
Then you better contact the author of the corresponding package.
Using the exact configuration from mod_logxml module's README.txt and ejabberd Docker image rroemhild/ejabberd:17.01 or rroemhild/ejabberd:17.03, here's what I get:
I checked that mod_logxml.erl in the container matches commit 5359c2a0dd916dd7a4efcb3eb8089b30ed738acb I didn't manage to find a workaround for the above start error.