[erlang-questions] Re: 'undef' while doing erl boot on release

Gleb Peregud <>
Fri Oct 8 17:05:31 CEST 2010


Indeed using ERL_LIBS fixes it:

$ cd $DIR/system
$ ERL_LIBS=`pwd`/lib/ erl -boot releases/0.0.78/start

Erlang R14B (erts-5.8.1) [source] [smp:2:2] [rq:2] [async-threads:0]
[hipe] [kernel-poll:false]

..............

=PROGRESS REPORT==== 8-Oct-2010::17:03:11 ===
          supervisor: {local,ibrowse_sup}
             started: [{pid,<0.42.0>},
                       {name,ibrowse},
                       {mfargs,{ibrowse,start_link,[]}},
                       {restart_type,permanent},
                       {shutdown,2000},
                       {child_type,worker}]

=PROGRESS REPORT==== 8-Oct-2010::17:03:11 ===
         application: ibrowse
          started_at: 
Eshell V5.8.1  (abort with ^G)
1>

I thought that boot script does set up paths. Why doesn't it? Can I
make it to do so?

Thanks a lot!
Gleb

On Fri, Oct 8, 2010 at 16:44, Lukas Larsson <> wrote:
> Hi,
>
> You probably have an OS env set to point to your erlang installation and
> not to your own release (the erl script does this by default if you look
> into $PATH_TO_ERLANG_INSTALL/bin/erl). By setting OTP_TOP to $DIR/system
> or LIB_DIRS to $DIR/system/lib before executing erl -boot it should
> work.
>
> See code path section of http://www.erlang.org/doc/man/code.html for
> details on what these settings do and
> http://www.erlang.org/doc/man/erl.html for details about which OS envs
> effect the erlang VM.
>
> Lukas
>
> On Fri, 2010-10-08 at 16:22 +0200, Gleb Peregud wrote:
>> On Fri, Oct 8, 2010 at 16:00, Gleb Peregud <> wrote:
>> > Hi
>> >
>> > I have the following structure (which is created automatically by
>> > scripts from dev environment):
>> >
>> > release/Vsn/App1/ebin/
>> >                     /*.beam
>> >                     /*.app
>> >           /App2/ebin/
>> >                     /*.beam
>> >                     /*.app
>> > release/Vsn/system.rel
>> >
>> > system.rel contains all appropriate version info about apps. Boot
>> > script is done with systools:make_script/1 and release bundle is done
>> > with systools:make_tar/1 (i.e. without erts inside). This gives me a
>> > release bundle, which I copy to another place and extract.
>> >
>> > It gives me the following structure:
>> >
>> > $DIR/system/lib/App1/ebin/
>> >                         /*.beam
>> >                         /*.app
>> >               /App2/ebin/
>> >                         /*.beam
>> >                         /*.app
>> > $DIR/system/releases/system.rel
>> >                    /Vsn/start.boot
>> >
>> > and if I do
>> >
>> > $ cd $DIR/system && erl -boot releases/Vsn/start.boot
>> >
>> > I get the following error:
>> >
>> > =CRASH REPORT==== 8-Oct-2010::15:46:26 ===
>> >  crasher:
>> >    initial call: application_master:init/4
>> >    pid: <0.39.0>
>> >    registered_name: []
>> >    exception exit: {bad_return,
>> >                        {{ibrowse_app,start,[normal,[]]},
>> >                         {'EXIT',
>> >                             {undef,
>> >                                 [{ibrowse_app,start,[normal,[]]},
>> >                                  {application_master,start_it_old,4}]}}}}
>> >      in function  application_master:init/4
>> >    ancestors: [<0.38.0>]
>> >    messages: [{'EXIT',<0.40.0>,normal}]
>> >    links: [<0.38.0>,<0.6.0>]
>> >    dictionary: []
>> >    trap_exit: true
>> >    status: running
>> >    heap_size: 377
>> >    stack_size: 24
>> >    reductions: 105
>> >  neighbours:
>> >
>> >
>> > If I do
>> >
>> > $ cd $DIR/system && erl -pa lib/*/ebin
>> > Erlang R14B (erts-5.8.1) [source] [smp:2:2] [rq:2] [async-threads:0]
>> > [hipe] [kernel-poll:false]
>> >
>> > Eshell V5.8.1  (abort with ^G)
>> > 1> ibrowse_app:start(normal, []).
>> > {ok,<0.33.0>}
>> >
>> >
>> > Script file created previously by systools:make_script/1 does contain
>> > appropriate primLoad commands, application:load/1 and
>> > application:start_boot(ibrowse, permanent) commands. I've double
>> > checked - ibrowse is not installed anywhere else on the system.
>> >
>> > I'm out of ideas why this could happen. Any thoughts on this?
>> >
>> > Best,
>> > Gleb Peregud
>> >
>>
>> Just to add more info. Starting ibrowse from console works perfectly well:
>>
>> $ cd $DIR/system && erl -pa lib/*/ebin
>> Erlang R14B (erts-5.8.1) [source] [smp:2:2] [rq:2] [async-threads:0]
>> [hipe] [kernel-poll:false]
>>
>> Eshell V5.8.1  (abort with ^G)
>> 1> application:start(sasl).
>> ok
>> 2>
>> =PROGRESS REPORT==== 8-Oct-2010::16:21:27 ===
>>           supervisor: {local,sasl_safe_sup}
>>              started: [{pid,<0.38.0>},
>>                        {name,alarm_handler},
>>                        {mfargs,{alarm_handler,start_link,[]}},
>>                        {restart_type,permanent},
>>                        {shutdown,2000},
>>                        {child_type,worker}]
>>
>> =PROGRESS REPORT==== 8-Oct-2010::16:21:27 ===
>>           supervisor: {local,sasl_safe_sup}
>>              started: [{pid,<0.39.0>},
>>                        {name,overload},
>>                        {mfargs,{overload,start_link,[]}},
>>                        {restart_type,permanent},
>>                        {shutdown,2000},
>>                        {child_type,worker}]
>>
>> =PROGRESS REPORT==== 8-Oct-2010::16:21:27 ===
>>           supervisor: {local,sasl_sup}
>>              started: [{pid,<0.37.0>},
>>                        {name,sasl_safe_sup},
>>                        {mfargs,
>>                            {supervisor,start_link,
>>                                [{local,sasl_safe_sup},sasl,safe]}},
>>                        {restart_type,permanent},
>>                        {shutdown,infinity},
>>                        {child_type,supervisor}]
>>
>> =PROGRESS REPORT==== 8-Oct-2010::16:21:27 ===
>>           supervisor: {local,sasl_sup}
>>              started: [{pid,<0.40.0>},
>>                        {name,release_handler},
>>                        {mfargs,{release_handler,start_link,[]}},
>>                        {restart_type,permanent},
>>                        {shutdown,2000},
>>                        {child_type,worker}]
>>
>> =PROGRESS REPORT==== 8-Oct-2010::16:21:27 ===
>>          application: sasl
>>           started_at: 
>> 2> application:start(ibrowse).
>>
>> =PROGRESS REPORT==== 8-Oct-2010::16:21:30 ===
>>           supervisor: {local,ibrowse_sup}
>>              started: [{pid,<0.47.0>},
>>                        {name,ibrowse},
>>                        {mfargs,{ibrowse,start_link,[]}},
>>                        {restart_type,permanent},
>>                        {shutdown,2000},
>>                        {child_type,worker}]
>>
>> =PROGRESS REPORT==== 8-Oct-2010::16:21:30 ===
>>          application: ibrowse
>>           started_at: 
>> ok
>> 3>
>>
>> ________________________________________________________________
>> erlang-questions (at) erlang.org mailing list.
>> See http://www.erlang.org/faq.html
>> To unsubscribe; mailto:
>>
>
>


More information about the erlang-questions mailing list