GMP version/build problem

246 views
Skip to first unread message

Brandon Barker

unread,
Nov 27, 2014, 5:21:40 PM11/27/14
to ats-lan...@googlegroups.com
Well I hate to post a question today, but I was hoping to have some holiday fun with ATS and GUI programming, necessitating me to get it working on a desktop, and I have been having (unrelated) issues on my desktop systems.
Trying to build on Linux Mint, I seem to get some gmp related errors. I finally built and installed GMP 6 in /usr/local, and tried the following environment variables, but the same error seems to occur:

CFLAGS="-I/usr/local/include/" LDFLAGS="-L/usr/local/lib" make -f Makefile_devl all

...


gcc -I/home/brandon/ats-lang-anairiats-0.2.11/ccomp/runtime/ -I/home/brandon/ats-lang-anairiats-0.2.11/ -I/usr/local/include -c pats_ccomp_emit3_dats.c 
/home/brandon/ats-lang-anairiats-0.2.11/bin/atscc -DATS C3NSTRINTKND=gmpknd -cc pats_ccomp_main.dats
/home/brandon/ats-lang-anairiats-0.2.11/bin/atsopt -DATS C3NSTRINTKND=gmpknd --output pats_ccomp_main_dats.c --dynamic pats_ccomp_main.dats
/home/brandon/ats-lang-anairiats-0.2.11/bin/atscc -I/usr/local/include -c pats_ccomp_main_dats.c
gcc -I/home/brandon/ats-lang-anairiats-0.2.11/ccomp/runtime/ -I/home/brandon/ats-lang-anairiats-0.2.11/ -I/usr/local/include -c pats_ccomp_main_dats.c 
\
  /home/brandon/ats-lang-anairiats-0.2.11/bin/atscc -I/usr/local/include -D_ATS_GCATS -o patsopt pats_main_dats.o pats_error_sats.o pats_error_dats.o pats_intinf_sats.o pats_intinf_dats.o pats_counter_sats.o pats_counter_dats.o pats_utils_sats.o pats_utils_dats.o pats_global_sats.o pats_global_dats.o pats_basics_sats.o pats_basics_dats.o pats_comarg_sats.o pats_comarg_dats.o pats_stamp_sats.o pats_stamp_dats.o pats_symbol_sats.o pats_symbol_dats.o pats_filename_sats.o pats_filename_dats.o pats_filename_reloc_dats.o pats_location_sats.o pats_location_dats.o pats_jsonize_sats.o pats_jsonize_dats.o pats_errmsg_sats.o pats_errmsg_dats.o pats_reader_sats.o pats_reader_dats.o pats_lexbuf_sats.o pats_lexbuf_dats.o pats_lexing_sats.o pats_lexing_dats.o pats_lexing_print_dats.o pats_lexing_error_dats.o pats_lexing_token_dats.o pats_label_sats.o pats_label_dats.o pats_effect_sats.o pats_effect_dats.o pats_fixity_sats.o pats_fixity_prec_dats.o pats_fixity_fxty_dats.o pats_syntax_sats.o pats_syntax_dats.o pats_syntax_print_dats.o pats_depgen_sats.o pats_depgen_dats.o pats_taggen_sats.o pats_taggen_dats.o pats_tokbuf_sats.o pats_tokbuf_dats.o pats_parsing_sats.o pats_parsing_dats.o pats_parsing_error_dats.o pats_parsing_util_dats.o pats_parsing_kwds_dats.o pats_parsing_base_dats.o pats_parsing_e0xp_dats.o pats_parsing_sort_dats.o pats_parsing_staexp_dats.o pats_parsing_p0at_dats.o pats_parsing_dynexp_dats.o pats_parsing_decl_dats.o pats_parsing_toplevel_dats.o pats_symmap_sats.o pats_symmap_dats.o pats_symenv_sats.o pats_symenv_dats.o pats_staexp1_sats.o pats_staexp1_dats.o pats_staexp1_print_dats.o pats_dynexp1_sats.o pats_dynexp1_dats.o pats_dynexp1_print_dats.o pats_trans1_sats.o pats_trans1_env_sats.o pats_trans1_env_dats.o pats_e1xpval_sats.o pats_e1xpval_dats.o pats_e1xpval_error_dats.o pats_trans1_error_dats.o pats_trans1_e0xp_dats.o pats_trans1_effect_dats.o pats_trans1_sort_dats.o pats_trans1_staexp_dats.o pats_trans1_p0at_dats.o pats_trans1_syndef_dats.o pats_trans1_dynexp_dats.o pats_trans1_decl_dats.o pats_staexp2_sats.o pats_staexp2_dats.o pats_stacst2_sats.o pats_stacst2_dats.o pats_staexp2_print_dats.o pats_staexp2_pprint_dats.o pats_staexp2_jsonize_dats.o pats_staexp2_sort_dats.o pats_staexp2_scst_dats.o pats_staexp2_svar_dats.o pats_staexp2_svvar_dats.o pats_staexp2_hole_dats.o pats_staexp2_ctxt_dats.o pats_staexp2_dcon_dats.o pats_staexp2_skexp_dats.o pats_staexp2_szexp_dats.o pats_staexp2_util_sats.o pats_staexp2_util1_dats.o pats_staexp2_util2_dats.o pats_staexp2_util3_dats.o pats_staexp2_error_sats.o pats_staexp2_error_dats.o pats_staexp2_solve_sats.o pats_staexp2_solve_dats.o pats_patcst2_sats.o pats_patcst2_dats.o pats_dynexp2_sats.o pats_dynexp2_dats.o pats_dyncst2_sats.o pats_dyncst2_dats.o pats_dynexp2_print_dats.o pats_dynexp2_jsonize_dats.o pats_dynexp2_dcst_dats.o pats_dynexp2_dvar_dats.o pats_dynexp2_dmac_dats.o pats_dynexp2_util_dats.o pats_trans2_sats.o pats_namespace_sats.o pats_namespace_dats.o pats_trans2_env_sats.o pats_trans2_env_dats.o pats_trans2_error_dats.o pats_trans2_sort_dats.o pats_trans2_staexp_dats.o pats_trans2_p1at_dats.o pats_trans2_dynexp_dats.o pats_trans2_impdec_dats.o pats_trans2_decl_dats.o pats_dynexp3_sats.o pats_dynexp3_dats.o pats_dynexp3_print_dats.o pats_trans3_sats.o pats_trans3_error_dats.o pats_trans3_util_dats.o pats_trans3_env_sats.o pats_trans3_env_dats.o pats_trans3_env_print_dats.o pats_trans3_env_scst_dats.o pats_trans3_env_svar_dats.o pats_trans3_env_termet_dats.o pats_trans3_env_effect_dats.o pats_trans3_env_dvar_dats.o pats_trans3_env_lamlp_dats.o pats_trans3_env_pfman_dats.o pats_trans3_env_lstate_dats.o pats_dmacro2_sats.o pats_dmacro2_dats.o pats_dmacro2_print_dats.o pats_dmacro2_eval0_dats.o pats_dmacro2_eval1_dats.o pats_trans3_p2at_dats.o pats_trans3_patcon_dats.o pats_trans3_syncst_dats.o pats_trans3_dynexp_up_dats.o pats_trans3_dynexp_dn_dats.o pats_trans3_appsym_dats.o pats_trans3_caseof_dats.o pats_trans3_selab_dats.o pats_trans3_ptrof_dats.o pats_trans3_viewat_dats.o pats_trans3_deref_dats.o pats_trans3_assgn_dats.o pats_trans3_xchng_dats.o pats_trans3_lvalres_dats.o pats_trans3_fldfrat_dats.o pats_trans3_looping_dats.o pats_trans3_decl_dats.o pats_lintprgm_sats.o pats_lintprgm_dats.o pats_lintprgm_print_dats.o pats_lintprgm_myint_dats.o pats_lintprgm_solve_dats.o pats_constraint3_sats.o pats_constraint3_dats.o pats_constraint3_init_dats.o pats_constraint3_print_dats.o pats_constraint3_jsonize_dats.o pats_constraint3_simplify_dats.o pats_constraint3_icnstr_dats.o pats_constraint3_solve_dats.o pats_histaexp_sats.o pats_histaexp_dats.o pats_histaexp_print_dats.o pats_histaexp_funlab_dats.o pats_hidynexp_sats.o pats_hidynexp_dats.o pats_hidynexp_print_dats.o pats_hidynexp_util_dats.o pats_typerase_sats.o pats_typerase_error_dats.o pats_typerase_staexp_dats.o pats_typerase_dynexp_dats.o pats_typerase_decl_dats.o pats_ccomp_sats.o pats_ccomp_dats.o pats_ccomp_print_dats.o pats_ccomp_hitype_dats.o pats_ccomp_tmplab_dats.o pats_ccomp_tmpvar_dats.o pats_ccomp_d2env_dats.o pats_ccomp_funlab_dats.o pats_ccomp_funent_dats.o pats_ccomp_util_dats.o pats_ccomp_ccompenv_dats.o pats_ccomp_instrseq_dats.o pats_ccomp_hipat_dats.o pats_ccomp_dynexp_dats.o pats_ccomp_caseof_dats.o pats_ccomp_claulst_dats.o pats_ccomp_lazyeval_dats.o pats_ccomp_trywith_dats.o pats_ccomp_looping_dats.o pats_ccomp_decl_dats.o pats_ccomp_subst_dats.o pats_ccomp_environ_dats.o pats_ccomp_template_dats.o pats_ccomp_emit_dats.o pats_ccomp_emit2_dats.o pats_ccomp_emit3_dats.o pats_ccomp_main_dats.o  -lats -lgmp
