mit-scheme on x86-64 Ubuntu Hardy Haron

April 13, 2010 at 9:33 am | Posted in Uncategorized | 8 Comments

For 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+0x217): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_operator_2_0_trap’:
cmpint.c:(.text+0x257): 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+0x347): undefined reference to `interface_to_scheme’
cmpint.o:cmpint.c:(.text+0x397): more undefined references to `interface_to_scheme’ follow
cmpint.o: In function `return_to_compiled_code’:
cmpint.c:(.text+0x939): 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+0x1045): undefined reference to `C_to_interface’
cmpint.o: In function `comp_safe_lookup_trap_restart’:
cmpint.c:(.text+0x1165): undefined reference to `C_to_interface’
cmpint.o: In function `comp_lookup_trap_restart’:
cmpint.c:(.text+0x1285): 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+0x2164): undefined reference to `C_to_interface’
cmpint.o: In function `comutil_unassigned_p_trap’:
cmpint.c:(.text+0x2342): undefined reference to `interface_to_C’
cmpint.c:(.text+0x2375): 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+0x2622): undefined reference to `interface_to_C’
cmpint.c:(.text+0x2655): 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+0x3116): undefined reference to `interface_to_C’
cmpint.c:(.text+0x3159): undefined reference to `interface_to_scheme’
cmpint.o: In function `comutil_operator_lookup_trap’:
cmpint.c:(.text+0x3444): undefined reference to `interface_to_C’
cmpint.o: In function `comutil_reflect_to_interface’:
cmpint.c:(.text+0x3503): undefined reference to `interface_to_C’
cmpint.c:(.text+0x3557): undefined reference to `interface_to_C’
cmpint.c:(.text+0x35eb): undefined reference to `interface_to_scheme’
cmpint.c:(.text+0x3625): 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+0x888): 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+0x175): undefined reference to `asm_scheme_to_interface’
cmpintmd.c:(.text+0x184): 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+0x206): undefined reference to `asm_interrupt_dlink’
cmpintmd.c:(.text+0x211): undefined reference to `asm_interrupt_dlink’
cmpintmd.c:(.text+0x220): 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+0x245): undefined reference to `asm_primitive_lexpr_apply’
cmpintmd.c:(.text+0x254): 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+0x279): undefined reference to `asm_reference_trap’
cmpintmd.c:(.text+0x288): undefined reference to `asm_safe_reference_trap’
cmpintmd.c:(.text+0x293): 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+0x315): undefined reference to `asm_generic_subtract’
cmpintmd.c:(.text+0x324): 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+0x349): undefined reference to `asm_generic_divide’
cmpintmd.c:(.text+0x358): undefined reference to `asm_generic_equal’
cmpintmd.c:(.text+0x363): undefined reference to `asm_generic_equal’
cmpintmd.c:(.text+0x372): 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+0x397): 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+0x419): undefined reference to `asm_generic_negative’
cmpintmd.c:(.text+0x428): undefined reference to `asm_generic_quotient’
cmpintmd.c:(.text+0x433): undefined reference to `asm_generic_quotient’
cmpintmd.c:(.text+0x442): 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+0x467): undefined reference to `asm_generic_modulo’
cmpintmd.c:(.text+0x476): undefined reference to `asm_sc_apply’
cmpintmd.c:(.text+0x481): undefined reference to `asm_sc_apply’
cmpintmd.c:(.text+0x490): 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+0x503): undefined reference to `asm_sc_apply_size_5′
cmpintmd.c:(.text+0x512): 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+0x537): undefined reference to `asm_sc_apply_size_7′
cmpintmd.c:(.text+0x546): undefined reference to `asm_sc_apply_size_8′
cmpintmd.c:(.text+0x551): undefined reference to `asm_sc_apply_size_8′
cmpintmd.c:(.text+0x560): 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+0x585): 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.

Advertisements

8 Comments »

RSS feed for comments on this post. TrackBack URI

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

  2. thank you very much.
    I had the same problem with 32 bit version of mit-scheme 9.0.1
    Your suggestion worked excellently.

  3. thanks, had the same problem, fixed, nice on for posting.

  4. http://www.gnu.org/software/mit-scheme/liarc-build.html

  5. 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…

  6. Worked for me too but i had to do what Jason Friedman said. Deleted everything and then restart the compilation. Thanks!!

  7. thanks alot, you’re a life saver

  8. i have spent hours trying to figure this out. thank you so much


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.
Entries and comments feeds.

%d bloggers like this: