Chibi-Schemeをx86_64でコンパイルしてみる。
Chibi-ShemeをUbuntu9.04のx86_64版でコンパイルしてみました。
特に事前に入れるべきライブラリはなさそうなので、何も考えずにmakeをします。すると、
$ make /usr/bin/ld: eval.o: relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
とコンパイルエラーとなってしまいました。eval.oがshared objectだから-fPIC付けて再コンパイルしろといわれてるようなので、Makefileにちょっと手を入れて再度makeしてみます。
=== modified file 'Makefile' --- Makefile 2009-06-30 00:00:00 +0000 +++ Makefile 2009-06-30 00:00:00 +0000 @@ -52,10 +52,10 @@ echo '#define sexp_module_dir "'$(MODDIR)'"' > $@ sexp.o: sexp.c gc.c $(INCLUDES) Makefile - $(CC) -c $(XCPPFLAGS) $(XCFLAGS) -o $@ $< + $(CC) $(CLIBFLAGS) -c $(XCPPFLAGS) $(XCFLAGS) -o $@ $< eval.o: eval.c debug.c opcodes.c include/chibi/eval.h $(INCLUDES) Makefile - $(CC) -c $(XCPPFLAGS) $(XCFLAGS) -o $@ $< + $(CC) $(CLIBFLAGS) -c $(XCPPFLAGS) $(XCFLAGS) -o $@ $< main.o: main.c $(INCLUDES) Makefile $(CC) -c $(XCPPFLAGS) $(XCFLAGS) -o $@ $<
これでコンパイルは通るようになりました。