[m-dev.] /usr/bin/ld: Undefined symbols:_MR_global_pointer _GC_register_dynamic_libraries ___data_start __end _data_start

Terrence Brannon princepawn at earthlink.net
Tue May 1 21:10:58 AEST 2001


I went ahead and removed all references to mercury_dummy.h and
mercury_dummy.c in the code. Then my link step fails as follows:

[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 
make[2]: Nothing to be done for `default_target'.
cd util && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
make[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
MAKEFLAGS=""; export MAKEFLAGS; \
make   -j1 GRADE=none.gc \
	GC_GRADE=gc \
	libgc.a libgc.a \
	a
make[3]: `libgc.a' is up to date.
make[3]: `libgc.a' is up to date.
make[3]: Nothing to be done for `a'.
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 
make[2]: Nothing to be done for `default_target'.
cd browser && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
make[2]: Nothing to be done for `default_target'.
cd trace && PATH=../scripts:../util:$PATH MMAKE_VPATH=. MMAKE_DIR=../scripts ../scripts/mmake 
make[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     -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: can't use -s with input files containg indirect symbols (output file must contain at least global symbols, for maximum stripping use -x)
make[2]: *** [mercury_compile] Error 1
make[1]: *** [compiler] Error 2
[localhost:~/wares/Mercury/mercury-compiler-0.10.1] metaperl% 


A few questions

1- there are close parentheses here with no open parens... 
2- how can I turn off shared libs without reconfiguring and
recompiling everything? I think the reference to -s has to do with
shared libs...
--------------------------------------------------------------------------
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