Katsutoshi Itoh
cut-s****@maste*****
2004年 11月 30日 (火) 22:00:57 JST
In message <20041****@lava*****>, Shiro Kawai writes: >エラーメッセージやlddの結果を見るに、test-arith.cのコンパイル時に >変なライブラリの方にリンクしちゃってるのかな。ldd src/test-arith は >どうなりますか (test-arith は goshを使いません)。 あれ? Gauche-0.8.1 と比べて test-arith が無いです。 すんません。test-arith.o はどっかにリンクされるんだと思ってました。 test-arith って実行オブジェクトも出来るものなのですね。 cut-sea @ jini> pwd /usr/home/cut-sea/compile/Gauche-0.8.2/src cut-sea @ jini> ls test* test-arith.c test-arith.o test-vmstack test-vmstack.c test-vmstack.o ちなみに参考程度ですが test-vmstack あたりだと cut-sea @ jini> ldd test-vmstack test-vmstack: -lcrypt.0 => /usr/lib/libcrypt.so.0 -lutil.6 => /usr/lib/libutil.so.6 -lm.0 => /usr/lib/libm387.so.0 -lm.0 => /usr/lib/libm.so.0 -lgauche => /home/cut-sea/compile/Gauche-0.8.2/src/libgauche.so -lc.12 => /usr/lib/libc.so.12 で正しいのがリンクされてそうです。 >思えます。Makefileからtest-arithの項だけ除いて通してみて下さい。 こうなります。 cut-sea @ jini> pwd /usr/home/cut-sea/compile/Gauche-0.8.2 cut-sea @ jini> diff src/Makefile.org src/Makefile 202c202 < test : gosh$(EXEEXT) test-vmstack$(EXEEXT) test-arith$(EXEEXT) --- > test : gosh$(EXEEXT) test-vmstack$(EXEEXT) # test-arith$(EXEEXT) 205c205 < ./test-arith >> test.log --- > # ./test-arith >> test.log こう削ってみて、 make check -> make test ここで test-arith をつくらずテストもせず。 make check を実行すると。 cut-sea @ jini> make check for d in gc src lib ext doc; do (cd $d; make all); done Making all in doc Making all in include for d in auxsys threads uvector charconv binary net termios fcntl sxml syslog dbm mt-random digest vport; do (cd $d; make default); done for d in gc src lib ext doc; do (cd $d; make check); done Making check in doc Making check in include make gctest `gctest' is up to date. make check-TESTS Completed 1 tests Allocated 648021 collectable objects Allocated 101 uncollectable objects Allocated 1250000 atomic objects Allocated 10880 stubborn objects Finalized 2206/2206 objects - finalization is probably ok Total number of bytes allocated is 49968088 Final heap size is 4169728 bytes Collector appears to work PASS: gctest ================== All 1 tests passed ================== ./test-vmstack >> test.log Testing VM stack sanity... passed. Testing primitive syntax ... passed. Testing error and exception handlers ... passed. Testing module ... passed. Testing macro ... passed. Testing numbers ... passed. Testing string ... passed. Testing keywords ... passed. Testing hash tables ... passed. Testing io ... passed. Testing procedures ... passed. Testing dynamic-wind and call/cc ... passed. Testing load ... passed. Testing SRFIs ... passed. Testing object system ... passed. Testing exceptions ... passed. Testing collections and sequences ... passed. Testing regexp ... passed. Testing EUC-JP ... passed. Testing system ... passed. Testing rfc ... passed. Testing parseopt ... passed. Testing parameters ... passed. Testing hook ... passed. Testing logger ... passed. Testing text utilities ... passed. Testing gettext ... passed. Testing util ... passed. Testing util.match ... passed. Testing write/ss and read/ss ... passed. Testing gauche.process ... passed. Testing gauche.version ... passed. Testing file utilities ... passed. Testing selector ... passed. Testing listener ... passed. Testing www.* modules ... passed. Testing case-sensitive reader/writer ... passed. Testing case-insensitive reader/writer ... passed. See test.log for details. for d in auxsys threads uvector charconv binary net termios fcntl sxml syslog dbm mt-random digest vport; do (cd $d; make check); done ../..//src/gosh -ftest -I. test.scm > test.log Testing auxsys ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing threads ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing uniform vector and array ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing charconv ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing binary ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing net ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing termios ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing fcntl ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing SSAX ... passed. Testing sxpath ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing syslog ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing dbm ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing mt-random ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing digest framework ... passed. ../..//src/gosh -ftest -I. test.scm > test.log Testing vport ... passed. ということは test-arith ってオブジェクトが作れてないだけで、 gosh 自体は健全なのでしょうか。 test-arith 自体は本当にテストのためだけのオブジェクトですよね?