SigScheme
組込み向けのSchemeインタープリタ、SigSchemeをザウルス(pdaXrom)にインストールしてみた。C言語で書かれているのでザウルスで動かすのはそれほど難しくないはず(特殊なライブラリやXも使ってないしね)。
- SigScheme:http://kzk9.net/software/sigscheme/
- pdaXrom SDK tutorial:http://www.pdaxrom.org/index.php?showid=35&menuid=1
SigSchemeのインストールは普通に、
$ ./configure $ make $ su # make install
でいける($は一般ユーザで、#はrootでコマンドを実行したことを表す)。これにクロスコンパイル用のオプションを加えれば良いだけなので、それほど大変ではないはず。ビルド環境は、pdaXrom for ix86 PC on VMware PlayerにpdaXrom本家のCross SDKをインストールしたものを使用。ちなみに、Cross SDKのインストールは本家の"SDK installation"のやり方とは少し変わっているようだ。
# cd / # tar jxf (どこか)/cross-sdk-armv5tel-cacko-linux-3.4.5-2.2.5-softfloat.tar.bz2
SigSchemeのビルドログ
# wget http://kzk9.net/software/sigscheme/sigscheme-0.6.1.tar.gz # tar zxf sigscheme-0.6.1.tar.gz # cd sigscheme-0.6.1 # mkdir build_arm # cd build_arm # export PATH=/opt/cross/arm/3.4.5-xscale-softvfp/bin:$PATH # ../configure --host=armv5tel-cacko-linux --build=i686-linux --prefix=/usr/local # make # mkdir ipkg_tmp # make DESTDIR=`pwd`/ipkg_tmp install # armv5tel-linux-strip ipkg_tmp/usr/local/bin/* # mkdir ipkg_tmp/CONTROL # cat > ipkg_tmp/CONTROL/control Package: sigscheme Version: 0.6.1 Architecture: arm5tel Maintainer: Description: A R5RS compatible Scheme Interpreter for embedded use (Ctrl-Dで抜ける) # mkipkg ipkg_tmp
これで、SigSchemeのパッケージが作成されるので、あとはザウルスにこのパッケージをインストールすればよい。ただし、わたしの環境ではmkipkgが正しく動作せず、
tar: --exclude=CONTROL: Cannot stat: No such file or directory tar: Error exit delayed from previous errors
というエラーが出るので、mkipkgを下のように書き換えました(上が元ので、下が書き換えたもの)。
# vi /opt/cross/arm/3.4.5-xscale-softvfp/bin/mkipkg # tar -C $pkg_dir -cf $tmp_dir/data.tar . --exclude=$CONTROL tar -C $pkg_dir --exclude=$CONTROL -cf $tmp_dir/data.tar .
これでmkipkgが正しく動作しました。
これでSigSchemeをザウルスで使えるようになりました。ただし、まだ簡単なチェックしかしてないのでちゃんと動いているかはわからない。後で、テストプログラムを動かしてみないといけないな。
しかし、ザウルスでSchemeを使うことってあるのかなあ・・・。まあ、Schemeインタープリタが動くというのは単純に嬉しいけどね。
よし、次はHaskellだな(マジ!?)