Hi everyone,
I have been trying to get ejabberd working for the first time with odbc support enabled.
I have managed to get everything up and running and i can start ejabberd from the command line and see that its waiting for incoming client connections.
I roughly following this tutorial to get everything installed: http://www.ejabberd.im/tuto-install-ejabberd
My goal is to have jabber running in a private network environment using MySQL to log to and authenticating from a windows AD server via winbind.
The problem i am facing now is that when i try to connect from a win32 jabber client, ejabberd crashes & terminates.
I am using CentOS and i built erl & ejabberd from source.
i start ejabberd with the following command:
#erl -pa /var/lib/ejabberd/ebin -name ejabberd -s ejabberd -ejabberd config \"/etc/ejabberd/ejabberd.cfg\" log_path \"/var/log/ejabberd/ejabberd.log\"
It starts up and comes to the following prompt:
=PROGRESS REPORT==== 24-Nov-2007::20:43:28 ===
application: ejabberd
started_at: 'ejabberd@hostname'
HOWEVER looking at the output from starting up i can see one error:
=ERROR REPORT==== 24-Nov-2007::20:35:10 ===
Error in process <0.233.0> on node 'ejabberd@hostname' with exit value: {{case_clause,{error,{open_error,"libexpat.so.1: cannot open shared object file: No such file or directory"}}},[{ejabberd_app,init,0}]}
Now i start up my ejabber win32 client and try to connect to the server using its IP address, as soon as the client tries to connect the following happens:
=INFO REPORT==== 24-Nov-2007::20:35:21 ===
I(<0.227.0>:ejabberd_listener:90): (#Port<0.333>) Accepted connection {{172,16,18,65},3489} -> {{172,16,18,2},5222}
sh: line 0: exec: expat_erl: not found
=ERROR REPORT==== 24-Nov-2007::20:35:21 ===
** Generic server <0.294.0> terminating
** Last message in was {tcp,#Port<0.333>,
<<"">>}
** When Server state == {state,#Port<0.333>,
gen_tcp,
none,
<0.293.0>,
65536,
{xml_stream_state,
<0.293.0>,
#Port<0.338>,
[],
0,
65536},
infinity}
** Reason for termination ==
** {badarg,[{erlang,port_close,[#Port<0.338>]},
{xml_stream,close,1},
{ejabberd_receiver,terminate,2},
{gen_server,terminate,6},
{proc_lib,init_p,5}]}
I think this line of output is pointing towards the problem however i have no idea how to fix it:
sh: line 0: exec: expat_erl: not found
I found someone else on this site who had the same problem:
http://www.ejabberd.im/node/1668
and i have tried the suggestions in that thread including setting my EJABBERD_SO_PATH env variable prior to starting ejabberd, however i have not been able to resolve the problem.
the expat_erl.so file is sitting in: /var/lib/ejabberd/priv/lib/ along with:
ejabberd_zlib_drv.so iconv_erl.so stringprep_drv.so tls_drv.so
all my .beam files are in /var/lib/ejabberd/ebin.
Here is some more information about my system that may be relevant:
#uname -a
Linux hostname 2.6.9-34.0.2.ELsmp #1 SMP Fri Jul 7 19:52:49 CDT 2006 i686 i686 i386 GNU/Linux
I originally built erl from: otp_src_R10B-10.tar.gz
./configure --enable-threads --with-odbc
make
make install
I also downloaded and built: expat-2.0.1.tar.gz
I built ejabberd from: ejabberd-1.1.4.tar.gz
using the following commands:
./configure --with-expat=/usr/local/lib --enable-odbc
make
make install
I also installed some other packages including: unixODBC-devel, openssl-devel, zlib, zlib-devel all using apt-get.
I thought maybe the problem was with my erl version so i downloaded otp_src_R11B-1.tar.gz and ran it over the top with the same commands but no change to my problem.
If anyone could help with some suggestions i would really appreciate it, i feel that i am close to getting it working but i am hung on this step.
I am OK with linux but i am not that good with compiling and linking software or the concepts involved with how libraries work in with building software so please go easy on me and help me understand!
Hi, I have fixed this now,
Hi,
I have fixed this now, libexpatl libraries were installed into /usr/local/lib
I set env variables LD_LIBRARY_PATH & LD_RUN_PATH to be /usr/local/lib and re-configured/compiled ejabberd and voila, no error anymore!
I then moved on to the (in)famous 'RPC failed on the node ejabberd@mail: nodedown' error and have got that sorted too.
Just have to work out winbind authentication now...