Asdf-erlang: Unable to install erlang 20.0 on OSX 10.12.6

Created on 28 Sep 2017  路  10Comments  路  Source: asdf-vm/asdf-erlang

=== Entering application hipe
 ERLC   ../ebin/hipe_rtl.beam
 ERLC   ../ebin/hipe_rtl_cfg.beam
 ERLC   ../ebin/hipe_rtl_liveness.beam
 GEN    hipe_literals.hrl
 ERLC   ../ebin/hipe_rtl_mk_switch.beam
 ERLC   ../ebin/hipe_rtl_varmap.beam
 ERLC   ../ebin/hipe_rtl_arith_32.beam
 ERLC   ../ebin/hipe_rtl_arith_64.beam
 ERLC   ../ebin/hipe_rtl_ssa.beam
{"init terminating in do_boot",{load_failed,[supervi{so"ri,npirto ct_elrimbi,nlaitsitnsg, kienr ndeol_,bhoeoatr"t,,{gleona_ds_efravielre,dg,e[ns_uepveernvti,sgoern,,pfriolce__liiob_,sleirsvtesr,,kfeirlnee_ls,ehrevaerrt,,fgielne_nsaemrev,efri,lgee,ne_tesv,eenrtr,ogre_nl,ofgigleer_,ieor_ls_epravresre,,feirlle_{_ls"ieinrntvi,eter r,tlfe_irelmveiannlaa,tmcieo,ndgfei _ilsene,rev tesr,,ecrordoedr,o_al_pobpgolgoitecr"a,,te{irlolona__pdma_arfsastieerl,,eeardpl,p_[lislcuiapntetir,ovenri_lsco_oern,vtparlrool,lcceo_rld,eiab_p,spellirivscteasrt,,ickooned,reenr,reaolprp,_lhhieaacnradttli,egrsenn]__}ms}ae
eveerr,,agpepnl_iecvateinotn,_gceonn,tfriollel_eiro,_aspeprlviecra,tfioinl,ee_rsreorrv_eharn,dflielre]n}a}m
,filei,neitts ,teerrrmoirn_altoigngge ri,ne rdlo__pbaoroste ,(e{rlilon_alidit_nf attie,lreemrdil,n[_astueipvneagrl vi,incs ooddreo,__pbsroeoorcvt_ le(i{rbl,,oclaoidds_etf,saa,pikpellreincdea,l[t,sihouenpa_er{mrt"av,siitsgeonreirn,,t_p aspreoprtvcel_rliemcirab,,tiligoiensnt_nsev,_ecakoetnritnn,nggeteln,r ho,ifenail rltdel,_egireo,no__abpso_ospeelrtvir"ce,vare{,trglieonoa,n_fe,dei_rvflerena_otislr,eg_rehveenadnr,d,l,ffei[rli]sleu}enp_}amr
ivoei_,ssfoielrre,v,peerrto,scf,_iellrirebo_,rsl_eilrsovtgesg,rek,rfe,irelnerelnl_ai,pnmhieea,tf irtlseeaerr,,tmeei,tnsra,ltgi_eneglrnir_n otirs,_n,al r{lro_gdevv"eoig_nrai,ltg ,btceeoondro_meetv_e si(ne{t
ogateidnn_,gff iailinel _edidoo,__[sbsoeuortpv"ee,rrve,i{fsrlioola,red_e,_rslpe_frapirvaloeerdr,s[,csef,_eirllle_nialmbie,n,ltfi,iseltresl,,_eketvgepe,lne,ecrlor,odrh_eleao_rgsteg,u
ren,_resvrielsr_ovrpe,arr,psgree,onec_r_ellvie_bnl,til,nigst,teesnr,,lkfe_irelnveea_lli,,ohc_eosaderert_v,esgree,rnfv_ieslree,r_vcseoerd,regv,eenanierpv,elf
ti,Cgrcleaansteh,n faidmiuel,meop_fi nio_i_smsla sbeete,ienrgr e,vwtreiatstrpe,,nfp ileltieo_c:sar ertroeirvo_nel_orgrclg_oecnrrta,srehor.lldl_,puolepefs.rei.l,.,aeepnrplalm_ileci,anftiti,
iel,Cne_,reeavtsashlr ,,derurorcrmoo_pdrh eain__sld solbgegee
piar,g]e r}lw}_r
rtstee,ne rtlo_:l inetr,le_rclr_aesvha.ld,ucmopd.e._.server,code,application_masteri,naiptp ltiecramtiinoant_icnogn trionl ldeor_b,oaoptp l(i{clao,aido_nf,aeirlreodr,_[hsaunpdelrevri]s}o}r
proc_lib,lists,kernel,heart,gen_server,gen_event,gen,file_io_server,filei_nsietr vteerr,mfiinlaetnianmge ,ifni ldeo,_ebotost, e(r{rloora_dl_ofgagirrre,de,r[ls_uppae
olCeir,asesorrhl ,_pdluriomnpct _,ileisr bble_ien,vglai lsw,tcsroi,dtkeet_ersnne et
:,h eearrlt_,cgreans_hs.edruvmepr.,.g.en_event,gen,file_io_server,file_server,filename,file,ets,error_logger,erl_parse,erl_lint,erl_eval,code_se

Crash dump is being written to: erl_crash.dump...
Crash dump is being written to: erl_crash.dump...{"init terminating in do_boot",{load_failed,[supervisor,proc_lib,lists,kernel,heart,gen,gen_server,gen_event,file_io_server,file_server,filename,file,ets,error_logger,erl_eval,erl_parse,erl_lint,code_server,code,application_master,application_controller,application,error_handler]}}
init terminating in do_boot ({load_failed,[supervisor,proc_lib,lists,kernel,heart,gen,gen_server,gen_event,file_io_server,file_server,filename,file,ets,error_logger,erl_eval,erl_parse,erl_lint,code_se

Crash dump is being written to: erl_crash.dump...{"init terminating in do_boot",{load_failed,[supervisor,proc_lib,lists,kernel,heart,gen_server,gen,gen_event,file_io_server,file,filename,file_server,ets,erl_parse,error_logger,erl_lint,erl_eval,code_server,code,application_master,application_controller,application,error_handler]}}
init terminating in do_boot ({load_failed,[supervisor,proc_lib,lists,kernel,heart,gen_server,gen,gen_event,file_io_server,file,filename,file_server,ets,erl_parse,error_logger,erl_lint,erl_eval,code_se

Crash dump is being written to: erl_crash.dump...{"init terminating in do_boot",{load_failed,[supervisor,proc_lib,lists,kernel,heart,gen_server,gen_event,gen,filename,file_io_server,file_server,file,ets,error_logger,erl_parse,erl_lint,erl_eval,code_server,code,application_master,application_controller,application,error_handler]}}
init terminating in do_boot ({load_failed,[supervisor,proc_lib,lists,kernel,heart,gen_server,gen_event,gen,filename,file_io_server,file_server,file,ets,error_logger,erl_parse,erl_lint,erl_eval,code_se

Crash dump is being written to: erl_crash.dump...done
done
done
done
done
done
done
done
make[3]: *** [../ebin/hipe_rtl_arith_64.beam] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [../ebin/hipe_rtl_varmap.beam] Error 1
make[3]: *** [../ebin/hipe_rtl.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_cfg.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_mk_switch.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_arith_32.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_liveness.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_ssa.beam] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [secondary_bootstrap_build] Error 2

Most helpful comment

I started writing a pull request for this plugin to support patches. Since Kerl already patches many things for many versions and operating systems, I thought, why reimplement all that. So I created a plugin that just uses Kerl instead: https://github.com/eproxus/asdf-kerl

Maybe you find it useful.

All 10 comments

FWIW, 20.1 seems to compile fine, so I'm going with that one.

I have experienced a similar issue (also on newest OS/X) when trying to install erlang 20, 19.3 and 19.2 with asdf.

Last part of the log when trying to install erlang 19.3:

...
make[3]: Nothing to be done for `opt'.
 CXX    x86_64-apple-darwin16.7.0/wxe_impl.o
 CC ../priv/x86_64-apple-darwin16.7.0/erl_gl.so
wxe_impl.cpp:669:55: error: ordered comparison between pointer and zero ('void *' and 'long')
  if((index < memenv->next) && ((index == 0) || (temp > NULL)))
                                                 ~~~~ ^ ~~~~
wxe_impl.cpp:681:55: error: ordered comparison between pointer and zero ('void *' and 'long')
  if((index < memenv->next) && ((index == 0) || (temp > NULL))) {
                                                 ~~~~ ^ ~~~~
2 errors generated.
make[3]: *** [x86_64-apple-darwin16.7.0/wxe_impl.o] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

Same error here - I tried to compile R16B03 - the actual compiler command is:

=== Entering application wx            
make[3]: Nothing to be done for `opt'. 
mkdir -p x86_64-apple-darwin16.7.0     
g++ -c -Werror=return-type  -g -Wall -fPIC -fomit-frame-pointer -fno-strict-aliasing -g -O2 -mmacosx-version-min=10.12 -Wno-deprecated-declarations  -D_MACOSX -D_THREAD_SAFE -D_REENTRANT -I/usr/local/lib/wx/include/osx_cocoa-unicode-3.0 -I/usr/local/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__    -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DHAVE_OPENGL_GL_H=1 -DHAVE_OPENGL_GLU_H=1 -DHAVE_GL_SUPPORT=1 -DHAVE_GLINTPTR=1 -DHAVE_GLINTPTRARB=1 -DHAVE_GLCHAR=1 -DHAVE_GLCHARARB=1 -DHAVE_GLHALFARB=1 -DHAVE_GLINT64EXT=1 -DHAVE_WX_STC_STC_H=1  -I/var/folders/lw/n7d9m8d957995_y3_q9zxnwm0000gp/T/otp_src_R16B03/erts/emulator/beam -I/var/folders/lw/n7d9m8d957995_y3_q9zxnwm0000gp/T/otp_src_R16B03/erts/include -I/var/folders/lw/n7d9m8d957995_y3_q9zxnwm0000gp/T/otp_src_R16B03/erts/include/x86_64-apple-darwin16.7.0 -I/var/folders/lw/n7d9m8d957995_y3_q9zxnwm0000gp/T/otp_src_R16B03/erts/include/internal -I/var/folders/lw/n7d9m8d957995_y3_q9zxnwm0000gp/T/otp_src_R16B03/erts/include/internal/x86_64-apple-darwin16.7.0 -I/var/folders/lw/n7d9m8d957995_y3_q9zxnwm0000gp/T/otp_src_R16B03/erts/emulator/sys/unix  wxe_impl.cpp -o x86_64-apple-darwin16.7.0/wxe_impl.o

Error output is:

wxe_impl.cpp:600:19: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
          if((refd->type == 0)) { // Maybe also class 1
              ~~~~~~~~~~~^~~~
wxe_impl.cpp:600:19: note: remove extraneous parentheses around the comparison to silence this warning
          if((refd->type == 0)) { // Maybe also class 1
             ~           ^   ~
wxe_impl.cpp:600:19: note: use '=' to turn this equality comparison into an assignment
          if((refd->type == 0)) { // Maybe also class 1
                         ^~
                         =
wxe_impl.cpp:761:55: error: ordered comparison between pointer and zero ('void *' and 'long')
  if((index < memenv->next) && ((index == 0) || (temp > NULL)))
                                                 ~~~~ ^ ~~~~
wxe_impl.cpp:773:55: error: ordered comparison between pointer and zero ('void *' and 'long')
  if((index < memenv->next) && ((index == 0) || (temp > NULL))) {
                                                 ~~~~ ^ ~~~~
1 warning and 2 errors generated.
make[3]: *** [x86_64-apple-darwin16.7.0/wxe_impl.o] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

Kerl have fixed this issue (Fix point arithmetic error in wx_impl.cpp for Erlang with XCode CLT 9.0 ) - they implement a patching mechanism - can asdf-erlang do something similar?

+1 here, only 20.1 install works right now

I started writing a pull request for this plugin to support patches. Since Kerl already patches many things for many versions and operating systems, I thought, why reimplement all that. So I created a plugin that just uses Kerl instead: https://github.com/eproxus/asdf-kerl

Maybe you find it useful.

@eproxus genius - in my entire career that's the most pragmatic thing I've ever seen. It might be the _only_ pragmatic thing I've ever seen!

@bryanhuntesl Thanks 馃檱

I had a similar issue installing 20.1. I worked around it by using gcc instead of clang as the C compiler. This was suggested in a thread about erlang build issues in Homebrew. https://github.com/Homebrew/legacy-homebrew/issues/7691

CC=/usr/bin/gcc asdf install erlang 20.1

I just merged #54. In the PR I tried to combine the best ideas from asdf-erlang and asdf-kerl. asdf-erlang now uses kerl underneath for builds just like asdf-kerl. It also installs and configures kerl automatically, so users don't have to worry about getting it installed beforehand. And it is configured so it will not interfere with the user installed kerl, in case the user wants to use both.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

fhunleth picture fhunleth  路  7Comments

salimane picture salimane  路  7Comments

denegny picture denegny  路  6Comments

lpil picture lpil  路  6Comments

jeremy-postmates picture jeremy-postmates  路  6Comments