gcc -I/home/brandon/ats-lang-anairiats-0.2.11/ -I/home/brandon/ats-lang-anairiats-0.2.11/ccomp/runtime/ -L/home/brandon/ats-lang-anairiats-0.2.11/ccomp/lib64/ /home/brandon/ats-lang-anairiats-0.2.11/ccomp/runtime/ats_prelude.c -I/usr/local/include -D_ATS_GCATS -o patsopt pats_main_dats.o pats_error_sats.o pats_error_dats.o pats_intinf_sats.o pats_intinf_dats.o pats_counter_sats.o pats_counter_dats.o pats_utils_sats.o pats_utils_dats.o pats_global_sats.o pats_global_dats.o pats_basics_sats.o pats_basics_dats.o pats_comarg_sats.o pats_comarg_dats.o pats_stamp_sats.o pats_stamp_dats.o pats_symbol_sats.o pats_symbol_dats.o pats_filename_sats.o pats_filename_dats.o pats_filename_reloc_dats.o pats_location_sats.o pats_location_dats.o pats_jsonize_sats.o pats_jsonize_dats.o pats_errmsg_sats.o pats_errmsg_dats.o pats_reader_sats.o pats_reader_dats.o pats_lexbuf_sats.o pats_lexbuf_dats.o pats_lexing_sats.o pats_lexing_dats.o pats_lexing_print_dats.o pats_lexing_error_dats.o pats_lexing_token_dats.o pats_label_sats.o pats_label_dats.o pats_effect_sats.o pats_effect_dats.o pats_fixity_sats.o pats_fixity_prec_dats.o pats_fixity_fxty_dats.o pats_syntax_sats.o pats_syntax_dats.o pats_syntax_print_dats.o pats_depgen_sats.o pats_depgen_dats.o pats_taggen_sats.o pats_taggen_dats.o pats_tokbuf_sats.o pats_tokbuf_dats.o pats_parsing_sats.o pats_parsing_dats.o pats_parsing_error_dats.o pats_parsing_util_dats.o pats_parsing_kwds_dats.o pats_parsing_base_dats.o pats_parsing_e0xp_dats.o pats_parsing_sort_dats.o pats_parsing_staexp_dats.o pats_parsing_p0at_dats.o pats_parsing_dynexp_dats.o pats_parsing_decl_dats.o pats_parsing_toplevel_dats.o pats_symmap_sats.o pats_symmap_dats.o pats_symenv_sats.o pats_symenv_dats.o pats_staexp1_sats.o pats_staexp1_dats.o pats_staexp1_print_dats.o pats_dynexp1_sats.o pats_dynexp1_dats.o pats_dynexp1_print_dats.o pats_trans1_sats.o pats_trans1_env_sats.o pats_trans1_env_dats.o pats_e1xpval_sats.o pats_e1xpval_dats.o pats_e1xpval_error_dats.o pats_trans1_error_dats.o pats_trans1_e0xp_dats.o pats_trans1_effect_dats.o pats_trans1_sort_dats.o pats_trans1_staexp_dats.o pats_trans1_p0at_dats.o pats_trans1_syndef_dats.o pats_trans1_dynexp_dats.o pats_trans1_decl_dats.o pats_staexp2_sats.o pats_staexp2_dats.o pats_stacst2_sats.o pats_stacst2_dats.o pats_staexp2_print_dats.o pats_staexp2_pprint_dats.o pats_staexp2_jsonize_dats.o pats_staexp2_sort_dats.o pats_staexp2_scst_dats.o pats_staexp2_svar_dats.o pats_staexp2_svvar_dats.o pats_staexp2_hole_dats.o pats_staexp2_ctxt_dats.o pats_staexp2_dcon_dats.o pats_staexp2_skexp_dats.o pats_staexp2_szexp_dats.o pats_staexp2_util_sats.o pats_staexp2_util1_dats.o pats_staexp2_util2_dats.o pats_staexp2_util3_dats.o pats_staexp2_error_sats.o pats_staexp2_error_dats.o pats_staexp2_solve_sats.o pats_staexp2_solve_dats.o pats_patcst2_sats.o pats_patcst2_dats.o pats_dynexp2_sats.o pats_dynexp2_dats.o pats_dyncst2_sats.o pats_dyncst2_dats.o pats_dynexp2_print_dats.o pats_dynexp2_jsonize_dats.o pats_dynexp2_dcst_dats.o pats_dynexp2_dvar_dats.o pats_dynexp2_dmac_dats.o pats_dynexp2_util_dats.o pats_trans2_sats.o pats_namespace_sats.o pats_namespace_dats.o pats_trans2_env_sats.o pats_trans2_env_dats.o pats_trans2_error_dats.o pats_trans2_sort_dats.o pats_trans2_staexp_dats.o pats_trans2_p1at_dats.o pats_trans2_dynexp_dats.o pats_trans2_impdec_dats.o pats_trans2_decl_dats.o pats_dynexp3_sats.o pats_dynexp3_dats.o pats_dynexp3_print_dats.o pats_trans3_sats.o pats_trans3_error_dats.o pats_trans3_util_dats.o pats_trans3_env_sats.o pats_trans3_env_dats.o pats_trans3_env_print_dats.o pats_trans3_env_scst_dats.o pats_trans3_env_svar_dats.o pats_trans3_env_termet_dats.o pats_trans3_env_effect_dats.o pats_trans3_env_dvar_dats.o pats_trans3_env_lamlp_dats.o pats_trans3_env_pfman_dats.o pats_trans3_env_lstate_dats.o pats_dmacro2_sats.o pats_dmacro2_dats.o pats_dmacro2_print_dats.o pats_dmacro2_eval0_dats.o pats_dmacro2_eval1_dats.o pats_trans3_p2at_dats.o pats_trans3_patcon_dats.o pats_trans3_syncst_dats.o pats_trans3_dynexp_up_dats.o pats_trans3_dynexp_dn_dats.o pats_trans3_appsym_dats.o pats_trans3_caseof_dats.o pats_trans3_selab_dats.o pats_trans3_ptrof_dats.o pats_trans3_viewat_dats.o pats_trans3_deref_dats.o pats_trans3_assgn_dats.o pats_trans3_xchng_dats.o pats_trans3_lvalres_dats.o pats_trans3_fldfrat_dats.o pats_trans3_looping_dats.o pats_trans3_decl_dats.o pats_lintprgm_sats.o pats_lintprgm_dats.o pats_lintprgm_print_dats.o pats_lintprgm_myint_dats.o pats_lintprgm_solve_dats.o pats_constraint3_sats.o pats_constraint3_dats.o pats_constraint3_init_dats.o pats_constraint3_print_dats.o pats_constraint3_jsonize_dats.o pats_constraint3_simplify_dats.o pats_constraint3_icnstr_dats.o pats_constraint3_solve_dats.o pats_histaexp_sats.o pats_histaexp_dats.o pats_histaexp_print_dats.o pats_histaexp_funlab_dats.o pats_hidynexp_sats.o pats_hidynexp_dats.o pats_hidynexp_print_dats.o pats_hidynexp_util_dats.o pats_typerase_sats.o pats_typerase_error_dats.o pats_typerase_staexp_dats.o pats_typerase_dynexp_dats.o pats_typerase_decl_dats.o pats_ccomp_sats.o pats_ccomp_dats.o pats_ccomp_print_dats.o pats_ccomp_hitype_dats.o pats_ccomp_tmplab_dats.o pats_ccomp_tmpvar_dats.o pats_ccomp_d2env_dats.o pats_ccomp_funlab_dats.o pats_ccomp_funent_dats.o pats_ccomp_util_dats.o pats_ccomp_ccompenv_dats.o pats_ccomp_instrseq_dats.o pats_ccomp_hipat_dats.o pats_ccomp_dynexp_dats.o pats_ccomp_caseof_dats.o pats_ccomp_claulst_dats.o pats_ccomp_lazyeval_dats.o pats_ccomp_trywith_dats.o pats_ccomp_looping_dats.o pats_ccomp_decl_dats.o pats_ccomp_subst_dats.o pats_ccomp_environ_dats.o pats_ccomp_template_dats.o pats_ccomp_emit_dats.o pats_ccomp_emit2_dats.o pats_ccomp_emit3_dats.o pats_ccomp_main_dats.o -lats -lgmp /home/brandon/ats-lang-anairiats-0.2.11/ccomp/runtime/GCATS/gc.o 
pats_intinf_dats.o: In function `atslib_fprint_mpz':
pats_intinf_dats.c:(.text+0x688): undefined reference to `atslib_mpz_out_str_exn'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2edats__staload':
pats_intinf_dats.c:(.text+0x17fb): undefined reference to `ATS_2d0_2e2_2e11_2libc_2SATS_2gmp_2esats__staload'
pats_lintprgm_myint_dats.o: In function `atslib_fprint_mpz':
pats_lintprgm_myint_dats.c:(.text+0x49d): undefined reference to `atslib_mpz_out_str_exn'
pats_lintprgm_myint_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_lintprgm_myint_2edats__staload':
pats_lintprgm_myint_dats.c:(.text+0xa96): undefined reference to `ATS_2d0_2e2_2e11_2libc_2SATS_2gmp_2esats__staload'
pats_constraint3_solve_dats.o: In function `atslib_fprint_mpz':
pats_constraint3_solve_dats.c:(.text+0x7b1): undefined reference to `atslib_mpz_out_str_exn'
pats_constraint3_solve_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__staload':
pats_constraint3_solve_dats.c:(.text+0x6cd6): undefined reference to `ATS_2d0_2e2_2e11_2libc_2SATS_2gmp_2esats__staload'
collect2: error: ld returned 1 exit status
Exit: [gcc] failed.
make[1]: *** [patsopt] Error 1
make[1]: Leaving directory `/home/brandon/ATS-Postiats/src'
make: *** [src_patsopt] Error 2


