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

Lukas Larsson <>
Fri Oct 8 17:13:58 CEST 2010


Good thing that it worked!

You might try adding {path,["lib/*/ebin"]} as an argument to your
make_script call. 

You also might want to have a look at the reltool application and see
what it can do for you. It is designed to take care of all these things
for you. For examples of how to use it see:

http://www.erlang.org/doc/apps/reltool/reltool_examples.html

Lukas

On Fri, 2010-10-08 at 17:05 +0200, Gleb Peregud wrote:
> 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