Archive for the 'Gauche' Category

ledit と rlwrap

水曜日, 11月 14th, 2007

gosh のインライン編集に rlwrap が便利って書いたけど
leditってのもあるそう。

#include : Where is ledit?

これは Mac だと fink に入っているのでらくちん。

sudo fink install ledit

一緒に OCaml もついてきてしまうが。

ledit gosh -i

OS X 10.3.9 Gauche インストール

水曜日, 11月 14th, 2007

昨日の続き

同じ目に遭っている人発見。グーグル様ありがとう。
Gauche at Lingr > Archives > January 20, 2007
Kahuaのセミナー会場でGaucheのインストールがうまくいってないことを
発見するなんて、かわいそう。(今さらだけど、Lingrすごいね)

hori
# gauche0.8.9のインストールが不完全でした。早々に脱落です(涙)。残り時間は気楽にプロジェクターの画面見てます。

shiro
# えー今落として入れるんじゃだめっすか

hori
# MacOSX10.3.9には対応してるでしょうか?

shiro
# 手元で確認したのは10.4.8です
# 0.8.8までは10.3あたりで確認していたと思うので、引っかかることはなさそうな気もしますが…
# –enable-threads=pthreadsは必須です

hori
# gauche0.8.9のmake checkをやり直してみました。
# 26×26masa.edw
# といわれるのですが……
# 4:21pm (January 20) 26×26hori
#
gauche/net.h:92: error: redefinition of `struct sockaddr_storage’
make[2]: *** [net.o] Error 1

gauche/net.h:92: error: redefinition of `struct sockaddr_storage’
make[2]: *** [net.o] Error 1

hori
#
In file included from net.c:36:
gauche/net.h:86:1: warning: “_SS_ALIGNSIZE” redefined
In file included from gauche/net.h:44,
from net.c:36:
/usr/include/sys/socket.h:232:1: warning: this is the location of the previous definition
In file included from net.c:36:
gauche/net.h:92: error: redefinition of `struct sockaddr_storage’
make[2]: *** [net.o] Error 1
など。

In file included from net.c:36:
gauche/net.h:86:1: warning: “_SS_ALIGNSIZE” redefined
In file included from gauche/net.h:44,
from net.c:36:
/usr/include/sys/socket.h:232:1: warning: this is the location of the previous definition
In file included from net.c:36:
gauche/net.h:92: error: redefinition of `struct sockaddr_storage’
make[2]: *** [net.o] Error 1
など。

shiro
# おろ。sockaddr_storageの検出に失敗してるっぽいです

hori
# インストールは出来て
#
hori:~/Gauche-0.8.9 tahr$ gosh -V
Gauche scheme interpreter, version 0.8.9 [utf-8,pthreads]

hori:~/Gauche-0.8.9 tahr$ gosh -V
Gauche scheme interpreter, version 0.8.9 [utf-8,pthreads]

shiro
# configure後に、src/gauche/config.hの
# /* #undef HAVE_STRUCT_SOCKADDR_STORAGE */
# これを
# #define HAVE_STRUCT_SOCKADDR_STORAGE 1
# に変えて、make clean ; make
# してみてください

hori
# 再make中です。compile.cが長い…

これでうまくいきました。

configure後に、src/gauche/config.hの
/* #undef HAVE_STRUCT_SOCKADDR_STORAGE */
これを
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
に変えて、make clean ; make
してみてください

無事 Gauche がインストールされました。make check も問題なし。
確かに compile.c で死ぬほど時間かかります。

コンピュータの機種: iBook G4
CPU タイプ: PowerPC G4 (1.1)
CPU 速度: 1.07 GHz
二次キャッシュ(CPU 単位): 512 KB
メモリ: 1.25 GB
バス速度: 133 MHz

だと

機種名: Mac mini
プロセッサ名: Intel Core Solo
プロセッサ速度: 1.5 GHz
二次キャッシュ: 2 MB
メモリ: 2 GB
バス速度: 667 MHz

の十倍ぐらいコンパイルに時間がかかる。

Kahua インストール失敗

火曜日, 11月 13th, 2007

Karetta|Gaucheプログラミング立読み版|Kahuaインストールを見ながら Kahua を OS X (10.3.9) に入れようとしているのだが、
make check でこけるなあ。(OS X 10.4.10 では問題なし)

gosh -V
Gauche scheme interpreter, version 0.8.12 [utf-8,pthreads]

Kahua-1.0.7.1

gosh: "error": Compile Error: cannot find file "gauche/net.scm" in *load-path* ("../src" "/usr/local/share/gauche/site/lib" "/usr/local/share/gauche/0.8.12/lib")
"././rollback.scm":9:(use gauche.net)

ん、試しに Gauche のソースディレクトリで make check してみると
同じエラーが出てる…

(追記)解決しました。

OS X + gosh でデリートキー(バックスペース)矢印キーがきかない

月曜日, 11月 12th, 2007

OSX で HHK Lite を使っているのですが、gosh でデリートキーやら左矢印やらをを押すと
^H とか ^[[D が表示されてしまいます。
デリートキーについてはターミナルのウインドウの設定の
「delete キーで backspace を送る」
のチェックを外してやれば一応うまくいくのですが
左矢印は相変わらす backspace にはなってくれません。

Gauche 的には
Readline module for Gauche
を使うというのがありますが

コマンドラインインタプリタで
Python な人も
MacPorts + rlwrap で Mac OS X 上の Python インタプリタが良い感じ
Ruby な人も
rlwrap - readline ラッパーCommentsAdd Star
同じ問題に遭遇するようで
rlwrap, Emacs midi-input and p5httpd
で解決みたいです。

私は OS 10.4 では fink からインストールしました。

fink install rlwrap

OS 10.3 では fink に入っていなかったのでソースから make
そのさい fink の readline を読むように

export LDFLAGS=-L/sw/lib
ln -s /sw/include/readline /usr/include/readline
./configure
make
make install

としました。

rlwrap gosh

でうまくいきました。ヒストリー機能もあります。

.bash_profile に

alias gosh='rlwrap gosh'

してしまいました。

(追記)ledit というのもあるよ。