I finally realized I should instead be setting LIBGMP instead of LDFLAGS (after inspecting src/Makefile). Setting accordingly, I now get a new error, which makes me think I should perhaps be using a particular version of GMP?:

... omitted  ... main_dats.o -lats -L/usr/local/lib /home/brandon/ats-lang-anairiats-0.2.11/ccomp/runtime/GCATS/gc.o 
pats_intinf_dats.o: In function `atslib_mpz_init_set_str_exn':
pats_intinf_dats.c:(.text+0x522): undefined reference to `__gmpz_init_set_str'
pats_intinf_dats.o: In function `atslib_mpz_neg1':
pats_intinf_dats.c:(.text+0x568): undefined reference to `__gmpz_neg'
pats_intinf_dats.o: In function `atslib_mpz_add2_mpz':
pats_intinf_dats.c:(.text+0x592): undefined reference to `__gmpz_add'
pats_intinf_dats.o: In function `atslib_mpz_add2_lint':
pats_intinf_dats.c:(.text+0x5c3): undefined reference to `__gmpz_add_ui'
pats_intinf_dats.c:(.text+0x5e2): undefined reference to `__gmpz_sub_ui'
pats_intinf_dats.o: In function `atslib_mpz_sub2_mpz':
pats_intinf_dats.c:(.text+0x60c): undefined reference to `__gmpz_sub'
pats_intinf_dats.o: In function `atslib_mpz_mul2_mpz':
pats_intinf_dats.c:(.text+0x636): undefined reference to `__gmpz_mul'
pats_intinf_dats.o: In function `atslib_mpz_mul2_lint':
pats_intinf_dats.c:(.text+0x660): undefined reference to `__gmpz_mul_si'
pats_intinf_dats.o: In function `atslib_fprint_mpz':
pats_intinf_dats.c:(.text+0x688): undefined reference to `atslib_mpz_out_str_exn'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__intinf_make_int':
pats_intinf_dats.c:(.text+0x6c1): undefined reference to `__gmpz_init_set_si'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__intinf_make_size':
pats_intinf_dats.c:(.text+0x70c): undefined reference to `__gmpz_init_set_ui'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__intinf_get_int':
pats_intinf_dats.c:(.text+0x917): undefined reference to `__gmpz_get_si'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__compare_intinf_int':
pats_intinf_dats.c:(.text+0xb95): undefined reference to `__gmpz_cmp_si'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__compare_intinf_intinf':
pats_intinf_dats.c:(.text+0xbd0): undefined reference to `__gmpz_cmp'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__neg_intinf':
pats_intinf_dats.c:(.text+0xc15): undefined reference to `__gmpz_init_set'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__add_intinf_int':
pats_intinf_dats.c:(.text+0xc77): undefined reference to `__gmpz_init_set'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__add_intinf_intinf':
pats_intinf_dats.c:(.text+0xd15): undefined reference to `__gmpz_init_set'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__sub_intinf_intinf':
pats_intinf_dats.c:(.text+0xd87): undefined reference to `__gmpz_init_set'
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2esats__mul_intinf_int':
pats_intinf_dats.c:(.text+0xdf0): undefined reference to `__gmpz_init_set'
pats_intinf_dats.o:pats_intinf_dats.c:(.text+0xe8e): more undefined references to `__gmpz_init_set' follow
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2edats__staload':
pats_intinf_dats.c:(.text+0x17fb): undefined reference to `ATS_2d0_2e2_2e11_2libc_2SATS_2gmp_2esats__staload'
pats_intinf_dats.o: In function `patsopt_intinf_initialize':
pats_intinf_dats.c:(.text+0x18ac): undefined reference to `__gmp_set_memory_functions'
pats_lintprgm_myint_dats.o: In function `atslib_mpz_neg1':
pats_lintprgm_myint_dats.c:(.text+0x3a7): undefined reference to `__gmpz_neg'
pats_lintprgm_myint_dats.o: In function `atslib_mpz_add2_mpz':
pats_lintprgm_myint_dats.c:(.text+0x3d1): undefined reference to `__gmpz_add'
pats_lintprgm_myint_dats.o: In function `atslib_mpz_add2_lint':
pats_lintprgm_myint_dats.c:(.text+0x402): undefined reference to `__gmpz_add_ui'
pats_lintprgm_myint_dats.c:(.text+0x421): undefined reference to `__gmpz_sub_ui'
pats_lintprgm_myint_dats.o: In function `atslib_mpz_sub2_mpz':
pats_lintprgm_myint_dats.c:(.text+0x44b): undefined reference to `__gmpz_sub'
pats_lintprgm_myint_dats.o: In function `atslib_mpz_mul2_mpz':
pats_lintprgm_myint_dats.c:(.text+0x475): undefined reference to `__gmpz_mul'
pats_lintprgm_myint_dats.o: In function `atslib_fprint_mpz':
pats_lintprgm_myint_dats.c:(.text+0x49d): undefined reference to `atslib_mpz_out_str_exn'
pats_lintprgm_myint_dats.o: In function `myint_make_int_02226_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x504): undefined reference to `__gmpz_init_set_si'
pats_lintprgm_myint_dats.o: In function `myint_make_intinf_02227_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x557): undefined reference to `__gmpz_init_set'
pats_lintprgm_myint_dats.o: In function `myint_copy_02229_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x5aa): undefined reference to `__gmpz_init_set'
pats_lintprgm_myint_dats.o: In function `myint_free_02228_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x5e0): undefined reference to `__gmpz_clear'
pats_lintprgm_myint_dats.o: In function `neg1_myint_02231_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x653): undefined reference to `__gmpz_init'
pats_lintprgm_myint_dats.c:(.text+0x66e): undefined reference to `__gmpz_neg'
pats_lintprgm_myint_dats.o: In function `mul10_myint_myint_02236_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x7c8): undefined reference to `__gmpz_mul'
pats_lintprgm_myint_dats.o: In function `mul11_myint_myint_02237_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x808): undefined reference to `__gmpz_init'
pats_lintprgm_myint_dats.c:(.text+0x82f): undefined reference to `__gmpz_mul'
pats_lintprgm_myint_dats.o: In function `div01_myint_myint_02238_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x88c): undefined reference to `__gmpz_tdiv_q'
pats_lintprgm_myint_dats.o: In function `ediv01_myint_myint_02240_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x8e1): undefined reference to `__gmpz_divexact'
pats_lintprgm_myint_dats.o: In function `mod01_myint_myint_02241_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x936): undefined reference to `__gmpz_mod'
pats_lintprgm_myint_dats.o: In function `mod11_myint_myint_02242_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x976): undefined reference to `__gmpz_init'
pats_lintprgm_myint_dats.c:(.text+0x99d): undefined reference to `__gmpz_mod'
pats_lintprgm_myint_dats.o: In function `gcd01_myint_myint_02243_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0x9fa): undefined reference to `__gmpz_gcd'
pats_lintprgm_myint_dats.o: In function `compare_myint_int_02250_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0xa34): undefined reference to `__gmpz_cmp_si'
pats_lintprgm_myint_dats.o: In function `compare_myint_myint_02255_gmpknd':
pats_lintprgm_myint_dats.c:(.text+0xa6f): undefined reference to `__gmpz_cmp'
pats_lintprgm_myint_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_lintprgm_myint_2edats__staload':
pats_lintprgm_myint_dats.c:(.text+0xa96): undefined reference to `ATS_2d0_2e2_2e11_2libc_2SATS_2gmp_2esats__staload'
pats_constraint3_solve_dats.o: In function `atslib_mpz_neg1':
pats_constraint3_solve_dats.c:(.text+0x6bb): undefined reference to `__gmpz_neg'
pats_constraint3_solve_dats.o: In function `atslib_mpz_add2_mpz':
pats_constraint3_solve_dats.c:(.text+0x6e5): undefined reference to `__gmpz_add'
pats_constraint3_solve_dats.o: In function `atslib_mpz_add2_lint':
pats_constraint3_solve_dats.c:(.text+0x716): undefined reference to `__gmpz_add_ui'
pats_constraint3_solve_dats.c:(.text+0x735): undefined reference to `__gmpz_sub_ui'
pats_constraint3_solve_dats.o: In function `atslib_mpz_sub2_mpz':
pats_constraint3_solve_dats.c:(.text+0x75f): undefined reference to `__gmpz_sub'
pats_constraint3_solve_dats.o: In function `atslib_mpz_mul2_mpz':
pats_constraint3_solve_dats.c:(.text+0x789): undefined reference to `__gmpz_mul'
pats_constraint3_solve_dats.o: In function `atslib_fprint_mpz':
pats_constraint3_solve_dats.c:(.text+0x7b1): undefined reference to `atslib_mpz_out_str_exn'
pats_constraint3_solve_dats.o: In function `myint_make_int_04594_gmpknd':
pats_constraint3_solve_dats.c:(.text+0x829): undefined reference to `__gmpz_init_set_si'
pats_constraint3_solve_dats.o: In function `myint_make_intinf_04595_gmpknd':
pats_constraint3_solve_dats.c:(.text+0x87c): undefined reference to `__gmpz_init_set'
pats_constraint3_solve_dats.o: In function `myint_copy_04597_gmpknd':
pats_constraint3_solve_dats.c:(.text+0x8cf): undefined reference to `__gmpz_init_set'
pats_constraint3_solve_dats.o: In function `myint_free_04596_gmpknd':
pats_constraint3_solve_dats.c:(.text+0x905): undefined reference to `__gmpz_clear'
pats_constraint3_solve_dats.o: In function `neg1_myint_04599_gmpknd':
pats_constraint3_solve_dats.c:(.text+0x978): undefined reference to `__gmpz_init'
pats_constraint3_solve_dats.c:(.text+0x993): undefined reference to `__gmpz_neg'
pats_constraint3_solve_dats.o: In function `mul10_myint_myint_04604_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xaed): undefined reference to `__gmpz_mul'
pats_constraint3_solve_dats.o: In function `mul11_myint_myint_04605_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xb2d): undefined reference to `__gmpz_init'
pats_constraint3_solve_dats.c:(.text+0xb54): undefined reference to `__gmpz_mul'
pats_constraint3_solve_dats.o: In function `div01_myint_myint_04606_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xbb1): undefined reference to `__gmpz_tdiv_q'
pats_constraint3_solve_dats.o: In function `ediv01_myint_myint_04608_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xc06): undefined reference to `__gmpz_divexact'
pats_constraint3_solve_dats.o: In function `mod01_myint_myint_04609_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xc5b): undefined reference to `__gmpz_mod'
pats_constraint3_solve_dats.o: In function `mod11_myint_myint_04610_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xc9b): undefined reference to `__gmpz_init'
pats_constraint3_solve_dats.c:(.text+0xcc2): undefined reference to `__gmpz_mod'
pats_constraint3_solve_dats.o: In function `gcd01_myint_myint_04611_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xd1f): undefined reference to `__gmpz_gcd'
pats_constraint3_solve_dats.o: In function `compare_myint_int_04618_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xd59): undefined reference to `__gmpz_cmp_si'
pats_constraint3_solve_dats.o: In function `compare_myint_myint_04623_gmpknd':
pats_constraint3_solve_dats.c:(.text+0xd94): undefined reference to `__gmpz_cmp'
pats_constraint3_solve_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__staload':
pats_constraint3_solve_dats.c:(.text+0x6cd6): undefined reference to `ATS_2d0_2e2_2e11_2libc_2SATS_2gmp_2esats__staload'
collect2: error: ld returned 1 exit status
Exit: [gcc] failed.
make[1]: *** [patsopt] Error 1
make[1]: Leaving directory `/home/brandon/ATS-Postiats/src'
make: *** [src_patsopt] Error 2


