I’m trying to get an ejabberd server running to use as a real time chat in an android application.
I have installed the server using a 32bit binary and configured it to a point that I can log in using the web interface. I have issues connecting to it with a client though. The error returned by the server is an {open_error,-10}, which is supposed to be an error when trying to read the tls_drv.so file.
Some searches on the web revealed that there are people with the same issue as me but I can’t seem to find a concrete solution.
This thread here http://www.ejabberd.im/node/4200 mentions the exact same problems as I’m having and the OP seemed to have fixed them using a newer version of the drivers. I don’t know how or where to get those drivers though.
Can anyone here please help me fix this? Thank you.
Thanks a lot for that ldd command! It solved my issue 😀
Here’s the thing: apparently tls_drv.so is looking for libssl.so.0.9.8 and libcrypto.so.0.9.8, and ejabberd includes 0.9.7. I happened to have installed libssl.so.0.9.8e and libcrypto.so.0.9.8e, which tls_drv.so couldn’t find (because of the ‘e’?).
What I did was creating a symbolic link to 0.9.8e, named 0.9.8. And voilà! It worked!
Here’s some more info:
Here’s the erlang log complaining before the fix:
Here’s the process to fix it:
I restarted ejabberd, and that was it!
I really hope it helps someone else, since googling made me find a lot of people with the same issue, but not a single solution.
Regards!
maganap