#おそらくmacのgccコマンドは中身がclang(Apple version)であることが期待されていて、本当のgccにパスが通ってしまっていたのが駄目だったんだと思います。
#Boehm GCのmac用のコードがclang(Apple version)に依存していてgccではコンパイルできないんじゃないかと。
#うーむ
https://github.com/Hamayama/r7rs-swank-Gauche-custom
が動かなくなりました。
C:\work\r7rs-swank-Gauche-custom>gosh gauche-main.scm
*** ERROR: invalid application: (#<undef> swank:connection-info)
While loading "././gauche-swank.sld" at line 58
While compiling: (import (gauche-swank))
While compiling "./gauche-main.scm" at line 5: (import (gauche-swank))
While loading "./gauche-main.scm" at line 5
Stack Trace:
_______________________________________
#少し前まで動いていたのですが。あとスタックトレースが出ない (issue 521 関連?)。
#ちょっと今は見られないので、後で調べます。
#環境は、0.9.9_rc2のインストーラおよびHEADのビルドしたものの両方です。
#そのエラー見覚えがあります。コンパイル時にdefineが#<undef>に先行bindされた影響だと思いますが、validなコードでもこれが出る可能性があるのか、こちらでも見てみます。
#出遅れましたが、Mac の Docker でもビルドとテストは問題なくできました。
#これでどうですか
diff --git a/specific/gauche.scm b/specific/gauche.scm
index 99b686d..44e22fd 100644
--- a/specific/gauche.scm
+++ b/specific/gauche.scm
@@ -75,12 +75,11 @@
": "
(map write-to-string (error-object-irritants error))))
-(define sts symbol->string)
(define (symbol->string x)
(cond ((keyword? x)
(string-append ":" (keyword->string x)))
((symbol? x)
- (sts x))
+ ((with-module gauche symbol->string) x))
(error "not symbol or keyword" x)))
(define ($output-to-repl thunk)
#たぶん元のコード (最初のdefineで継承したsymbol->stringを保存して、次のdefineで上書き) はR7RSで未定義動作じゃないかな。R6RSだとinvalidなはず
#パッチで無事動作しました。
#ただ、該当部分は fork 元のコードなので、元の r7rs-swank が 0.9.9 だと動かないということになります。
#ちょっとよく分かっていない点がありそうなので、Gauche:Bugs の方に挙げてみます。
#上流にPR投げようかな。ところでhashutilのところだけど、あれ元々 (import (only (gauche base) hash-table-for-each)) ではだめだったんだろうか。hashutilはautoloadされるから陽にimportしなくても良いはずなんだが…
#うむ。(gauche base)からのimportで動くようだ