MacOSXにxlispstatをインストールする

簡単にインストールできるはずが,意外なところでつまづいたのでメモ

---------------------------------
##セットアップ方法
#1 とりあえずxlispstatのダウンロード
とりあえずxlispstatのソースファイルをダウンロードする
ここからダウンロードできるはず.

#2 とりあえずインストールしてみる
tarコマンドで解凍してセオリー通り

tar -zxvf xlispstat-3-52-20.tar.gz
cd xlispstat-3-52-20
./configure
make
sudo make install

に持って行きたいところだけど,makeの段階で
lowess.c:15: error: static declaration of 'fmax' follows non-static declaration
make: *** [lowess.o] Error 1
とエラーが出てコケてしまう.
どうもlowess.cが悪さをしているみたい.

#3 lowess.cの修正
そこでlowess.cの修正が必要なわけだけど,色々調べてみると7行目の
#ifdef MACINTOSH
が原因らしい.
そこでその部分を
#ifdef __APPLE__
に書き換えて,もう一度

./configure
make
sudo make install

をかけたところ上手くインストールできた.
---------------------------------

とりあえずこれでxlispstatのインストールは完了.
ちなみにグラフの描写とかをする場合は,X11上でxlispstatを起動しないと上手くいかないので注意が必要.



Rからxlispstatを呼び出すRXLispのセットアップ方法

少々…というか正攻法でいくとかなり面倒くさかったのでメモ

#参考URL:

1.R Special Interest Group on Macintosh Development and Porting, both for MacOS 8.6 - 9.x and MacOS X : RXLisp

2.The RXLisp package



#注意


もしかしたらxlispstatがインストール済みじゃないと動かないかもしれないので,まだインストールしていない人は,別の記事に書いてある「MacOSXにxlispstatをインストールする」を参考にしてインストールした後で,コッチの作業をやってもらえると安心かも


---------------------------------

##セットアップ方法

#1 RXLispをセットアップする.


正攻法でセットアップしてみようとしたけど,色々とエラーが出るのでギブアップ.

参考URL1.にあるシェルスクリプトを実行したところ上手くいったので,こちらの方法をとった方が正解かも.

ただそのシェルスクリプトは,幾つか妙なところで改行が加わってしまっているので(恐らくメーリングリストの内容だから,強制改行が加わっているのかも),そこを修正する必要有り.

いちおう修正済みのやつを作っておいたので,それをダウンロードして実行すればセットアップできるはず.

修正済みシェルスクリプトファイル setup_rxlisp.sh

上のシェルスクリプトファイルをダウンロードしたら以下のコマンドを実行.

cd /hoge(シェルスクリプトファイルをダウンロードしたディレクトリ)
sudo sh setup_xlisp_rxlisp.sh



#2 ファイルの修正

#1で基本的なセットアップは終わっているけど,R内でLibraryをロードしてサンプルコマンドを実行しようとすると,

; loading "/Library/Frameworks/R.framework/Versions/2.5/Resources/library/RXLisp/xlisp/ObjectManager.lsp"

error: unbound function - DEF

error: can't load file - "/Library/Frameworks/R.framework/Versions/2.5/Resources/library/RXLisp/xlisp/ObjectManager.lsp"

というエラーが出る.

どうやら

/Library/Frameworks/R.framework/Versions/2.5/Resources/library/RXLisp/xlisp/ObjectManager.lsp

というファイルが悪さをしているようなので,それを修正してみる.

エラーメッセージに

error: unbound function - DEF

と書いてあるので,恐らくはdefunと書くべき所をdefと書いてしまっているのだろう.
でもxlispstatはdefでも出来たはずなんだけど…おかしいなぁ.

違和感を感じつつObjectManager.lspのファイルを覗いてみると,

(def ReferenceManager (createReferenceManager))

という記述を発見.

そこで

(defun ReferenceManager (createReferenceManager))

という風に修正して,もう一度ロードをしてみると上手くいく.

---------------------------------

コレでR上でxlispstatが呼び出せるようになった.

実際にサンプルを動かしてみたけど,上手くいっているようなので安心.

##追記(重要)
上記の方法を使うだけだと,幾つかのコマンド("histogram"とか)が実行できないという問題が発生してしまう.
どうやらxlispstatの基礎的なコマンドを読み込んでくれていないらしい.
ココを参考に変えてみる.
まず,xlispstatのxlisp.wksを/Library/Frameworks/R.framework/Resources/library/RXLisp/xlisp/以下にコピーする.

cp /usr/local/lib/xlispstat/xlisp.wks /Library/Frameworks/R.framework/Resources/library/RXLisp/xlisp/

これが終わったらR上でLibraryをロードして,以下のコマンドを実行する.

library(RXLisp)
.XLispInit(c("xlisp",paste("-w",system.file("xlisp","xlisp.wks",package="RXLisp"),sep='')))

これでエラーメッセージも返してこないし,"histogram"とかのコマンドも使えるようになった.

ちなみにいちいち上のコマンドでやるのが面倒くさい場合は

.XLispInitArgs = c("xlisp",paste("-w",system.file("xlisp","xlisp.wks",package="RXLisp"),sep=''))

で従来通りの.XLispInit()コマンドで作業できるようになる見たい.

とりあえずこれでRXLispはきちんと動くようになった模様.
めでたしめでたし.



OSXのzshで日本語入出力を行う.

試行錯誤を行った結果,ようやく出来たのでメモ.
色々と設定を変えたりしてみたけど,結局はzshのバージョンに問題があったらしい.
OSXのデフォルトのzshのバージョンは4.2で,日本語入力は4.3以降で対応しているみたい.

というかばっちり方法を載せてくれているありがたいサイトがありました.

#参考サイト
Mac OSX x zsh で日本語表示 & 入力 - Hasta Pronto.org

---------------------------------
##セットアップ方法
#1 zshをインストールしよう.

curlでやっても通らなかった(ちなみにOSXではデフォルトでwgetは入っていない)ので,結局は直にダウンロードしてきました.
SourceForgeのzshのページからzsh-devダウンロードできます.
ちなみに2007/9/1現在の最新バージョンは4.3.4
zsh-4.3.4.tar.gzをダウンロードしたら,ダウンロードディレクトリに移動して,./configureでいつもの流れ.
今回は/usr/local/bin/にインストール.

tar xzvf zsh-4.3.4.tar.gz
cd zsh-4.3.2
./Util/preconfig   
./configure --enable-multibyte --enable-locale
make
sudo make install

これで/usr/local/bin/以下にzshの最新版がインストールされる.

#2 Terminal.appの設定をしよう.
Terminal.appの設定はターミナルメニューにある「ウィンドウ設定」から行う.
ウィンドウ設定を選択したら,以下の作業を実行.
・「エミュレーション」選択.「非ASCII文字をエスケープする」のチェックボックスを外す.
・「ディスプレイ」を選択.「日本語や中国語などにワイドグリフを使用する」と「ワイドグリフは2桁とカウントする」にチェックを入れる.

#3 .inputrcのセッティングをしよう.
ホームディレクトリに.inputrcというファイル名で以下の設定を記述.

set convert-meta off
set meta-flag on
set output-meta on

---------------------------------
多分コレでzshで日本語の表示と入力が出来るはず.