Hi,
I whish to run ejabberd on my Linksys NSLU2, as Erlang has been ported to it.
However, Erlang is working :
bash-2.05b# erl
Erlang (BEAM) emulator version 5.4.12 [source]
Eshell V5.4.12 (abort with ^G)
1>
I can not get the ./configure to work...
Here is the error message:
bash-2.05b# pwd
/root/ejabberd-1.0.0/src
bash-2.05b# ./configure
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking whether make sets $(MAKE)... yes
checking for erlc... /opt/bin/erlc
checking for erl... /opt/bin/erl
{"init terminating in do_boot",{badarg,[{erlang,'++',[{error,bad_name},"\n"]},{conftest,start,0},{init,start_it,1},{init,start_em,1}]}}
Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
configure: error: could not run sample program
bash-2.05b#
Any help would be really appreciated.
Thanks,
A library is missing
bash-2.05b# ./configure
...
checking for erl... /opt/bin/erl
{"init terminating in do_boot",{badarg,[{erlang,'++',[{error,bad_name},"\n"]},{conftest,start,0},{init,start_it,1},{init,start_em,1}]}}
...
The problem appears on conftest:start/0. That code is available in ejabberd/src/configure line 2488 aprox:
As the error tells, when your configure executes 'code:lib_dir("erl_interface")', it gets '{error,bad_name}' as a result, and that is a bad thing.
I ran this simple test on Debian unstable with source compiled Erlang/OTP R10B-9:
As you can see, if I request a strange library, or at least one that is not installed, the error appears. Maybe Erlang wasn't fully compiled, or installed, or was installed on a different path. You can try to specify the location of Erlang libraries, somehow.