Erlang deploying with Rebar, hipe error {"init terminating in do_boot",{'cannot load',hipe,get_file}}

3.2k views Asked by At

Very new to Erlang, and any attempt to run a simple hello world program using the rebar results in the following error:

./rel/mysample/bin/mysample console
Exec: /home/jwong/erlang_examples/mysample/rel/mysample/erts-5.9.2/bin/erlexec -boot   /home/jwong/erlang_examples/mysample/rel/mysample/releases/1/mysample -mode embedded -config   /home/jwong/erlang_examples/mysample/rel/mysample/releases/1/sys.config -args_file    /home/jwong/erlang_examples/mysample/rel/mysample/releases/1/vm.args -- console
Root: /home/jwong/erlang_examples/mysample/rel/mysample
{"init terminating in do_boot",{'cannot load',hipe,get_file}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

erl -init_debug

{progress,preloaded}
{progress,kernel_load_completed}
{progress,modules_loaded}
{start,heart}
{start,error_logger}
{start,application_controller}
{progress,init_kernel_started}
{apply,{application,load,[{application,stdlib,[{description,"ERTS  CXC 138 10"},{vsn,"1.18.2"},{id,[]},{modules,[array,base64,beam_lib,binary,c,calendar,dets,dets_server,dets_sup,dets_utils,dets_v8,dets_v9,dict,digraph,digraph_utils,edlin,edlin_expand,epp,eval_bits,erl_bits,erl_compile,erl_eval,erl_expand_records,erl_internal,erl_lint,erl_parse,erl_posix_msg,erl_pp,erl_scan,erl_tar,error_logger_file_h,error_logger_tty_h,escript,ets,file_sorter,filelib,filename,gb_trees,gb_sets,gen,gen_event,gen_fsm,gen_server,io,io_lib,io_lib_format,io_lib_fread,io_lib_pretty,lib,lists,log_mf_h,math,ms_transform,orddict,ordsets,otp_internal,pg,pool,proc_lib,proplists,qlc,qlc_pt,queue,random,re,sets,shell,shell_default,slave,sofs,string,supervisor,supervisor_bridge,sys,timer,unicode,win32reg,zip]},{registered,[timer_server,rsh_starter,take_over_monitor,pool_master,dets]},{applications,[kernel]},{included_applications,[]},{env,[]},{maxT,infinity},{maxP,infinity}]}]}}
{progress,applications_loaded}
{apply,{application,start_boot,[kernel,permanent]}}
Erlang R15B02 (erts-5.9.2) [source] [64-bit] [smp:4:4] [async-threads:0] [kernel-poll:false]

{apply,{application,start_boot,[stdlib,permanent]}}
{apply,{c,erlangrc,[]}}
{progress,started}
Eshell V5.9.2  (abort with ^G)

I am running ubuntu 12.04, using erlang compiled using kerl with no flag options. The only modifications I have made to the generated reltool.config is adding "../../" to the lib_dirs.

It looks very similar [this question][1] but adding "hipe" to the reltool.config resulted in an error:

{'EXIT',{{badmatch,{error,"Illegal option: [{app,mysample,hipe,[{mod_cond,app},{incl_cond,include}]}]"}}

What is going on, and how can I resolve this?

1

There are 1 answers

2
aronisstav On BEST ANSWER

This turned out to be an exact duplicate of the linked question

The issue was that I was adding the line in the wrong area in the reltool.config.

rebar generates:

app, mysample, [{mod_cond, app}, {incl_cond, include}]}

within the configuration automatically. Rather than edit the line with "hipe", or add it at the bottom of the file, the correct configuration was to do add it within the sys array, underneath the generated app, so that it looks like:

{app, mysample, [{mod_cond, app}, {incl_cond, include}]},
{app, hipe, [{incl_cond, exclude}]}