Guys,
I have a Ubuntu 8.04 (Hardy Haron) computer using x86-64. mit-scheme
does not seem to be in the repository for some reason, so I am compiling
it myself. I am having trouble compiling for some reason. I tried all
the convential channels (google, ubuntu forums) with no luck. I tried
looking at the c code too and can't figure it out. I usually don't like
writing to the developers about this, but since Ubuntu is a major
distribution, I thought I would call it to your attention.
Ok, I went into the src/ directory and typed "./configure". Then is I
did a "make compile-microcode". This is where it errors out:
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. I am
using that.
I just thought you guys might want to know about this. I don't know
enough about C to point out the problem, but I can do the dirty work and
maybe test the solution on my end. I will also write about the solution
on my blog just in case other Ubuntu people want to compile to the
64-bit option.
- Steve
_______________________________________________
MIT-Scheme-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/mit-scheme-devel