@kyanny's blog

私は天才ではありません。ただ、人より長く一つの事と付き合っていただけです - アインシュタイン

Gauche-readline をインストールする(失敗)

  • Gauche-0.8.13
  • readline-5.2
  • Gauche-readline-

gosh を普段 Emacs の中から使っているので、シェルから起動したときに標準では readline がないことに気づいてなかった。 Emacs を起動しっぱなしにしておきたくない開発環境でちょこちょこと使いたいだけなので、 gosh を readline つきで使えるようにしようと、 Gauche-readline をインストールする。失敗した。

Gauche と readline は $HOME/local 以下に入れておいて、

$ LDFLAGS="-L$HOME/local/lib" CPPFLAGS="-I$HOME/local/include" ./configure --prefix=$HOME/local

ハマりポイントとして、 Makefile に gosh のパスが $HOME/bin/gosh と書かれてしまうので $HOME/local/bin/gosh への symlink をつくっておかないと make できない。

make install まではできるけど gosh-rl を実行すると、

gosh: "error": Compile Error: failed to link "readline" dynamically: /home/k-kaneko/local/lib/gauche/site/0.8.13/i686-pc-linux-gnu/readline.so: undefined symbol: rl_attempted_completion_function
"/home/k-kaneko/local/bin/gosh-rl":8:(use readline)

こんなエラーが出てしまう。違う感じでやってみても、 ./readline.so がリンクできないよ?みたいな、リンクがらみのエラーが。リンカへ -shared じゃなくて -bundle でやるといいので Makefile を書き換えろ、みたいな記事があったけどこれは Mac OSX の話だった(http://practical-scheme.net/wiliki/wiliki.cgi?isi)。

結局うまくいかないのであきらめて guile をインストールした。けどやっぱだめだなあ。