OpenSolarisを使っている場合、IPSパッケージが/contribに登録されています。
pfexec pkg set-publisher -O http://pkg.opensolaris.org/contrib contrib pfexec pkg refresh pfexec pkg install gauche
で、インストールできます。
IPSからインストールしたSUNWgcc(GCC 3.4.3)とSUNWgmake(GNU Make 3.81)で、何事もなくビルド完了。
Total: 9403 tests, 9403 passed, 0 failed, 0 aborted.
全てSXCE b97に付属するものです。GNU ldを使うとBoehm GCが正常に動作しないので、Sunのリンカを使ってください。
configureの結果、CCが「gcc -std=gnu99」になりますが、GCCかどうかの判定が「gcc」との単純比較のため、正しいオプションが選択されません。これはリビジョン6287で修正され、開発中の最新版では解決しています。
拡張ライブラリのコンパイルの際、セグメント例外が発生します。これは、付属のBoehm GC 6.8が原因です。gcに移動してmake checkすると、テストに失敗します。GDBでcoreを使って調べたところ、スタックが壊れているようでした。新しいSolarisにBoehm GCが対応していなかったのが原因だと思われます。
GCCの判定法が新しくなったのと、Boehm GCが7.1になって、リビジョン6379の現時点では正常にビルドできるようになっています。ただし、SVN HEADをビルドするためにはGauche自身が必要になるので、Gaucheがない環境ではビルドできません。
これを解決するために、別の環境でGaucheを使ってSVN HEADのコードを処理し、Solarisでもビルドできる状態にしたものをもらってくる、という手順を踏みます。
0.8.13がインストールできるならどんな環境でもいいのですが、Ubuntu辺りは仮想マシン向けのイメージが公開されていて、わざわざOSをインストールしなくていいので楽です。適当に0.8.13をインストールしたら、
% svn co https://gauche.svn.sourceforge.net/svnroot/gauche/Gauche/trunk Gauche % cd Gauche % ./DIST gen % ./configure % make # make install
といった感じでSVN HEADをインストールします。続けて、
% ./DIST tgz
で、ひとつ上のディレクトリにソースコードのアーカイブが作成されます。これをSolarisの環境に持って行き、ビルドします。特に引っかかる所もなく、素直にビルドできるはずです。
ちなみに、make checkの結果は、
Total: 3675 tests, 3675 passed, 0 failed, 2 aborted.
でした。