[m-dev.] /usr/bin/ld: Undefined symbols: _MR_global_pointer

Terrence Brannon princepawn at earthlink.net
Thu May 3 00:16:27 AEST 2001


What follows is a full transcript of my compilation of Mercury. I used
boehm_gc 5.0 from the hp.com website and have not done a cvs update
for 6.0+ yet --- my final link phase problem appears to be some bug
with gcc. But I give the entire compilation transcript with all
changes made to source listed for reference.

* Compile notes for Mercury on arch:

[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/2.95.2/specs
Apple Computer, Inc. version gcc-926, based on gcc version 2.95.2 19991024 (release)
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% 

.* Removed boehm_gc. Moved ~/gc-5.0/gc in its place.
.* Typed ./configure --host=powerpc
.* Typed make
. + encountered error in runtime:

MERCURY_ALL_C_INCL_DIRS=" -I../runtime -I../boehm_gc -I../boehm_gc/include " ../scripts/mgnuc  --grade none.gc     --no-ansi    -g     -c mercury_memory.c -o mercury_memory.o
/usr/include/mach/shared_memory_server.h:47: warning: could not use precompiled header '/usr/include/mach/mach.p', because:
/usr/include/mach/shared_memory_server.h:47: warning: macro 'r23' defined by mercury_bootstrap.h conflicts with precomp
/usr/include/mach/ppc/thread_status.h:59: syntax error, found `.'
/usr/include/mach/ppc/thread_status.h:60: syntax error, found `.'
.  - resolution

commented out mercury's definition of this

. + encounted same error with different defintion:

MERCURY_ALL_C_INCL_DIRS=" -I../runtime -I../boehm_gc -I../boehm_gc/include " ../scripts/mgnuc  --grade none.gc     --no-ansi    -g     -c mercury_memory.c -o mercury_memory.o
/usr/include/mach/shared_memory_server.h:47: warning: could not use precompiled header '/usr/include/mach/mach.p', because:
/usr/include/mach/shared_memory_server.h:47: warning: macro 'r21' defined by mercury_bootstrap.h conflicts with precomp
/usr/include/mach/ppc/thread_status.h:59: syntax error, found `.'
/usr/include/mach/ppc/thread_status.h:60: syntax error, found `.'

. + same error with r22
.  - hmm, starting to have a pattern

#define MR_NO_BACKWARDS_COMPAT


. + another error in browser/

MERCURY_INT_DIR=../library MERCURY_ALL_C_INCL_DIRS=" -I../trace -I../library -I../runtime -I../boehm_gc -I../boehm_gc/include " ../scripts/mgnuc --grade none.gc             -c mdb.dl.c -o mdb.dl.o
dl.m:218: undefined type, found `Word'
dl.m:230: undefined type, found `Word'


. + another error in trace/

cd trace && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
MERCURY_ALL_C_INCL_DIRS=" -I../browser -I../library -I../runtime -I../boehm_gc -I../boehm_gc/include " ../scripts/mgnuc --grade none.gc     --no-ansi    -g     -c mercury_trace.c -o mercury_trace.o
mercury_trace.c:172: undefined type, found `Word'
cpp-precomp: warning: errors during smart preprocessing, retrying in basic mode
mercury_trace.c: In function `MR_trace_real':


. + link error in final phase:

cd compiler && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
MERCURY_C_LIB_DIR=. ../scripts/ml --grade none.gc     --shared --mercury-libs none     -o mercury_compile mercury_compile_init.o \
	accumulator.o add_trail_ops.o arg_info.o assertion.o atsort.o base_typeclass_info.o basic_block.o builtin_ops.o bytecode.o bytecode_data.o bytecode_gen.o c_util.o call_gen.o check_typeclass.o clause_to_proc.o code_aux.o code_exprn.o code_gen.o code_info.o code_model.o code_util.o commit_gen.o common.o const_prop.o context.o continuation_info.o cse_detection.o dead_proc_elim.o deforest.o delay_info.o delay_slot.o dense_switch.o dependency_graph.o det_analysis.o det_report.o det_util.o disj_gen.o dnf.o dupelim.o equiv_type.o error_util.o excess.o export.o exprn_aux.o fact_table.o follow_code.o follow_vars.o foreign.o frameopt.o globals.o goal_path.o goal_store.o goal_util.o graph_colour.o handle_options.o higher_order.o hlds_data.o hlds_goal.o hlds_module.o hlds_out.o hlds_pred.o il_peephole.o ilasm.o ilds.o inlining.o inst.o inst_match.o inst_util.o instmap.o intermod.o ite_gen.o jumpopt.o labelopt.o lambda.o layout.o layout_out.o lco.o live_vars.o livemap.o liveness.o ll_pseudo_type_info.o llds.o llds_common.o llds_out.o lookup_switch.o lp.o magic.o magic_util.o make_hlds.o make_tags.o mark_static_terms.o maybe_mlds_to_gcc.o mercury_compile.o mercury_to_goedel.o mercury_to_mercury.o middle_rec.o ml_call_gen.o ml_code_gen.o ml_code_util.o ml_elim_nested.o ml_optimize.o ml_simplify_switch.o ml_string_switch.o ml_switch_gen.o ml_tag_switch.o ml_tailcall.o ml_type_gen.o ml_unify_gen.o ml_util.o mlds.o mlds_to_c.o mlds_to_il.o mlds_to_ilasm.o mlds_to_java.o mode_debug.o mode_errors.o mode_info.o mode_util.o modecheck_call.o modecheck_unify.o modes.o module_qual.o modules.o opt_debug.o opt_util.o optimize.o options.o par_conj_gen.o passes_aux.o pd_cost.o pd_debug.o pd_info.o pd_term.o pd_util.o peephole.o polymorphism.o post_typecheck.o pragma_c_gen.o prog_data.o prog_io.o prog_io_dcg.o prog_io_goal.o prog_io_pragma.o prog_io_typeclass.o prog_io_util.o prog_out.o prog_rep.o prog_util.o pseudo_type_info.o purity.o quantification.o rl.o rl_analyse.o rl_block.o rl_block_opt.o rl_code.o rl_dump.o rl_exprn.o rl_file.o rl_g
en.o rl_info.o rl_key.o rl_liveness.o rl_loop.o rl_opt.o rl_out.o rl_relops.o rl_sort.o rl_stream.o rtti.o rtti_out.o rtti_to_mlds.o saved_vars.o simplify.o special_pred.o stack_layout.o static_term.o store_alloc.o stratify.o string_switch.o switch_detection.o switch_gen.o switch_util.o table_gen.o tag_switch.o term_errors.o term_pass1.o term_pass2.o term_traversal.o term_util.o termination.o trace.o trace_params.o trans_opt.o transform_llds.o tree.o type_ctor_info.o type_util.o typecheck.o unify_gen.o unify_proc.o unique_modes.o unneeded_code.o unused_args.o value_number.o var_locn.o vn_block.o vn_cost.o vn_debug.o vn_filter.o vn_flush.o vn_order.o vn_table.o vn_temploc.o vn_type.o vn_util.o vn_verify.o  ../main.o ../trace/libmer_trace.a ../browser/libmer_browser.a ../library/libmer_std.a ../runtime/libmer_rt.a ` case none.gc in *.par*.gc*.prof*) echo ../boehm_gc/libpar_gc_prof.a ;; *.par*.gc*)	echo ../boehm_gc/libpar_gc.a ;; *.gc*.prof*)	echo ../boehm_gc/libgc_prof.a ;; *.gc*)		echo ../boehm_gc/libgc.a ;; esac `  -lm   
/usr/bin/ld: Undefined symbols:
_MR_global_pointer
gmake[2]: *** [mercury_compile] Error 1
gmake[1]: *** [compiler] Error 2
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% nm runtime/libmer_rt.a | grep MR_global_pointer
00000004 C _MR_global_pointer
00000004 C _MR_global_pointer_2
         U _MR_global_pointer
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% nm runtime/mercury_dummy.o 
00000000 T _MR_dummy_function_call
00000004 T _MR_dummy_identify_function
00000004 C _MR_global_pointer
00000004 C _MR_global_pointer_2
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% gcc --version
2.95.2
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/2.95.2/specs
Apple Computer, Inc. version gcc-926, based on gcc version 2.95.2 19991024 (release)
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% 

.  - 	EXTRA_MLFLAGS=-v in Mmake params yielded


[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% mkae
mkae: Command not found.
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% make
MMAKE_DIR=`pwd`/scripts scripts/mmake  MMAKEFLAGS= all 2>&1 | tee make_all.log
cd scripts && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
cd util && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
gc_grade=`scripts/ml --grade none.gc --print-gc-grade`; \
cd boehm_gc && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake  GC_GRADE=$gc_grade
gmake[2]: Nothing to be done for `default_target'.
cd runtime && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
cd library && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
cd browser && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
cd trace && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
cd compiler && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
MERCURY_C_LIB_DIR=. ../scripts/ml --grade none.gc     --shared --mercury-libs none -v    -o mercury_compile mercury_compile_init.o \
	accumulator.o add_trail_ops.o arg_info.o assertion.o atsort.o base_typeclass_info.o basic_block.o builtin_ops.o bytecode.o bytecode_data.o bytecode_gen.o c_util.o call_gen.o check_typeclass.o clause_to_proc.o code_aux.o code_exprn.o code_gen.o code_info.o code_model.o code_util.o commit_gen.o common.o const_prop.o context.o continuation_info.o cse_detection.o dead_proc_elim.o deforest.o delay_info.o delay_slot.o dense_switch.o dependency_graph.o det_analysis.o det_report.o det_util.o disj_gen.o dnf.o dupelim.o equiv_type.o error_util.o excess.o export.o exprn_aux.o fact_table.o follow_code.o follow_vars.o foreign.o frameopt.o globals.o goal_path.o goal_store.o goal_util.o graph_colour.o handle_options.o higher_order.o hlds_data.o hlds_goal.o hlds_module.o hlds_out.o hlds_pred.o il_peephole.o ilasm.o ilds.o inlining.o inst.o inst_match.o inst_util.o instmap.o intermod.o ite_gen.o jumpopt.o labelopt.o lambda.o layout.o layout_out.o lco.o live_vars.o livemap.o liveness.o ll_pseudo_type_info.o llds.o llds_common.o llds_out.o lookup_switch.o lp.o magic.o magic_util.o make_hlds.o make_tags.o mark_static_terms.o maybe_mlds_to_gcc.o mercury_compile.o mercury_to_goedel.o mercury_to_mercury.o middle_rec.o ml_call_gen.o ml_code_gen.o ml_code_util.o ml_elim_nested.o ml_optimize.o ml_simplify_switch.o ml_string_switch.o ml_switch_gen.o ml_tag_switch.o ml_tailcall.o ml_type_gen.o ml_unify_gen.o ml_util.o mlds.o mlds_to_c.o mlds_to_il.o mlds_to_ilasm.o mlds_to_java.o mode_debug.o mode_errors.o mode_info.o mode_util.o modecheck_call.o modecheck_unify.o modes.o module_qual.o modules.o opt_debug.o opt_util.o optimize.o options.o par_conj_gen.o passes_aux.o pd_cost.o pd_debug.o pd_info.o pd_term.o pd_util.o peephole.o polymorphism.o post_typecheck.o pragma_c_gen.o prog_data.o prog_io.o prog_io_dcg.o prog_io_goal.o prog_io_pragma.o prog_io_typeclass.o prog_io_util.o prog_out.o prog_rep.o prog_util.o pseudo_type_info.o purity.o quantification.o rl.o rl_analyse.o rl_block.o rl_block_opt.o rl_code.o rl_dump.o rl_exprn.o rl_file.o rl_g
en.o rl_info.o rl_key.o rl_liveness.o rl_loop.o rl_opt.o rl_out.o rl_relops.o rl_sort.o rl_stream.o rtti.o rtti_out.o rtti_to_mlds.o saved_vars.o simplify.o special_pred.o stack_layout.o static_term.o store_alloc.o stratify.o string_switch.o switch_detection.o switch_gen.o switch_util.o table_gen.o tag_switch.o term_errors.o term_pass1.o term_pass2.o term_traversal.o term_util.o termination.o trace.o trace_params.o trans_opt.o transform_llds.o tree.o type_ctor_info.o type_util.o typecheck.o unify_gen.o unify_proc.o unique_modes.o unneeded_code.o unused_args.o value_number.o var_locn.o vn_block.o vn_cost.o vn_debug.o vn_filter.o vn_flush.o vn_order.o vn_table.o vn_temploc.o vn_type.o vn_util.o vn_verify.o  ../main.o ../trace/libmer_trace.a ../browser/libmer_browser.a ../library/libmer_std.a ../runtime/libmer_rt.a ` case none.gc in *.par*.gc*.prof*) echo ../boehm_gc/libpar_gc_prof.a ;; *.par*.gc*)	echo ../boehm_gc/libpar_gc.a ;; *.gc*.prof*)	echo ../boehm_gc/libgc_prof.a ;; *.gc*)		echo ../boehm_gc/libgc.a ;; esac `  -lm   
ml: using grade `none.gc'
gcc -s -o mercury_compile mercury_compile_init.o accumulator.o add_trail_ops.o arg_info.o assertion.o atsort.o base_typeclass_info.o basic_block.o builtin_ops.o bytecode.o bytecode_data.o bytecode_gen.o c_util.o call_gen.o check_typeclass.o clause_to_proc.o code_aux.o code_exprn.o code_gen.o code_info.o code_model.o code_util.o commit_gen.o common.o const_prop.o context.o continuation_info.o cse_detection.o dead_proc_elim.o deforest.o delay_info.o delay_slot.o dense_switch.o dependency_graph.o det_analysis.o det_report.o det_util.o disj_gen.o dnf.o dupelim.o equiv_type.o error_util.o excess.o export.o exprn_aux.o fact_table.o follow_code.o follow_vars.o foreign.o frameopt.o globals.o goal_path.o goal_store.o goal_util.o graph_colour.o handle_options.o higher_order.o hlds_data.o hlds_goal.o hlds_module.o hlds_out.o hlds_pred.o il_peephole.o ilasm.o ilds.o inlining.o inst.o inst_match.o inst_util.o instmap.o intermod.o ite_gen.o jumpopt.o labelopt.o lambda.o layout.o layout_out.o lco.o live_vars.o livemap.o liveness.o ll_pseudo_type_info.o llds.o llds_common.o llds_out.o lookup_switch.o lp.o magic.o magic_util.o make_hlds.o make_tags.o mark_static_terms.o maybe_mlds_to_gcc.o mercury_compile.o mercury_to_goedel.o mercury_to_mercury.o middle_rec.o ml_call_gen.o ml_code_gen.o ml_code_util.o ml_elim_nested.o ml_optimize.o ml_simplify_switch.o ml_string_switch.o ml_switch_gen.o ml_tag_switch.o ml_tailcall.o ml_type_gen.o ml_unify_gen.o ml_util.o mlds.o mlds_to_c.o mlds_to_il.o mlds_to_ilasm.o mlds_to_java.o mode_debug.o mode_errors.o mode_info.o mode_util.o modecheck_call.o modecheck_unify.o modes.o module_qual.o modules.o opt_debug.o opt_util.o optimize.o options.o par_conj_gen.o passes_aux.o pd_cost.o pd_debug.o pd_info.o pd_term.o pd_util.o peephole.o polymorphism.o post_typecheck.o pragma_c_gen.o prog_data.o prog_io.o prog_io_dcg.o prog_io_goal.o prog_io_pragma.o prog_io_typeclass.o prog_io_util.o prog_out.o prog_rep.o prog_util.o pseudo_type_info.o purity.o quantification.o rl.o rl_analyse.o rl_block.o rl_block_opt
.o rl_code.o rl_dump.o rl_exprn.o rl_file.o rl_gen.o rl_info.o rl_key.o rl_liveness.o rl_loop.o rl_opt.o rl_out.o rl_relops.o rl_sort.o rl_stream.o rtti.o rtti_out.o rtti_to_mlds.o saved_vars.o simplify.o special_pred.o stack_layout.o static_term.o store_alloc.o stratify.o string_switch.o switch_detection.o switch_gen.o switch_util.o table_gen.o tag_switch.o term_errors.o term_pass1.o term_pass2.o term_traversal.o term_util.o termination.o trace.o trace_params.o trans_opt.o transform_llds.o tree.o type_ctor_info.o type_util.o typecheck.o unify_gen.o unify_proc.o unique_modes.o unneeded_code.o unused_args.o value_number.o var_locn.o vn_block.o vn_cost.o vn_debug.o vn_filter.o vn_flush.o vn_order.o vn_table.o vn_temploc.o vn_type.o vn_util.o vn_verify.o ../main.o ../trace/libmer_trace.a ../browser/libmer_browser.a ../library/libmer_std.a ../runtime/libmer_rt.a ../boehm_gc/libgc.a -lm -lm |
mdemangle
/usr/bin/ld: Undefined symbols:
_MR_global_pointer
gmake[2]: *** [mercury_compile] Error 1
gmake[1]: *** [compiler] Error 2

