比例道

月に1回更新します

libretto20へPerl-5.6.0をインストール

ラズパイZEROを導入したが、HDDを搭載していて、かつ消費電力の小さいlibretto20はまだまだ活躍の余地がある。今日はlibretto20にlogwatchを入れることにした。logwatchはperlで書かれているので、インストールシェルスクリプトを走らせるだけでインストールが完了した。しかし動かしてみると、myとuseが無いとエラーになる。myとは何だ?調べるとperlで変数のスコープを制御するためのものだった。libretto20に載っているperlは古くてそんなものは無い。仕方ないのでperlのバージョンを上げることにした。上げると言っても、最新版を入れようとするとたいていハマるので、拾える範囲で一番古いものが良い。cpanのサイトで一番古いのがperl-5.6.0.tar.gzだった。これを展開して

./Configure -de
make
make test
make install

make installのときに/usr/bin/perlを上書きするかと聞かれるのでnと答える。新しいperlは/usr/local/binにインストールされる。動かすperlスクリプトの最初の/usr/bin/perlを/usr/local/bin/perlに書き換えておけば、新しいperlで動く。しかし、perl5.6でもlogwatchは動かなかった。仕方ないので、perl5.10を入れた.しかしlogwatchは動かない.文字列を整形してメールで送るだけのプログラム(logwatch)のためにどんな高度なコードを使っているんだよ,もう.それならと,最新版のperl5.27.9を入れようとしたら.こいつはConfigureでコケる.なんてこった.その後,perl5.18のコンパイルは成功してlogwatchも無事動いた.良かった.