Hongwei Xi

unread,
Nov 27, 2014, 8:51:16 PM11/27/14
to ats-lan...@googlegroups.com
I suspect some issues with your GMP setup/build.

You should be able to change 'gmpkind' to 'intkind' in $PATSHOME/src/Makefile to bypass the problem.

--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at http://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/f6f23f57-9eb9-4b98-a7d4-72b3946fc28c%40googlegroups.com.

Barry Schwartz

unread,
Nov 27, 2014, 9:41:34 PM11/27/14
to ats-lan...@googlegroups.com
The Release notes imply very little interface change. For what it is
worth, I upgraded my GMP on Gentoo to see if I had a problem and
rebuilt ATS from Git with no problem. :)

Brandon Barker

unread,
Nov 27, 2014, 11:04:51 PM11/27/14
to ats-lan...@googlegroups.com
That did the trick. I've been trying to install ATS2 off and on for several months on this system without luck, and I suspect the problem is usually GMP related.

Brandon Barker

unread,
Jun 11, 2015, 11:22:15 PM6/11/15
to ats-lang-users
I saw some gmp related discussion recently, so I thought this might be a good time to ask in case I do want to use gmp soon ... I still seem to have gmp issues (using Ubuntu with latest ATS from git). Does anyone else succeed on a recent Ubuntu system?