.  -    EXTRA_MLFLAGS=-v -- -v in Mmake params yielded

[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% make
MMAKE_DIR=`pwd`/scripts scripts/mmake  MMAKEFLAGS= all 2>&1 | tee make_all.log
cd scripts && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
cd util && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
gc_grade=`scripts/ml --grade none.gc --print-gc-grade`; \
cd boehm_gc && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake  GC_GRADE=$gc_grade
gmake[2]: Nothing to be done for `default_target'.
cd runtime && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
cd library && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
cd browser && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
cd trace && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
gmake[2]: Nothing to be done for `default_target'.
cd compiler && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
MERCURY_C_LIB_DIR=. ../scripts/ml --grade none.gc     --shared --mercury-libs none -v -- -v    -o mercury_compile mercury_compile_init.o \
	accumulator.o add_trail_ops.o arg_info.o assertion.o atsort.o base_typeclass_info.o basic_block.o builtin_ops.o bytecode.o bytecode_data.o bytecode_gen.o c_util.o call_gen.o check_typeclass.o clause_to_proc.o code_aux.o code_exprn.o code_gen.o code_info.o code_model.o code_util.o commit_gen.o common.o const_prop.o context.o continuation_info.o cse_detection.o dead_proc_elim.o deforest.o delay_info.o delay_slot.o dense_switch.o dependency_graph.o det_analysis.o det_report.o det_util.o disj_gen.o dnf.o dupelim.o equiv_type.o error_util.o excess.o export.o exprn_aux.o fact_table.o follow_code.o follow_vars.o foreign.o frameopt.o globals.o goal_path.o goal_store.o goal_util.o graph_colour.o handle_options.o higher_order.o hlds_data.o hlds_goal.o hlds_module.o hlds_out.o hlds_pred.o il_peephole.o ilasm.o ilds.o inlining.o inst.o inst_match.o inst_util.o instmap.o intermod.o ite_gen.o jumpopt.o labelopt.o lambda.o layout.o layout_out.o lco.o live_vars.o livemap.o liveness.o ll_pseudo_type_info.o llds.o llds_common.o llds_out.o lookup_switch.o lp.o magic.o magic_util.o make_hlds.o make_tags.o mark_static_terms.o maybe_mlds_to_gcc.o mercury_compile.o mercury_to_goedel.o mercury_to_mercury.o middle_rec.o ml_call_gen.o ml_code_gen.o ml_code_util.o ml_elim_nested.o ml_optimize.o ml_simplify_switch.o ml_string_switch.o ml_switch_gen.o ml_tag_switch.o ml_tailcall.o ml_type_gen.o ml_unify_gen.o ml_util.o mlds.o mlds_to_c.o mlds_to_il.o mlds_to_ilasm.o mlds_to_java.o mode_debug.o mode_errors.o mode_info.o mode_util.o modecheck_call.o modecheck_unify.o modes.o module_qual.o modules.o opt_debug.o opt_util.o optimize.o options.o par_conj_gen.o passes_aux.o pd_cost.o pd_debug.o pd_info.o pd_term.o pd_util.o peephole.o polymorphism.o post_typecheck.o pragma_c_gen.o prog_data.o prog_io.o prog_io_dcg.o prog_io_goal.o prog_io_pragma.o prog_io_typeclass.o prog_io_util.o prog_out.o prog_rep.o prog_util.o pseudo_type_info.o purity.o quantification.o rl.o rl_analyse.o rl_block.o rl_block_opt.o rl_code.o rl_dump.o rl_exprn.o rl_file.o rl_g
en.o rl_info.o rl_key.o rl_liveness.o rl_loop.o rl_opt.o rl_out.o rl_relops.o rl_sort.o rl_stream.o rtti.o rtti_out.o rtti_to_mlds.o saved_vars.o simplify.o special_pred.o stack_layout.o static_term.o store_alloc.o stratify.o string_switch.o switch_detection.o switch_gen.o switch_util.o table_gen.o tag_switch.o term_errors.o term_pass1.o term_pass2.o term_traversal.o term_util.o termination.o trace.o trace_params.o trans_opt.o transform_llds.o tree.o type_ctor_info.o type_util.o typecheck.o unify_gen.o unify_proc.o unique_modes.o unneeded_code.o unused_args.o value_number.o var_locn.o vn_block.o vn_cost.o vn_debug.o vn_filter.o vn_flush.o vn_order.o vn_table.o vn_temploc.o vn_type.o vn_util.o vn_verify.o  ../main.o ../trace/libmer_trace.a ../browser/libmer_browser.a ../library/libmer_std.a ../runtime/libmer_rt.a ` case none.gc in *.par*.gc*.prof*) echo ../boehm_gc/libpar_gc_prof.a ;; *.par*.gc*)	echo ../boehm_gc/libpar_gc.a ;; *.gc*.prof*)	echo ../boehm_gc/libgc_prof.a ;; *.gc*)		echo ../boehm_gc/libgc.a ;; esac `  -lm   
ml: using grade `none.gc'
gcc -s -v -o mercury_compile mercury_compile_init.o accumulator.o add_trail_ops.o arg_info.o assertion.o atsort.o base_typeclass_info.o basic_block.o builtin_ops.o bytecode.o bytecode_data.o bytecode_gen.o c_util.o call_gen.o check_typeclass.o clause_to_proc.o code_aux.o code_exprn.o code_gen.o code_info.o code_model.o code_util.o commit_gen.o common.o const_prop.o context.o continuation_info.o cse_detection.o dead_proc_elim.o deforest.o delay_info.o delay_slot.o dense_switch.o dependency_graph.o det_analysis.o det_report.o det_util.o disj_gen.o dnf.o dupelim.o equiv_type.o error_util.o excess.o export.o exprn_aux.o fact_table.o follow_code.o follow_vars.o foreign.o frameopt.o globals.o goal_path.o goal_store.o goal_util.o graph_colour.o handle_options.o higher_order.o hlds_data.o hlds_goal.o hlds_module.o hlds_out.o hlds_pred.o il_peephole.o ilasm.o ilds.o inlining.o inst.o inst_match.o inst_util.o instmap.o intermod.o ite_gen.o jumpopt.o labelopt.o lambda.o layout.o layout_out.o lco.o live_vars.o livemap.o liveness.o ll_pseudo_type_info.o llds.o llds_common.o llds_out.o lookup_switch.o lp.o magic.o magic_util.o make_hlds.o make_tags.o mark_static_terms.o maybe_mlds_to_gcc.o mercury_compile.o mercury_to_goedel.o mercury_to_mercury.o middle_rec.o ml_call_gen.o ml_code_gen.o ml_code_util.o ml_elim_nested.o ml_optimize.o ml_simplify_switch.o ml_string_switch.o ml_switch_gen.o ml_tag_switch.o ml_tailcall.o ml_type_gen.o ml_unify_gen.o ml_util.o mlds.o mlds_to_c.o mlds_to_il.o mlds_to_ilasm.o mlds_to_java.o mode_debug.o mode_errors.o mode_info.o mode_util.o modecheck_call.o modecheck_unify.o modes.o module_qual.o modules.o opt_debug.o opt_util.o optimize.o options.o par_conj_gen.o passes_aux.o pd_cost.o pd_debug.o pd_info.o pd_term.o pd_util.o peephole.o polymorphism.o post_typecheck.o pragma_c_gen.o prog_data.o prog_io.o prog_io_dcg.o prog_io_goal.o prog_io_pragma.o prog_io_typeclass.o prog_io_util.o prog_out.o prog_rep.o prog_util.o pseudo_type_info.o purity.o quantification.o rl.o rl_analyse.o rl_block.o rl_block_
opt.o rl_code.o rl_dump.o rl_exprn.o rl_file.o rl_gen.o rl_info.o rl_key.o rl_liveness.o rl_loop.o rl_opt.o rl_out.o rl_relops.o rl_sort.o rl_stream.o rtti.o rtti_out.o rtti_to_mlds.o saved_vars.o simplify.o special_pred.o stack_layout.o static_term.o store_alloc.o stratify.o string_switch.o switch_detection.o switch_gen.o switch_util.o table_gen.o tag_switch.o term_errors.o term_pass1.o term_pass2.o term_traversal.o term_util.o termination.o trace.o trace_params.o trans_opt.o transform_llds.o tree.o type_ctor_info.o type_util.o typecheck.o unify_gen.o unify_proc.o unique_modes.o unneeded_code.o unused_args.o value_number.o var_locn.o vn_block.o vn_cost.o vn_debug.o vn_filter.o vn_flush.o vn_order.o vn_table.o vn_temploc.o vn_type.o vn_util.o vn_verify.o ../main.o ../trace/libmer_trace.a ../browser/libmer_browser.a ../library/libmer_std.a ../runtime/libmer_rt.a ../boehm_gc/libgc.a -lm -lm |
mdemangle
Reading specs from /usr/libexec/gcc/darwin/ppc/2.95.2/specs
Apple Computer, Inc. version gcc-926, based on gcc version 2.95.2 19991024 (release)
 /usr/bin/ld -arch ppc -o mercury_compile -dynamic -s -lcrt1.o mercury_compile_init.o accumulator.o add_trail_ops.o arg_info.o assertion.o atsort.o base_typeclass_info.o basic_block.o builtin_ops.o bytecode.o bytecode_data.o bytecode_gen.o c_util.o call_gen.o check_typeclass.o clause_to_proc.o code_aux.o code_exprn.o code_gen.o code_info.o code_model.o code_util.o commit_gen.o common.o const_prop.o context.o continuation_info.o cse_detection.o dead_proc_elim.o deforest.o delay_info.o delay_slot.o dense_switch.o dependency_graph.o det_analysis.o det_report.o det_util.o disj_gen.o dnf.o dupelim.o equiv_type.o error_util.o excess.o export.o exprn_aux.o fact_table.o follow_code.o follow_vars.o foreign.o frameopt.o globals.o goal_path.o goal_store.o goal_util.o graph_colour.o handle_options.o higher_order.o hlds_data.o hlds_goal.o hlds_module.o hlds_out.o hlds_pred.o il_peephole.o ilasm.o ilds.o inlining.o inst.o inst_match.o inst_util.o instmap.o intermod.o ite_gen.o jumpopt.o labelopt.o lambda.o layout.o layout_out.o lco.o live_vars.o livemap.o liveness.o ll_pseudo_type_info.o llds.o llds_common.o llds_out.o lookup_switch.o lp.o magic.o magic_util.o make_hlds.o make_tags.o mark_static_terms.o maybe_mlds_to_gcc.o mercury_compile.o mercury_to_goedel.o mercury_to_mercury.o middle_rec.o ml_call_gen.o ml_code_gen.o ml_code_util.o ml_elim_nested.o ml_optimize.o ml_simplify_switch.o ml_string_switch.o ml_switch_gen.o ml_tag_switch.o ml_tailcall.o ml_type_gen.o ml_unify_gen.o ml_util.o mlds.o mlds_to_c.o mlds_to_il.o mlds_to_ilasm.o mlds_to_java.o mode_debug.o mode_errors.o mode_info.o mode_util.o modecheck_call.o modecheck_unify.o modes.o module_qual.o modules.o opt_debug.o opt_util.o optimize.o options.o par_conj_gen.o passes_aux.o pd_cost.o pd_debug.o pd_info.o pd_term.o pd_util.o peephole.o polymorphism.o post_typecheck.o pragma_c_gen.o prog_data.o prog_io.o prog_io_dcg.o prog_io_goal.o prog_io_pragma.o prog_io_typeclass.o prog_io_util.o prog_out.o prog_rep.o prog_util.o pseudo_type_info.o purity.o quantification.o rl.o
 rl_analyse.o rl_block.o rl_block_opt.o rl_code.o rl_dump.o rl_exprn.o rl_file.o rl_gen.o rl_info.o rl_key.o rl_liveness.o rl_loop.o rl_opt.o rl_out.o rl_relops.o rl_sort.o rl_stream.o rtti.o rtti_out.o rtti_to_mlds.o saved_vars.o simplify.o special_pred.o stack_layout.o static_term.o store_alloc.o stratify.o string_switch.o switch_detection.o switch_gen.o switch_util.o table_gen.o tag_switch.o term_errors.o term_pass1.o term_pass2.o term_traversal.o term_util.o termination.o trace.o trace_params.o trans_opt.o transform_llds.o tree.o type_ctor_info.o type_util.o typecheck.o unify_gen.o unify_proc.o unique_modes.o unneeded_code.o unused_args.o value_number.o var_locn.o vn_block.o vn_cost.o vn_debug.o vn_filter.o vn_flush.o vn_order.o vn_table.o vn_temploc.o vn_type.o vn_util.o vn_verify.o ../main.o ../trace/libmer_trace.a ../browser/libmer_browser.a ../library/libmer_std.a ../runtime/libmer_rt.a ../boehm_gc/libgc.a -lm -lm -lcc_dynamic -lSystem
/usr/bin/ld: Undefined symbols:
_MR_global_pointer
gmake[2]: *** [mercury_compile] Error 1
gmake[1]: *** [compiler] Error 2
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% 
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list