retitle 670307 Implicit dependency on xmerl_regexp, breaks s2s
thanks

On Tue, Apr 24, 2012 at 09:26:53PM +0200, Dominik George wrote:

[...]
> ** Reason for termination = 
> ** {undef,[{regexp,sh_to_awk,["shore"],[]},
>            {ejabberd_s2s_in,match_labels,2,
>                             [{file,"ejabberd_s2s_in.erl"},{line,834}]},
[...]

That.
The fix to [1] introduced a wrapper module ("ejabberd_regexp.erl")
in ejabberd which tries to implement "old" regexp functions once contained
in the now-obsolete "regexp" Erlang module in terms of new regexp API.
For each such function that wrapper module goes like this:
1) Tries to call an appropriate function from the new regexp API (the "re"
   module);
2) If that fails, it tries to call that function from the old API.

Unfortunately, while all the function but one in that wrapper module try to
use the "re" Erlang module, exactly one function ("sh_to_awk") first
tries to use the same-named function from *another* Erlang module named
"xmerl_regexp" which is contained in the package erlang-xmerl (rather
than "erlang-base" which contains the "re" module).

The problem here is that ejabberd does not depend on erlang-xmerl.
This happens because the Debian tool which is used to produce the set of
packages on which a particular Erlang program has to depend on, fails to
cope with this particular case because calls to these regexp functions
are bound dynamically, at runtime.

Hence the temporary workaround is to install the erlang-xmerl package by
hand.

Thanks for reporting!

1. https://support.process-one.net/browse/EJAB-921




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to