<p>It looks a bit like the generated rel file does not have the kernel module (and most likely stdlib) included. I'm not familiar with reltool, so don't know how that might happen.</p>
<p>The error message points to kernel:start() function not being available. Which in turn means that the kernel module probably hasn't been loaded. That normally happens automatically when you run a shell, but not necessarily when you start an application directly.</p>

<p>Robby</p>
<div class="gmail_quote">On Sep 20, 2012 5:05 PM, "Jean Parpaillon" <<a href="mailto:jean.parpaillon@free.fr">jean.parpaillon@free.fr</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
Le jeudi 20 septembre 2012 à 17:49 +0200, Ali Sabil a écrit :<br>
> Ok, sorry :)<br>
><br>
No harm, I was suggesting myself to reread it :)<br>
<br>
> Basically in Erlang, the concept of release is pretty close to the<br>
> concept of Linux distributions, a release allows you to package the<br>
> erlang runtime and a set of applications together into a distribution.<br>
> The easiest way to generate releases is probably by using rebar. Here<br>
> is a small quickstart on how to generate a release using rebar:<br>
><br>
>   mkdir -p product && cd product<br>
>   wget <a href="http://cloud.github.com/downloads/basho/rebar/rebar" target="_blank">http://cloud.github.com/downloads/basho/rebar/rebar</a> && chmod u+x rebar<br>
>   mkdir rel && cd rel<br>
>   ../rebar create-node nodeid=product<br>
>   # edit the reltool.config file to remove the non-existing product<br>
> application from the release<br>
>   # this is done by removing the product atom right after the sasl<br>
> atom and the comma separating them<br>
>   # as well as {app, product, [{incl_cond, include}]} and the comma before it<br>
>   # this is to have a running release<br>
>   ../rebar generate<br>
>   ./product/bin/product console  # this will start a node based on your release<br>
><br>
> The applications you want to include are generally placed in apps/<br>
> and/or deps/ at the root and you just need to edit the reltool.config<br>
> file and add<br>
>   {lib_dirs, ["../apps", "../deps"]}<br>
> inside the sys section<br>
><br>
> That said you might not really need to use a release to package your<br>
> application, if you have an erlang runtime available on the target<br>
> machine you could either turn your application into an escript (the<br>
> escriptize command in rebar) or use a shell script.<br>
><br>
<br>
Ok, I think I got the different parts of the release process. Now, if I<br>
follow a rebar tutorial and try to launch the code:<br>
- If I do:<br>
$ erl -pa ebin<br>
then<br>
> application:start(myapp).<br>
<br>
My application is fine and running<br>
<br>
- If I do:<br>
$ erl -pa ebin -s myapp<br>
I got the following error:<br>
{"init terminating in<br>
do_boot",{undef,[{kernel,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}<br>
<br>
<br>
Any hints ?<br>
<br>
Thank you again for your time !<br>
<br>
Jean<br>
<br>
> Hope this helps,<br>
> Ali<br>
><br>
><br>
> On Thu, Sep 20, 2012 at 4:33 PM, Jean Parpaillon<br>
> <<a href="mailto:jean.parpaillon@free.fr">jean.parpaillon@free.fr</a>> wrote:<br>
> > Hi Ali<br>
> > Thank you for your help.<br>
> > I've begun erlang with this tutorial but I have to admit I am still<br>
> > confused about the right tool to use. Just in learnyou..., reltool and<br>
> > systools are presented.<br>
> > Let's read again this chapter :)<br>
> ><br>
> > Regards,<br>
> > Jean<br>
> ><br>
> > Le jeudi 20 septembre 2012 à 16:11 +0200, Ali Sabil a écrit :<br>
> >> Hi Jean,<br>
> >><br>
> >> I don't know if you have come across this:<br>
> >> <a href="http://learnyousomeerlang.com/release-is-the-word#am-i-an-executable-yet" target="_blank">http://learnyousomeerlang.com/release-is-the-word#am-i-an-executable-yet</a><br>
> >> but it might be helpful?<br>
> >><br>
> >> Best,<br>
> >> Ali<br>
> >><br>
> >> On Thu, Sep 20, 2012 at 3:52 PM, Jean Parpaillon<br>
> >> <<a href="mailto:jean.parpaillon@free.fr">jean.parpaillon@free.fr</a>> wrote:<br>
> >> > Hi all,<br>
> >> > I'm Jean Parpaillon, new erlang enthusiast and (soon) programmer. On 7<br>
> >> > past years, I've workedon distributed systems, specially in HPC and<br>
> >> > cloud computing. I'm trying to develop an XMPP agent for system<br>
> >> > management, written in Erlang. This is the introduction, now the<br>
> >> > question :)<br>
> >> > What is your preferred packaging/deployment system for erlang ? I have a<br>
> >> > code running, from erlang shell, and want it to become a real world<br>
> >> > application the user can install from an archive and launch from its<br>
> >> > shell, eventually with some parameters.<br>
> >> ><br>
> >> > I've read about systools, and how to generated .app, .appup, .rel, .boot<br>
> >> > and so on. This looks fine but a lot to do by hand. When it comes to<br>
> >> > update a file, and release the whole stuff, one have to modify plenty of<br>
> >> > others. Or am I wrong ?<br>
> >> > I've looked to existing applications or 'helloworld's: some of them<br>
> >> > using autotools (ejabberd, ...), a lot of others using rebar, sometime a<br>
> >> > little a bit of both, iirc.<br>
> >> > rebar has a lot of magic, which makes debugging hard.<br>
> >> > autotools is not well designed for erlang, but putting some existing m4<br>
> >> > files here and there seems to fit. At least, I know autotools well. I<br>
> >> > know how can I generate .app, .rel and so on with autotools, but I don't<br>
> >> > know what to put in it :/<br>
> >> > At the end, for launching the application, I've seen many projects not<br>
> >> > using .boot files, but a shell script with tons of arguments to erl...<br>
> >> ><br>
> >> > I'm a little bit confused :( Any help ?<br>
> >> ><br>
> >> > Best regards,<br>
> >> > --<br>
> >> > Jean Parpaillon<br>
> >> > Open Source Consultant<br>
> >> > Phone: +33 6 30 10 92 86<br>
> >> > im: <a href="mailto:jean.parpaillon@gmail.com">jean.parpaillon@gmail.com</a><br>
> >> > skype: jean.parpaillon<br>
> >> > linkedin: <a href="http://www.linkedin.com/in/jeanparpaillon/en" target="_blank">http://www.linkedin.com/in/jeanparpaillon/en</a><br>
> >> ><br>
> >> ><br>
> >> > _______________________________________________<br>
> >> > erlang-questions mailing list<br>
> >> > <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> >> > <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
> >> ><br>
> ><br>
> > --<br>
> > Jean Parpaillon<br>
> > Open Source Consultant<br>
> > Phone: +33 6 30 10 92 86<br>
> > im: <a href="mailto:jean.parpaillon@gmail.com">jean.parpaillon@gmail.com</a><br>
> > skype: jean.parpaillon<br>
> > linkedin: <a href="http://www.linkedin.com/in/jeanparpaillon/en" target="_blank">http://www.linkedin.com/in/jeanparpaillon/en</a><br>
> ><br>
<br>
--<br>
Jean Parpaillon<br>
Open Source Consultant<br>
Phone: +33 6 30 10 92 86<br>
im: <a href="mailto:jean.parpaillon@gmail.com">jean.parpaillon@gmail.com</a><br>
skype: jean.parpaillon<br>
linkedin: <a href="http://www.linkedin.com/in/jeanparpaillon/en" target="_blank">http://www.linkedin.com/in/jeanparpaillon/en</a><br>
<br>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div>