i installed ejabberd
correctly( configure --enabled-all
) without error. when want run in elixir mode error:
# ejabberdctl iexlive bad "k" value: \ usage: beam.smp [flags] [ -- [init_args] ] flags are: -a size suggested stack size in kilo words threads in async-thread pool, valid range [16-8192] -a number set number of threads in async thread pool, valid range [0-1024] -b[c|d|i] c have ctrl-c interrupt erlang shell, d (or no option) disable break handler, ignore break signals -c bool enable or disable time correction -c mode set time warp mode; valid modes are: no_time_warp|single_time_warp|multi_time_warp -d don't write crash dump internally detected errors (halt(string) still produce crash dump) -fn[u|a|l] control how filenames interpreted -hms size set minimum heap size in words (default 233) -hmbs size set minimum binary virtual heap size in words (default 32768) -hpds size initial process dictionary size (default 10) -k boolean enable or disable kernel poll -n[s|a|d] control behavior of signals ports note flag deprecated! -m<x> <y> memory allocator switches, see erts_alloc(3) documentation more info. -pc <set> control characters considered printable (default latin1) -p number set maximum number of processes on node, valid range [1024-134217727] -q number set maximum number of ports on node, valid range [1024-134217727] -r number set compatibility release number, valid range [16-18] -r force ets memory block moved on realloc -rg amount set reader groups limit -sbt type set scheduler bind type, valid types are: -stbt type u|ns|ts|ps|s|nnts|nnps|tnnps|db -sbwt val set scheduler busy wait threshold, valid values are: none|very_short|short|medium|long|very_long. -scl bool enable/disable compaction of scheduler load, see erl(1) documentation more info. -sct cput set cpu topology, see erl(1) documentation more info. -secio bool enable/disable eager check i/o scheduling, see erl(1) documentation more info. -sub bool enable/disable scheduler utilization balancing, see erl(1) documentation more info. -sws val set scheduler wakeup strategy, valid values are: default|legacy. -swct val set scheduler wake cleanup threshold, valid values are: very_lazy|lazy|medium|eager|very_eager. -swt val set scheduler wakeup threshold, valid values are: very_low|low|medium|high|very_high. -sss size suggested stack size in kilo words scheduler threads, valid range [4-8192] -spp bool set port parallelism scheduling hint -s n1:n2 set number of schedulers (n1), , number of schedulers online (n2), maximum both numbers 1024 -sp p1:p2 specify schedulers (p1) , schedulers online (p2) percentages of logical processors configured , logical processors available, respectively -t size set maximum number of atoms emulator can handle valid range [8192-0] -t number set modified timing level, valid range [0-9] -v print erlang version -v turn on chatty mode (gcs reported etc) -w<i|w|e> set error logger warnings mapping, see error_logger documentation details -zdbbl size set distribution buffer busy limit in kilobytes valid range [1-2097151] -zdntgc time set delayed node table gc in seconds valid values infinity or intergers in range [0-100000000] note if emulator started erlexec (typically erl script), these flags should specified +.
i can run ejabberd server correctly. created user , went well. don't know going wrong.
my config elixir 1.1.1
, erlang r18
.
any comment appreciated.
update 1
i didn't pass argument it. did follows:
download source file , untar it.
./autogen
./configure --enable-all
make && make install
- everything went well. can run start , stop successfully. can run in live mode(
ejabberdctl live
).
the problem when run in ejabberdctl iexlive
. before download ejabberd
i've installed elixir 1.1.1
. don't know maybe problem.
update 2
i went through code of ejabberdctl
, found problem in line of code:
erlang_opts=" +k $poll -smp $smp +p $erl_processes $erl_options"
i change
erlang_opts=""
and worked. don't know make further problem or not. open issue @ repository.
this because $poll
variable in +k $poll
not initialized correctly. +k
flag enables or disables kernel poll functionality erlang vm , acceptable values true
or false
.
the ejabberdctl
shell script has default values $poll
, other erlang vm options. uses ejabberdctl.cfg
config file , overwrites default values ones included in config file.
you should use ejabberdctl.cfg
set desired options uncommenting them follows:
#' poll: kernel polling ([true|false]) # # kernel polling option requires support in kernel. # additionally, need enable feature while compiling erlang. # # default: true # poll=true #. #' smp: smp support ([enable|auto|disable]) # # explanation in erlang/otp documentation: # enable: starts erlang runtime system smp support enabled. # may fail if no runtime system smp support available. # auto: starts erlang runtime system smp support enabled if # available , more 1 logical processor detected. # disable: starts runtime system without smp support. # # default: enable # smp=enable
this file resides on $ejabberd-installed-path/conf
if installed ejabberd manually.
Comments
Post a Comment