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
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