最初 DarwinPorts に Perl5.8.8 を入れて諸々のソフトなども入れてあったんですが Term::ReadLine::Gnu を入れようとすると Linux の時と同じでやっりコンパイル時にエラーが出て make が出来なくなる。
結局 DarwinPorts をアンインストールして最初からやり直し。DarwinPorts 使うと最下層に op/ ってディレクトリが出来てなんだか気持ち悪いしやめた。けどよく考えたらインストール時に configure の設定でインストールディレクトリを /usr/local/bin/ とかにっしておけば問題なく出来ただろうワナw
しょうがないので CPAN から perl5.8.8 のソースとってきてビルド( デフォルトの Perl5.8.6 ではインストール出来ず )その間に screen 使って同時に他のもインストール。んで Term::ReadLine::Gnu の INSTALL を読んだ限りだと readline は /usr/local/gnu/ に入れると。ついでに ncurses も取ってきてインストール。
再インストールの前に gcc のバージョンを 4.1.1 にあげておいた。
んで cpan 起動で( perl -MCPAN -e shell ってしないでも cpan で入れるのは便利 ) Bundle::CPAN をインストール。その後 Term::ReadLine::Gnu を試したらすんなり入ってしまった。んで perlsh を PATH の通ったところへ移動させたらちゃんと動いたのでした。
僕の場合 PATH は .zshenv で設定してるので、とりあえず perl5.8.8 も入ったことだし /usr/local/bin/ の優先順位を一番前に持ってきてる。
再インストール前に今日一日を使ってしまった感じ。なぜか gcc がコンパイルに失敗するし、gep がありませんって言うし、ないない尽くしでわけわからん!全部英語だから検索かけても英語ばっかりだし、頑張って読むしかないんだけど難しいっすね。んで失敗してた理由だけど、たぶん PATH の設定が DarwinPorts とぐっちゃになっていたのと、シンボリックリンクが上手くいって無かったのが大きいのかもっと今になって思う。
手順をまとめると
- gcc のバージョンをあげておく
- perl5.8.8 のソースを取ってきてビルド
- ncurses のソースを取ってきてビルド
- readline のソースを取ってきて /usr/local/gnu/ にビルド
- cpan シェル起動後 Bundle::CPAN をインストール
- Term::ReadLine::Gnu をインストール
- ./cpan/build/term-readline-gnu-1.16/eg/perlsh を PATH の通ってるディレクトリに移動
これで perlsh を起動出来るようになるはず。次は perlsh を shell として使うための設定について書くかも。
最近のコメント