スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • [--/--/-- --:--]
  • スポンサー広告 |
  • トラックバック(-) |
  • コメント(-) |
  • この記事のURL |
  • TOP ▲

perlshのインストールで嵌った 

perl向けのインタラクティブなシェル、perlsh。
rubyでいうと irbに該当するもので、簡単な検証にはとっても便利。

使い始めるととても便利なのだけど、インストール時に嵌ったのでメモを。

perlshは、Term::ReadLine::Gnuに含まれているのですが、適当にインストールしたところ以下のようなエラーが。

Cannot do initialize in Term::ReadLine::Gnu



Term::ReadLine::Gnuはその名の通り、GNUのreadlineが必要ですが、RPMパッケージ版とソースファイルからのビルド版が混在しているせいでよくわからないことになっている模様。
とりあえずソースからreadlineをインストールしなおして、Term::ReadLine::Gnuを再度コンパイル。
すると、またまた怒られる。

./rlver: error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory


あれ?ちゃんとsoファイルはあるけどなぁ・・・?としばらくはまったあとで、単純にスタティックライブラリをロードしなおせばよいことに気づく。
/etc/ld.so.confに /usr/local/libが記述されていることを確認して、/sbin/ldconfigを実行。
無事、perlshが動くようになった!

ファイルがあるのにsoファイル周りで文句を言われたら、システムがちゃんと認識しているのかを確認しましょうというお話でした。><


参考:
cl.pocari.org - perl でインタラクティブなシェルを実現する perlsh
http://cl.pocari.org/2006-01-11-7.html


Term::ReadLine::Gnu - Perl extension for the GNU Readline/History Library - search.cpan.org
http://search.cpan.org/~hayashi/Term-ReadLine-Gnu-1.16/Gnu.pm



モダンPerl入門 (CodeZine BOOKS)
牧 大輔
翔泳社
売り上げランキング: 1173

コメント

コメントの投稿















管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。