mit-scheme on x86-64 Ubuntu Hardy Haron
April 13, 2010 at 9:33 am | Posted in Uncategorized | 8 CommentsFor some reason mit-scheme (my preferred lisp interpreter) is not available as a package on x86-64 Ubuntu 8.04 Hardy Haron. So I tried manually compiling it myself and got this error:
gcc -o scheme -export-dynamic artutl.o avltree.o bkpt.o bignum.o bigprm.o bitstr.o boot.o char.o daemon.o debug.o dfloat.o error.o extern.o fasdump.o fasl.o fasload.o fixnum.o flonum.o gcloop.o generic.o hooks.o hunk.o intern.o interp.o intprm.o list.o lookprm.o lookup.o memmag.o missing.o obstack.o option.o osscheme.o ostty.o outf.o prim.o primutl.o ptrvec.o purify.o purutl.o regex.o rgxprim.o step.o storage.o string.o syntax.o sysprim.o term.o transact.o tterm.o utabmd.o utils.o vector.o wind.o prosenv.o prosfile.o prosfs.o prosio.o prosproc.o prospty.o prosterm.o prostty.o pruxsock.o intext.o pruxenv.o pruxfs.o pruxio.o ux.o uxctty.o uxenv.o uxfile.o uxfs.o uxio.o uxproc.o uxsig.o uxsock.o uxterm.o uxtop.o uxtrap.o uxtty.o uxutil.o cmpauxmd.o termcap.o tparam.o pruxdld.o cmpint.o cmpintmd.o comutl.o usrdef.o -ldl -lm
cmpint.o: In function `comutil_return_to_interpreter’:
cmpint.c:(.text+0x1f3): undefined reference to `interface_to_C’
cmpint.o: In function `comutil_operator_1_0_trap’:
cmpint.c:(.text+0×217): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_operator_2_0_trap’:
cmpint.c:(.text+0×257): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_operator_2_1_trap’:
cmpint.c:(.text+0x2a7): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_operator_3_0_trap’:
cmpint.c:(.text+0x2f7): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_operator_3_1_trap’:
cmpint.c:(.text+0×347): undefined reference to `interface_to_scheme’
cmpint.o:cmpint.c:(.text+0×397): more undefined references to `interface_to_scheme’ follow
cmpint.o: In function `return_to_compiled_code’:
cmpint.c:(.text+0×939): undefined reference to `C_to_interface’
cmpint.o: In function `comutil_primitive_error’:
cmpint.c:(.text+0x9bb): undefined reference to `interface_to_C’
cmpint.o: In function `compiler_interrupt_common’:
cmpint.c:(.text+0xe0d): undefined reference to `interface_to_C’
cmpint.o: In function `comp_unassigned_p_trap_restart’:
cmpint.c:(.text+0×1045): undefined reference to `C_to_interface’
cmpint.o: In function `comp_safe_lookup_trap_restart’:
cmpint.c:(.text+0×1165): undefined reference to `C_to_interface’
cmpint.o: In function `comp_lookup_trap_restart’:
cmpint.c:(.text+0×1285): undefined reference to `C_to_interface’
cmpint.o: In function `comp_assignment_trap_restart’:
cmpint.c:(.text+0x13b5): undefined reference to `C_to_interface’
cmpint.o: In function `comutil_link’:
cmpint.c:(.text+0x1a4a): undefined reference to `interface_to_C’
cmpint.c:(.text+0x1a6d): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_primitive_lexpr_apply’:
cmpint.c:(.text+0x1b29): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_primitive_apply’:
cmpint.c:(.text+0x1cad): undefined reference to `interface_to_scheme’
cmpint.o: In function `comp_op_lookup_trap_restart’:
cmpint.c:(.text+0×2164): undefined reference to `C_to_interface’
cmpint.o: In function `comutil_unassigned_p_trap’:
cmpint.c:(.text+0×2342): undefined reference to `interface_to_C’
cmpint.c:(.text+0×2375): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_safe_lookup_trap’:
cmpint.c:(.text+0x24b2): undefined reference to `interface_to_C’
cmpint.c:(.text+0x24e5): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_lookup_trap’:
cmpint.c:(.text+0×2622): undefined reference to `interface_to_C’
cmpint.c:(.text+0×2655): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_assignment_trap’:
cmpint.c:(.text+0x27af): undefined reference to `interface_to_C’
cmpint.c:(.text+0x27e2): undefined reference to `interface_to_scheme’
cmpint.o: In function `comp_link_caches_restart’:
cmpint.c:(.text+0x29be): undefined reference to `C_to_interface’
cmpint.o: In function `comutil_lexpr_apply’:
cmpint.c:(.text+0x2c86): undefined reference to `interface_to_C’
cmpint.c:(.text+0x2cdc): undefined reference to `interface_to_C’
cmpint.c:(.text+0x2ceb): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_apply’:
cmpint.c:(.text+0x2ff9): undefined reference to `interface_to_C’
cmpint.c:(.text+0x309d): undefined reference to `interface_to_C’
cmpint.c:(.text+0×3116): undefined reference to `interface_to_C’
cmpint.c:(.text+0×3159): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_operator_lookup_trap’:
cmpint.c:(.text+0×3444): undefined reference to `interface_to_C’
cmpint.o: In function `comutil_reflect_to_interface’:
cmpint.c:(.text+0×3503): undefined reference to `interface_to_C’
cmpint.c:(.text+0×3557): undefined reference to `interface_to_C’
cmpint.c:(.text+0x35eb): undefined reference to `interface_to_scheme’
cmpint.c:(.text+0×3625): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_cache_lookup_apply’:
cmpint.c:(.text+0x3a6b): undefined reference to `interface_to_C’
cmpint.o: In function `comp_cache_lookup_apply_restart’:
cmpint.c:(.text+0x3cbe): undefined reference to `C_to_interface’
cmpint.o: In function `enter_compiled_expression’:
cmpint.c:(.text+0x3e6f): undefined reference to `C_to_interface’
cmpint.o: In function `comp_error_restart’:
cmpint.c:(.text+0x82a): undefined reference to `C_to_interface’
cmpint.o: In function `comp_interrupt_restart’:
cmpint.c:(.text+0×888): undefined reference to `C_to_interface’
cmpint.o: In function `apply_compiled_procedure’:
cmpint.c:(.text+0x3b4a): undefined reference to `C_to_interface’
cmpintmd.o: In function `x86_64_reset_hook’:
cmpintmd.c:(.text+0x16a): undefined reference to `asm_scheme_to_interface’
cmpintmd.c:(.text+0×175): undefined reference to `asm_scheme_to_interface’
cmpintmd.c:(.text+0×184): undefined reference to `asm_scheme_to_interface_call’
cmpintmd.c:(.text+0x18f): undefined reference to `asm_scheme_to_interface_call’
cmpintmd.c:(.text+0x19e): undefined reference to `asm_trampoline_to_interface’
cmpintmd.c:(.text+0x1a9): undefined reference to `asm_trampoline_to_interface’
cmpintmd.c:(.text+0x1b8): undefined reference to `asm_interrupt_procedure’
cmpintmd.c:(.text+0x1c3): undefined reference to `asm_interrupt_procedure’
cmpintmd.c:(.text+0x1d2): undefined reference to `asm_interrupt_continuation’
cmpintmd.c:(.text+0x1dd): undefined reference to `asm_interrupt_continuation’
cmpintmd.c:(.text+0x1ec): undefined reference to `asm_interrupt_closure’
cmpintmd.c:(.text+0x1f7): undefined reference to `asm_interrupt_closure’
cmpintmd.c:(.text+0×206): undefined reference to `asm_interrupt_dlink’
cmpintmd.c:(.text+0×211): undefined reference to `asm_interrupt_dlink’
cmpintmd.c:(.text+0×220): undefined reference to `asm_primitive_apply’
cmpintmd.c:(.text+0x22b): undefined reference to `asm_primitive_apply’
cmpintmd.c:(.text+0x23a): undefined reference to `asm_primitive_lexpr_apply’
cmpintmd.c:(.text+0×245): undefined reference to `asm_primitive_lexpr_apply’
cmpintmd.c:(.text+0×254): undefined reference to `asm_assignment_trap’
cmpintmd.c:(.text+0x25f): undefined reference to `asm_assignment_trap’
cmpintmd.c:(.text+0x26e): undefined reference to `asm_reference_trap’
cmpintmd.c:(.text+0×279): undefined reference to `asm_reference_trap’
cmpintmd.c:(.text+0×288): undefined reference to `asm_safe_reference_trap’
cmpintmd.c:(.text+0×293): undefined reference to `asm_safe_reference_trap’
cmpintmd.c:(.text+0x2a2): undefined reference to `asm_link’
cmpintmd.c:(.text+0x2ad): undefined reference to `asm_link’
cmpintmd.c:(.text+0x2bc): undefined reference to `asm_error’
cmpintmd.c:(.text+0x2c7): undefined reference to `asm_error’
cmpintmd.c:(.text+0x2d6): undefined reference to `asm_primitive_error’
cmpintmd.c:(.text+0x2e1): undefined reference to `asm_primitive_error’
cmpintmd.c:(.text+0x2f0): undefined reference to `asm_generic_add’
cmpintmd.c:(.text+0x2fb): undefined reference to `asm_generic_add’
cmpintmd.c:(.text+0x30a): undefined reference to `asm_generic_subtract’
cmpintmd.c:(.text+0×315): undefined reference to `asm_generic_subtract’
cmpintmd.c:(.text+0×324): undefined reference to `asm_generic_multiply’
cmpintmd.c:(.text+0x32f): undefined reference to `asm_generic_multiply’
cmpintmd.c:(.text+0x33e): undefined reference to `asm_generic_divide’
cmpintmd.c:(.text+0×349): undefined reference to `asm_generic_divide’
cmpintmd.c:(.text+0×358): undefined reference to `asm_generic_equal’
cmpintmd.c:(.text+0×363): undefined reference to `asm_generic_equal’
cmpintmd.c:(.text+0×372): undefined reference to `asm_generic_less’
cmpintmd.c:(.text+0x37d): undefined reference to `asm_generic_less’
cmpintmd.c:(.text+0x38c): undefined reference to `asm_generic_greater’
cmpintmd.c:(.text+0×397): undefined reference to `asm_generic_greater’
cmpintmd.c:(.text+0x3a6): undefined reference to `asm_generic_increment’
cmpintmd.c:(.text+0x3b1): undefined reference to `asm_generic_increment’
cmpintmd.c:(.text+0x3c0): undefined reference to `asm_generic_decrement’
cmpintmd.c:(.text+0x3cb): undefined reference to `asm_generic_decrement’
cmpintmd.c:(.text+0x3da): undefined reference to `asm_generic_zero’
cmpintmd.c:(.text+0x3e5): undefined reference to `asm_generic_zero’
cmpintmd.c:(.text+0x3f4): undefined reference to `asm_generic_positive’
cmpintmd.c:(.text+0x3ff): undefined reference to `asm_generic_positive’
cmpintmd.c:(.text+0x40e): undefined reference to `asm_generic_negative’
cmpintmd.c:(.text+0×419): undefined reference to `asm_generic_negative’
cmpintmd.c:(.text+0×428): undefined reference to `asm_generic_quotient’
cmpintmd.c:(.text+0×433): undefined reference to `asm_generic_quotient’
cmpintmd.c:(.text+0×442): undefined reference to `asm_generic_remainder’
cmpintmd.c:(.text+0x44d): undefined reference to `asm_generic_remainder’
cmpintmd.c:(.text+0x45c): undefined reference to `asm_generic_modulo’
cmpintmd.c:(.text+0×467): undefined reference to `asm_generic_modulo’
cmpintmd.c:(.text+0×476): undefined reference to `asm_sc_apply’
cmpintmd.c:(.text+0×481): undefined reference to `asm_sc_apply’
cmpintmd.c:(.text+0×490): undefined reference to `asm_sc_apply_size_1′
cmpintmd.c:(.text+0x49b): undefined reference to `asm_sc_apply_size_1′
cmpintmd.c:(.text+0x4aa): undefined reference to `asm_sc_apply_size_2′
cmpintmd.c:(.text+0x4b5): undefined reference to `asm_sc_apply_size_2′
cmpintmd.c:(.text+0x4c4): undefined reference to `asm_sc_apply_size_3′
cmpintmd.c:(.text+0x4cf): undefined reference to `asm_sc_apply_size_3′
cmpintmd.c:(.text+0x4de): undefined reference to `asm_sc_apply_size_4′
cmpintmd.c:(.text+0x4e9): undefined reference to `asm_sc_apply_size_4′
cmpintmd.c:(.text+0x4f8): undefined reference to `asm_sc_apply_size_5′
cmpintmd.c:(.text+0×503): undefined reference to `asm_sc_apply_size_5′
cmpintmd.c:(.text+0×512): undefined reference to `asm_sc_apply_size_6′
cmpintmd.c:(.text+0x51d): undefined reference to `asm_sc_apply_size_6′
cmpintmd.c:(.text+0x52c): undefined reference to `asm_sc_apply_size_7′
cmpintmd.c:(.text+0×537): undefined reference to `asm_sc_apply_size_7′
cmpintmd.c:(.text+0×546): undefined reference to `asm_sc_apply_size_8′
cmpintmd.c:(.text+0×551): undefined reference to `asm_sc_apply_size_8′
cmpintmd.c:(.text+0×560): undefined reference to `asm_interrupt_continuation_2′
cmpintmd.c:(.text+0x56b): undefined reference to `asm_interrupt_continuation_2′
cmpintmd.c:(.text+0x57b): undefined reference to `asm_fixnum_shift’
cmpintmd.c:(.text+0×585): undefined reference to `asm_fixnum_shift’
collect2: ld returned 1 exit status
make[1]: *** [scheme] Error 1
make[1]: Leaving directory `/home/steve/Downloads/mit-scheme-9.0.1/src/microcode’
make: *** [compile-microcode] Error 2
ioo
Weird. The code compiles cleanly using the “Portable C” option, but not the 64 bit version.
I checked all the conventional channels (google, ubuntu forums, etc) with no luck so I wrote to the authors. It seems their configure script doesn’t check for a package called “m4″ (whatever that is). I installed it and then the program compiled cleanly. I am posting this online just in case anyone else had the same problem as me.
8 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a Reply
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
Just to add a little bit, after installing the m4 package I tried the “make compile-microcode” command again and received the same error. I then started from scratch with:
1) rm -fr mit-scheme-9.0.1
2) tar xzf mit-scheme-9.0.1-x86-64.tar.gz
3) cd mit-scheme-9.0.1/src
4) ./configure
5) make compile-microcode
In hindsight it may have only been necessary to repeat from step #4.
Comment by Jason Friedman— July 20, 2010 #
thank you very much.
I had the same problem with 32 bit version of mit-scheme 9.0.1
Your suggestion worked excellently.
Comment by Tarik— August 3, 2010 #
thanks, had the same problem, fixed, nice on for posting.
Comment by H— August 22, 2010 #
http://www.gnu.org/software/mit-scheme/liarc-build.html
Comment by TIMBERings— September 21, 2010 #
The problem with MIT Scheme is it takes forever to compile.
On the 2.0 GHz, 756MB RAM machine right now, it’s currently been compiling over half an hour.
I’m glad I didn’t pick Gentoo…
Comment by Adam Marchetti— September 24, 2010 #
Worked for me too but i had to do what Jason Friedman said. Deleted everything and then restart the compilation. Thanks!!
Comment by Michael Paul— November 26, 2010 #
thanks alot, you’re a life saver
Comment by William— January 4, 2011 #
i have spent hours trying to figure this out. thank you so much
Comment by Grant H.— September 21, 2011 #