[rabbitmq-discuss] RabbitMQ on Fedora 12 with default Erlang packages
Tony Garnock-Jones
tonyg at lshift.net
Sat May 15 00:21:30 BST 2010
Hi all,
In an IRC discussion yesterday it came to light that Fedora's most recent
Erlang packaging is a little buggy. The erlang-os_mon-R13B-04.10.fc12.x86_64
package includes an os_mon.app which refers to the nteventlog module (a
standard Erlang module) in its {modules,[]} clause, but in a change from
previous releases, does not include the module itself. This causes the
following error when starting RabbitMQ:
{"init terminating in
do_boot",{{nocatch,{error,{cannot_start_application,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{undef,[{nteventlog,module_info,[attributes]},{rabbit,'-boot_steps/0-fun-0-',1},{lists,flatmap,2},{lists,flatmap,2},{rabbit,boot_steps,0},{rabbit,start,2},{application_master,start_it_old,4}]}}}}}}},[{init,start_it,1},{init,start_em,1}]}}
Arguably, RabbitMQ should not be affected by such bugs in the hosting Erlang
environment, so I'm going to change the code to ignore missing modules like
that, but in the meantime, affected users will need to edit the file
/usr/lib/erlang/lib/os_mon-2.2.5/ebin/os_mon.app
or /usr/lib64/erlang/lib/os_mon-2.2.5/ebin/os_mon.app
depending on whether your Fedora is 32- or 64-bit. Edit the clause
{modules, [os_mon, os_mon_mib, os_sup,
disksup, memsup, cpu_sup, os_mon_sysinfo, nteventlog]},
so that it reads
{modules, [os_mon, os_mon_mib, os_sup,
disksup, memsup, cpu_sup, os_mon_sysinfo]},
save it, and quit. After this change, RabbitMQ should start normally.
Regards,
Tony
More information about the rabbitmq-discuss
mailing list