Installation problems on a NSLU2...

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

RastaFaI wrote:

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:

start() ->
    EIDirS = code:lib_dir("erl_interface") ++ "\n",
...

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:

$ erl
Erlang (BEAM) emulator version 5.4.12 [source] [hipe] [kernel-poll]

Eshell V5.4.12  (abort with ^G)
1> code:lib_dir("erl_interface").
"/usr/local/lib/erlang/lib/erl_interface-3.5.4"
2> code:lib_dir("erl_interfaqqqqq").
{error,bad_name}
3>q().

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.

Syndicate content