The error:

gcc -I/home/brandon/ats-lang-anairiats-0.2.12/ccomp/runtime/ -I/home/brandon/ats-lang-anairiats-0.2.12/ -g -O2 -c pats_ccomp_main_dats.c
\
  /home/brandon/ats-lang-anairiats-0.2.12/bin/atscc -g -O2  -o patsopt pats_main_dats.o 

//...

ats_ccomp_emit2_dats.o pats_ccomp_emit3_dats.o pats_ccomp_main_dats.o -lats -lgmp
pats_intinf_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_intinf_2edats__staload':
/home/brandon/ATS-Postiats/src/pats_intinf_dats.c:1544: undefined reference to `ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload'
pats_intinf_dats.o: In function `atslib_fprint_mpz':
/home/brandon/ats-lang-anairiats-0.2.12/libc/CATS/gmp.cats:670: undefined reference to `atslib_mpz_out_str_exn'
pats_lintprgm_myint_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_lintprgm_myint_2edats__staload':
/home/brandon/ATS-Postiats/src/pats_lintprgm_myint_dats.c:598: undefined reference to `ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload'
pats_constraint3_solve_dats.o: In function `_2home_2brandon_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__staload':
/home/brandon/ATS-Postiats/src/pats_constraint3_solve_dats.c:7865: undefined reference to `ATS_2d0_2e2_2e12_2libc_2SATS_2gmp_2esats__staload'
collect2: error: ld returned 1 exit status
Exit: [gcc] failed.
make[1]: *** [patsopt] Error 1
make[1]: Leaving directory `/home/brandon/ATS-Postiats/src'
make: *** [src_patsopt] Error 2


Some config:

brandon@ubuntu:~/ATS-Postiats$ echo $ATSHOME
/home/brandon/ats-lang-anairiats-0.2.12
brandon@ubuntu:~/ATS-Postiats$ echo $PATSHOME
/home/brandon/ATS-Postiats
brandon@ubuntu:~/ATS-Postiats$ echo $ATSHOMERELOC
ATS-0.2.12
brandon@ubuntu:~/ATS-Postiats$ echo $PATSHOMERELOC
/home/brandon/ATS-Postiats-contrib


brandon@ubuntu:~/ATS-Postiats$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"


brandon@ubuntu:~/ATS-Postiats$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)


$ apt --installed list | grep gmp

libgmp-dev/trusty,now 2:5.1.3+dfsg-1ubuntu1 amd64 [installed]
libgmp10/trusty,now 2:5.1.3+dfsg-1ubuntu1 amd64 [installed,automatic]
libgmpxx4ldbl/trusty,now 2:5.1.3+dfsg-1ubuntu1 amd64 [installed,automatic]




Hongwei Xi

unread,
Jun 11, 2015, 11:43:03 PM6/11/15
to ats-lan...@googlegroups.com
I have no problem doing it on Cloud9 (https://c9.io).

Here is the version of Ubuntu being currently supported on Cloud9:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"

Brandon Barker

unread,
Jun 12, 2015, 12:09:47 AM6/12/15
to ats-lang-users
Thanks - I may have to try cloud9 and see if I can discern a difference.

Brandon Barker

unread,
Jun 12, 2015, 11:56:48 AM6/12/15
to ats-lang-users
I narrowed it down slightly after looking at your cloud9 install script; with ATS2/github the build fails as mentioned with: make -f Makefile_devl all

I used ATS2/sf.net and ran configure && make and all was well.

By the way, would you mind if I added z3 installation (from git) to your script? It is nice to use on any ubuntu system.
--
Brandon Barker
brandon...@gmail.com

gmhwxi

unread,
Jun 12, 2015, 12:36:33 PM6/12/15
to ats-lan...@googlegroups.com


On Friday, June 12, 2015 at 11:56:48 AM UTC-4, Brandon Barker wrote:
I narrowed it down slightly after looking at your cloud9 install script; with ATS2/github the build fails as mentioned with: make -f Makefile_devl all

On Cloud9, "make -f Makefile_devl" works as well.
 
I used ATS2/sf.net and ran configure && make and all was well.

By the way, would you mind if I added z3 installation (from git) to your script? It is nice to use on any ubuntu system.

 I renamed the gist file 'C9-ATS2-install.sh'. Please add the lines needed for installing Z3.

...

Yannick Duchêne

unread,
Jun 13, 2015, 4:14:19 AM6/13/15
to ats-lan...@googlegroups.com


Le vendredi 12 juin 2015 05:22:15 UTC+2, Brandon Barker a écrit :
I saw some gmp related discussion recently, so I thought this might be a good time to ask in case I do want to use gmp soon ... I still seem to have gmp issues (using Ubuntu with latest ATS from git). Does anyone else succeed on a recent Ubuntu system?

It's OK for me with libgmp-dev which end to depends on libgmp10 version 2:5.1.3+dfsg-1ubuntu.
Reply all
Reply to author
Forward
0 new messages