Gaucheのmakeに失敗
Gaucheのバージョンを上げようと思ったら,
$ tar zxvf Gauche-0.8.14.tgz $ cd Gauche-0.8.14 $ ./configure --enable-threads=pthreads --enable-multibyte=utf-8 $ make
で
make: *** [all] Error 2
とか言われた.
$ cd src $ ./gosh -ftest Illegal instruction
(追記)
今入っているgaucheは0.8.12.
CコンパイラはGCC3.3.
再びmakeした時の最初の方はこんな感じ.
for d in gc src lib ext doc; do (cd $d; make all); done make[2]: Nothing to be done for `all-am'. make[1]: Nothing to be done for `all'. make[1]: Nothing to be done for `all'. for d in gauche srfi auxsys threads uvector charconv binary net termios fcntl file util sxml syslog dbm mt-random digest vport text; do (cd $d; make default); done ../../src/gosh -ftest ../../src/gencomp --ext-module gauche/collection.scm -o gauche-collection-lib ../../libsrc/gauche/collection.scm make[2]: *** [gauche-collection-lib.c] Illegal instruction ../../src/gosh -ftest ../../src/gencomp --ext-module srfi-1.scm -o srfi-1-lib ../../libsrc/srfi-1.scm make[2]: *** [srfi-1-lib.c] Illegal instruction ../../src/gosh -ftest genstub -D GAUCHE_API_0_9 auxsyslib.stub make[2]: *** [auxsyslib.c] Illegal instruction ../../src/gosh -ftest genstub -D GAUCHE_API_0_9 thrlib.stub make[2]: *** [thrlib.c] Illegal instruction rm -rf uvector.c ../../src/gosh -ftest ./uvgen.scm uvector.c.tmpl make[2]: *** [uvector.c] Illegal instruction ../../src/gosh -ftest genstub -D GAUCHE_API_0_9 convlib.stub make[2]: *** [convlib.c] Illegal instruction gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../src -I../../gc/include -I./../uvector -no-cpp-precomp -g -O2 -no-cpp-precomp -fPIC -fno-common -fomit-frame-pointer -c binary.c In file included from ../../src/gauche.h:57, from binary.c:36: ../../src/gauche/float.h:64: warning: use of `long double' type; its size may change in a future release ../../src/gauche/float.h:64: warning: (Long double usage is reported only once for each file. ../../src/gauche/float.h:64: warning: To disable this warning, use -Wno-long-double.) In file included from binary.c:38: binary.h:38:28: gauche/uvector.h: No such file or directory In file included from binary.c:38: binary.h:66: error: parse error before '*' token binary.h:67: error: parse error before '*' token binary.h:68: error: parse error before '*' token
(追記2)
Gauche0.8.13は通った.
make checkは
Total: 8936 tests, 8936 passed, 0 failed, 1 aborted.
で終了.なんか一つエラー出てるけどこれは大丈夫なのか…?
Testing rfc ... gosh: "error": Compile Error: Compile Error: cannot find file "gauche/net.scm" in *load-path* ("../test" "../lib" "../libsrc" "../src" "/usr/local/share/gauche/site/lib" "/usr/local/share/gauche/0.8.13/lib") "../lib/rfc/ftp.scm":39:(define-module rfc.ftp (use srfi-1) ... "../test/rfc.scm":380:(use rfc.ftp)