| Author |
Message |
|
| prof3ta |
Posted: Fri Apr 09, 2010 1:46 pm |
|
|
|
User
Joined: 06 Feb 2009
Posts: 34
|
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
________________________________________________________________
erlang-bugs (at) erlang.org mailing list.
See http://www.erlang.org/faq.html
To unsubscribe; mailto:erlang-bugs-unsubscribe@erlang.org
---------------------------------------------------
---------------------------------------------------
WE'VE CHANGED NAMES!
Since January 1st 2010 Erlang Training and Consulting Ltd. has become ERLANG SOLUTIONS LTD.
www.erlang-solutions.com
Post received from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Fri Apr 09, 2010 2:45 pm |
|
|
|
Guest
|
Roberto Aloi wrote:
> 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, ....
>
> 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?
There is nothing architecture dependent here (but all these files are of
course dependent on whether you have configured OTP with --enable-hipe
or not).
Anyway, these are the files of the 'hipe' application. Where exactly do
you want us to specify them if not in the .app file of the corresponding
application? In any case, if you think that something is wrong or does
not match your needs, submit a git patch and we will consider it.
Best,
Kostis
________________________________________________________________
erlang-bugs (at) erlang.org mailing list.
See http://www.erlang.org/faq.html
To unsubscribe; mailto:erlang-bugs-unsubscribe@erlang.org
Post received from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Fri Apr 09, 2010 2:45 pm |
|
|
|
Guest
|
Roberto Aloi writes:
> 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:
...
> hipe_amd64_assemble,
> hipe_amd64_defuse,
> hipe_amd64_encode,
...
> 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?
Because they are part of HiPE and get built when HiPE proper is built.
And while there are many arch-dependent modules, all of them get built.
(HiPE can cross-compile, but issues with the runtime system prevent
it from actually working.)
> 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},
> [...]
The issue that confuses you is that dialyzer depends on a subset of HiPE.
That subset is built regardless of whether HiPE is enabled or not, but
everything listed in HiPE's app file is not necessarily present.
If this is a problem, post a patch to instantiate a different (smaller)
hipe.app.src for the case when HiPE is disabled.
/Mikael
________________________________________________________________
erlang-bugs (at) erlang.org mailing list.
See http://www.erlang.org/faq.html
To unsubscribe; mailto:erlang-bugs-unsubscribe@erlang.org
Post received from mailinglist |
|
|
| Back to top |
|
| prof3ta |
Posted: Fri Apr 09, 2010 5:48 pm |
|
|
|
User
Joined: 06 Feb 2009
Posts: 34
|
Hi all,
first of all thanks to Kostis and Mikael for their considerations.
You're both perfectly right. I didn't realize the story behind the
--enable-hipe flag at a first glance. I had hipe disabled, so the system
couldn't find the "optional" modules. I'm trying to fix this, generating
the proper hipe.app file based on the fact hipe is enabled or not.
I'm almost done, but considering it's almost weekend, I'll probably push
the changes on monday.
Have a great weekend,
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
________________________________________________________________
erlang-bugs (at) erlang.org mailing list.
See http://www.erlang.org/faq.html
To unsubscribe; mailto:erlang-bugs-unsubscribe@erlang.org
---------------------------------------------------
---------------------------------------------------
WE'VE CHANGED NAMES!
Since January 1st 2010 Erlang Training and Consulting Ltd. has become ERLANG SOLUTIONS LTD.
www.erlang-solutions.com
Post received from mailinglist |
|
|
| Back to top |
|
|
|
All times are GMT
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|
|