So, I thought I’d create a bonafide release to run my next application in. Unfortunately, there seems to be a deal breaker.
First I tried making a project from scratch using this guide:
http://alancastro.org/2010/05/01/erlang-application-management-with-rebar.html
That failed with an obscure error, so just to make sure, I tried to run a project I know is good, etorrent.
When I tried to run etorrent’s release, I got the same error:
[me@my-ip etorrent]# rel/etorrent/bin/etorrent console
Exec: /root/etorrent/rel/etorrent/erts-5.8.4/bin/erlexec -boot /root/etorrent/rel/etorrent/releases/1.2.1/etorrent -embedded -config /root/etorrent/rel/etorrent/etc/app.config -args_file /root/etorrent/rel/etorrent/etc/vm.args -- console
Root: /root/etorrent/rel/etorrent
pthread/ethr_event.c:98: Fatal error in wait__(): Function not implemented (38)
Aborted
I searched for that error, and the serps are filled with references to RabbitMQ on CentOS having the same problem. Obviously, it’s more general than a RabbitMQ problem specifically. Based on this thread:
RabbitMQ install issue on Centos 5.5
…and my own experience, it seems like running releases on 14 series erlang installations coupled with series 5 CentOS doesn’t work. I installed the latest erlang up on the site last night, by the way, so that’s what I’m using. I didn’t pass any flags to ‘configure’, just used the stock options.
Does anyone have any idea if there’s a compile option for erlang that might fix this? Or any other advice? Is anyone else successfully using rebar created releases for applications in this environment?
Seems to be a problem that needed to be solved on the CentOS side if you look at this comment to this RabbitMQ install issue on Centos 5.5 answer
So it looks to me that you need to upgrade your CentOS to 5.6