About Dialyzer and its dependencies

Roberto Aloi <>
Fri Apr 9 15:44:50 CEST 2010


Hi all,

I'm trying to include dialyzer in my application and I've noticed that
one of its dependencies (wx) was missing an .app file. I've also noticed
this has been fixed in the 'dev' branch of OTP.

Still, another dependency (hipe) has something strange in its .app file:

  {modules, [cerl_cconv,
	     cerl_closurean,
	     cerl_hipeify,
	     cerl_hybrid_transform,
	     cerl_lib,
	     cerl_messagean,
	     cerl_pmatch,
	     cerl_prettypr,
	     cerl_to_icode,
	     cerl_typean,
	     erl_bif_types,
	     erl_types,
	     hipe,
	     hipe_adj_list,
	     hipe_amd64_assemble,
	     hipe_amd64_defuse,
	     hipe_amd64_encode,
	     hipe_amd64_frame,
	     hipe_amd64_liveness,
	     hipe_amd64_main,
	     hipe_amd64_pp,
	     hipe_amd64_ra,
	     hipe_amd64_ra_finalise,
	     hipe_amd64_ra_ls,
	     hipe_amd64_ra_naive,
	     hipe_amd64_ra_postconditions,
	     hipe_amd64_ra_sse2_postconditions,
	     hipe_amd64_ra_x87_ls,
	     hipe_amd64_registers,
	     hipe_amd64_specific,
	     hipe_amd64_specific_sse2,
	     hipe_amd64_specific_x87,
	     hipe_amd64_spill_restore,
	     hipe_amd64_x87,
	     hipe_arm,
	     hipe_arm_assemble,
	     hipe_arm_cfg,
	     hipe_arm_defuse,
	     hipe_arm_encode,
	     hipe_arm_finalise,
	     hipe_arm_frame,
	     hipe_arm_liveness_gpr,
	     hipe_arm_main,
	     hipe_arm_pp,
	     hipe_arm_ra,
	     hipe_arm_ra_finalise,
	     hipe_arm_ra_ls,
	     hipe_arm_ra_naive,
	     hipe_arm_ra_postconditions,
	     hipe_arm_registers,
	     hipe_arm_specific,
	     hipe_bb,
	     hipe_beam_to_icode,
	     hipe_ceach,
	     hipe_coalescing_regalloc,
	     hipe_consttab,
	     hipe_data_pp,
	     hipe_digraph,
	     hipe_dominators,
	     hipe_dot,
	     hipe_gen_cfg,
	     hipe_gensym,
	     hipe_graph_coloring_regalloc,
	     hipe_icode,
	     hipe_icode2rtl,
	     hipe_icode_bincomp,
	     hipe_icode_callgraph,
	     hipe_icode_cfg,
	     hipe_icode_coordinator,
	     hipe_icode_ebb,
	     hipe_icode_exceptions,
	     hipe_icode_fp,
	     hipe_icode_heap_test,
	     hipe_icode_inline_bifs,
	     hipe_icode_instruction_counter,
	     hipe_icode_liveness,
	     hipe_icode_mulret,
	     hipe_icode_pp,
	     hipe_icode_primops,
	     hipe_icode_range,
	     hipe_icode_ssa,
	     hipe_icode_ssa_const_prop,
	     hipe_icode_ssa_copy_prop,
	     hipe_icode_ssa_struct_reuse,
	     hipe_icode_split_arith,
	     hipe_icode_type,
	     hipe_ig,
	     hipe_ig_moves,
	     hipe_jit,
	     hipe_ls_regalloc,
	     hipe_main,
	     hipe_moves,
	     hipe_node_sets,
	     hipe_optimistic_regalloc,
	     hipe_pack_constants,
	     hipe_ppc,
	     hipe_ppc_assemble,
	     hipe_ppc_cfg,
	     hipe_ppc_defuse,
	     hipe_ppc_encode,
	     hipe_ppc_finalise,
	     hipe_ppc_frame,
	     hipe_ppc_liveness_all,
	     hipe_ppc_liveness_fpr,
	     hipe_ppc_liveness_gpr,
	     hipe_ppc_main,
	     hipe_ppc_pp,
	     hipe_ppc_ra,
	     hipe_ppc_ra_finalise,
	     hipe_ppc_ra_ls,
	     hipe_ppc_ra_naive,
	     hipe_ppc_ra_postconditions,
	     hipe_ppc_ra_postconditions_fp,
	     hipe_ppc_registers,
	     hipe_ppc_specific,
	     hipe_ppc_specific_fp,
	     hipe_profile,
	     hipe_reg_worklists,
	     hipe_regalloc_loop,
	     hipe_rtl,
	     hipe_rtl_arch,
	     hipe_rtl_arith_32,
	     hipe_rtl_arith_64,
	     hipe_rtl_binary,
	     hipe_rtl_binary_match,
	     hipe_rtl_binary_construct,
	     hipe_rtl_cfg,
	     hipe_rtl_cleanup_const,
	     hipe_rtl_exceptions,
	     hipe_rtl_lcm,
	     hipe_rtl_liveness,
	     hipe_rtl_mk_switch,
	     hipe_rtl_primops,
	     hipe_rtl_ssa,
	     hipe_rtl_ssa_const_prop,
	     hipe_rtl_ssa_avail_expr,
	     hipe_rtl_ssapre,
	     hipe_rtl_symbolic,
	     hipe_rtl_to_amd64,
	     hipe_rtl_to_arm,
	     hipe_rtl_to_ppc,
	     hipe_rtl_to_sparc,
	     hipe_rtl_to_x86,
	     hipe_rtl_varmap,
	     hipe_sdi,
	     hipe_sparc,
	     hipe_sparc_assemble,
	     hipe_sparc_cfg,
	     hipe_sparc_defuse,
	     hipe_sparc_encode,
	     hipe_sparc_finalise,
	     hipe_sparc_frame,
	     hipe_sparc_liveness_all,
	     hipe_sparc_liveness_fpr,
	     hipe_sparc_liveness_gpr,
	     hipe_sparc_main,
	     hipe_sparc_pp,
	     hipe_sparc_ra,
	     hipe_sparc_ra_finalise,
	     hipe_sparc_ra_ls,
	     hipe_sparc_ra_naive,
	     hipe_sparc_ra_postconditions,
	     hipe_sparc_ra_postconditions_fp,
	     hipe_sparc_registers,
	     hipe_sparc_specific,
	     hipe_sparc_specific_fp,
	     hipe_spillcost,
	     hipe_spillmin,
	     hipe_spillmin_color,
	     hipe_spillmin_scan,
	     hipe_tagscheme,
	     hipe_temp_map,
	     hipe_timing,
	     hipe_tool,
	     hipe_vectors,
	     hipe_x86,
	     hipe_x86_assemble,
	     hipe_x86_cfg,
	     hipe_x86_defuse,
	     hipe_x86_encode,
	     hipe_x86_frame,
	     hipe_x86_liveness,
	     hipe_x86_main,
	     hipe_x86_postpass,
	     hipe_x86_pp,
	     hipe_x86_ra,
	     hipe_x86_ra_finalise,
	     hipe_x86_ra_ls,
	     hipe_x86_ra_naive,
	     hipe_x86_ra_postconditions,
	     hipe_x86_ra_x87_ls,
	     hipe_x86_registers,
	     hipe_x86_specific,
	     hipe_x86_specific_x87,
	     hipe_x86_spill_restore,
	     hipe_x86_x87]},

