[erlang-questions] Fwd: mysterious reltool exception

Håkan Mattsson <>
Fri Nov 18 14:31:38 CET 2011


The problem is that with older versions of reltool you need to add
{incl_cond, include}
for all top level applications (such as egon_server) in order to
actually include the
application.

Here is an example:

{sys,[{lib_dirs,["/home/nick/code/egon_server"]},
      {rel,"egon_server","0.1",[kernel,sasl,stdlib,egon_server]},
      {boot_rel,"egon_server"},
      {relocatable,true},
      {profile,standalone},
      {app,egon_server,[{vsn,"0.0.1"},{debug_info,keep},{incl_cond,
include}]}]}.

Another alternative is to use a newer version of reltool.

/Håkan

2011/11/17 Nikola Skoric <>:
> Oh, OK, here it is:
> https://github.com/egon-sim/egon_server/blob/master/ebin/egon_server.app
>
> Thanks for trying to help :-)
>
> 2011/11/17 Håkan Mattsson <>:
>> The file egon_server.0.1.config is not an app-file.
>>
>> How does the file /home/nick/code/egon_server/ebin/egon_server.app look like?
>>
>> /Håkan
>>
>> 2011/11/17 Nikola Skoric <>:
>>> Nope, as you see here:
>>> 3> {ok, Conf1} = file:consult("egon_server.0.1.config").
>>> {ok,[{sys,[{lib_dirs,["/home/nick/code/"]},
>>>          {rel,"egon_server","0.1",[kernel,sasl,stdlib,egon_server]},
>>>          {boot_rel,"egon_server"},
>>>          {relocatable,true},
>>>          {profile,standalone},
>>>          {app,egon_server,[{vsn,"0.0.1"},{debug_info,keep}]}]}]}
>>>
>>> Kernel is included.
>>>
>>> Regards,
>>> Nikola
>>>
>>> 2011/11/17 Håkan Mattsson <>:
>>>> That was a poor error message. Sorry.
>>>>
>>>> Can it be the case that the app-file in egon_server does not list
>>>> kernel as an application that it depends of?
>>>>
>>>> /Håkan
>>>>
>>>> On Thu, Nov 17, 2011 at 12:30 PM, Nikola Skoric <> wrote:
>>>>> I'm using erlang distribution which came with Ubuntu 11.04. I'll
>>>>> upgrade to 11.10 as soon as I get time.
>>>>>
>>>>> I tried with /code directory, but I get an error:
>>>>>
>>>>> :~/code/egon_server/releases$ erl
>>>>> Erlang R13B03 (erts-5.7.4) [source] [smp:4:4] [rq:4] [async-threads:0]
>>>>> [hipe] [kernel-poll:false]
>>>>>
>>>>> Eshell V5.7.4  (abort with ^G)
>>>>> 3> {ok, Conf1} = file:consult("egon_server.0.1.config").
>>>>> {ok,[{sys,[{lib_dirs,["/home/nick/code/"]},
>>>>>           {rel,"egon_server","0.1",[kernel,sasl,stdlib,egon_server]},
>>>>>           {boot_rel,"egon_server"},
>>>>>           {relocatable,true},
>>>>>           {profile,standalone},
>>>>>           {app,egon_server,[{vsn,"0.0.1"},{debug_info,keep}]}]}]}
>>>>> 4> {ok, Spec} = reltool:get_target_spec(Conf1).
>>>>> ** exception error: no match of right hand side value {error,
>>>>>                                                       "Mandatory
>>>>> application kernel is not included in []"}
>>>>> 5>
>>>>>
>>>>> Cheerz,
>>>>> Nikola
>>>>>
>>>>> On 17 November 2011 12:22, Siri Hansen <> wrote:
>>>>>> Hi Nikola!
>>>>>> You are using a quite old reltool, so I would consider upgrading it...
>>>>>> Anyway, I'm guessing now, but I suspect that the problem is that the
>>>>>> lib_dirs you provide is really the application directory and not the lib
>>>>>> dir... could that be correct? What I mean is that maybe lib_dirs should be
>>>>>> set to /home/nick/code instead of /home/nick/code/egon_server??
>>>>>> /siri
>>>>>>
>>>>>> 2011/11/17 Nikola Skoric <>
>>>>>>>
>>>>>>> So, this is my erlang app: https://github.com/egon-sim/egon_server
>>>>>>> I've been successfully creating releases on WinXP using this rel file:
>>>>>>>
>>>>>>> https://github.com/egon-sim/egon_server/blob/master/releases/egon_server.rel
>>>>>>> Now I'd like to create a linux release, and maintaining two .rel files
>>>>>>> is tiresome, so I decided to migrate to reltool which is, I hear,
>>>>>>> easier to maintain. I'm using this tutorial:
>>>>>>> http://learnyousomeerlang.com/release-is-the-word
>>>>>>>
>>>>>>> So, this is what I do:
>>>>>>> :~/code/egon_server/releases$ erl
>>>>>>> Erlang R13B03 (erts-5.7.4) [source] [smp:4:4] [rq:4] [async-threads:0]
>>>>>>> [hipe] [kernel-poll:false]
>>>>>>>
>>>>>>> Eshell V5.7.4  (abort with ^G)
>>>>>>> 1> {ok, Conf} = file:consult("egon_server.0.1.config").
>>>>>>> {ok,[{sys,[{lib_dirs,["/home/nick/code/egon_server/"]},
>>>>>>>           {rel,"egon_server","0.1",[kernel,sasl,stdlib,egon_server]},
>>>>>>>           {boot_rel,"egon_server"},
>>>>>>>           {relocatable,true},
>>>>>>>           {profile,standalone},
>>>>>>>           {app,egon_server,[{vsn,"0.0.1"},{debug_info,keep}]}]}]}
>>>>>>> 2> {ok, Spec} = reltool:get_target_spec(Conf).
>>>>>>> ** exception exit: {badmatch,false}
>>>>>>>     in function  reltool_target:app_to_rel/2
>>>>>>>     in call from reltool_target:'-gen_rel/2-lc$^0/1-0-'/2
>>>>>>>     in call from reltool_target:'-gen_rel/2-lc$^0/1-0-'/2
>>>>>>>     in call from reltool_target:gen_rel/2
>>>>>>>     in call from reltool_target:do_spec_rel_files/2
>>>>>>>     in call from reltool_target:'-spec_rel_files/1-lc$^0/1-0-'/2
>>>>>>>     in call from reltool_target:spec_rel_files/1
>>>>>>>     in call from reltool_target:do_gen_spec/1
>>>>>>> 3>
>>>>>>>
>>>>>>> Google doesn't know anything about reltool_target. Do you? :-)
>>>>>>>
>>>>>>> --
>>>>>>> "Strange women lying in ponds distributing swords is no basis for a
>>>>>>> system of government."
>>>>>>> _______________________________________________
>>>>>>> erlang-questions mailing list
>>>>>>> 
>>>>>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> erlang-questions mailing list
>>>>>> 
>>>>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> "Strange women lying in ponds distributing swords is no basis for a
>>>>> system of government."
>>>>> _______________________________________________
>>>>> erlang-questions mailing list
>>>>> 
>>>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> "Strange women lying in ponds distributing swords is no basis for a
>>> system of government."
>>> _______________________________________________
>>> erlang-questions mailing list
>>> 
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>
>>
>
>
>
> --
> "Strange women lying in ponds distributing swords is no basis for a
> system of government."
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list