Gauche:Solaris/x86

Gauche:Solaris/x86

パッケージ

OpenSolarisを使っている場合、IPSパッケージが/contribに登録されています。

pfexec pkg set-publisher -O http://pkg.opensolaris.org/contrib contrib
pfexec pkg refresh
pfexec pkg install gauche

で、インストールできます。


ソースからビルド

Gauche 0.8.14 on OpenSolaris 2008.11 (2009/02/12 12:27:20 PST)

IPSからインストールしたSUNWgcc(GCC 3.4.3)とSUNWgmake(GNU Make 3.81)で、何事もなくビルド完了。

Total:  9403 tests,  9403 passed,     0 failed,     0 aborted.

On Solaris Express Community Edition Build 97 (2008/09/09 14:56:21 PDT)

環境

全てSXCE b97に付属するものです。GNU ldを使うとBoehm GCが正常に動作しないので、Sunのリンカを使ってください。

Gauche 0.8.13

configureの結果、CCが「gcc -std=gnu99」になりますが、GCCかどうかの判定が「gcc」との単純比較のため、正しいオプションが選択されません。これはリビジョン6287で修正され、開発中の最新版では解決しています。

拡張ライブラリのコンパイルの際、セグメント例外が発生します。これは、付属のBoehm GC 6.8が原因です。gcに移動してmake checkすると、テストに失敗します。GDBでcoreを使って調べたところ、スタックが壊れているようでした。新しいSolarisにBoehm GCが対応していなかったのが原因だと思われます。

Gauche SVN HEAD

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.

でした。


Last modified : 2012/02/23 03:16:59 UTC