Lots of these modules seems to be architecture-dependent and I'm
obviously missing most of them. Why they are listed in the .app file?
This is what I get when trying to build everything:

Creating boot script
{{module_not_found,hipe,hipe},
 {hipe,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_adj_list},
 {hipe_adj_list,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_assemble},
 {hipe_amd64_assemble,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_defuse},
 {hipe_amd64_defuse,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_encode},
 {hipe_amd64_encode,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_frame},
 {hipe_amd64_frame,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_liveness},
 {hipe_amd64_liveness,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_main},
 {hipe_amd64_main,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_pp},
 {hipe_amd64_pp,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_ra},
 {hipe_amd64_ra,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_ra_finalise},
 {hipe_amd64_ra_finalise,'$$ignore$$',hipe,"3.7.5","lib/hipe-3.7.5/ebin"}}
{{module_not_found,hipe,hipe_amd64_ra_ls},
[...]

Roberto Aloi

-- 
University of Kent - Erlang Solutions Ltd.
Twitter: @prof3ta
Blog: http://aloiroberto.wordpress.com
---------------------------------------------------

---------------------------------------------------

WE'VE CHANGED NAMES!

Since January 1st 2010 Erlang Training and Consulting Ltd. has become ERLANG SOLUTIONS LTD.

www.erlang-solutions.com



More information about the erlang-bugs mailing list