久しぶりにブログを更新してみると,休日に色づけしてあるはずのカレンダーが真っ白になっている。原因は Perl パッケージの更新によって必要なモジュールが削除されていたからだった。
■ ■ ■
このサイトのカレンダーには,拙作のプラグイン nlog(n) - 休日表示カレンダープラグイン2 で休日や土曜日に色をつけている。しかし,久しぶりにブログを更新してみると,色がつかない。真っ白になってしまっている。月が変わったのが原因だろうか…? 必要な Perl モジュール Date::Japanese::Holiday はインストールされている。httpd を再起動しても変化なし。その他に思い当たることといえば,Perl パッケージのアップグレードである。
Vine Linux 3.1 では,Perl に脆弱性が発見されたため2日前の2005年8月1日にパッケージの更新が行われた(Vine Linux errata [perl にセキュリティホール])。これを受けて,このサイトのサーバの Perl パッケージのアップグレードを行ったのである。
Apache のエラーログ /var/log/httpd/error_log には次のように記録されていた。
Can't locate Date/Calc.pm in @INC (@INC contains: /home/httpd/opentype/extlib /home/httpd/opentype/lib /usr/lib/perl5/5.8.2/i386-linux-thread-multi /usr/lib/perl5/5.8.2 /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site
_perl/5.8.2 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl /usr/local/lib/site_perl/5.8.2/i386-linux-thread-multi /usr/local/lib/site_perl/5.8.2 /usr/local/lib/site_perl .) at /usr/lib
/perl5/site_perl/5.8.2/Date/Japanese/Holiday.pm line 5.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.2/Date/Japanese/Holiday.pm line 5.
Compilation failed in require at /home/httpd/opentype/plugins/jcalendarcolor.pl line 24.
BEGIN failed--compilation aborted at /home/httpd/opentype/plugins/jcalendarcolor.pl line 24.
Compilation failed in require at /home/httpd/opentype/lib/MT.pm line 117.
Date/Calc.pm という Perl モジュールが見つからないと言っている。どうやらパッケージのアップグレードによって消えてしまったようなのだ。そこで,Date::Calc モジュールをインストールすることにした。root になり,例によって LANG の設定を外しておく。
# export LANG=C
# perl -MCPAN -e "install 'Date::Calc'"
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Database was generated on Mon, 01 Aug 2005 21:59:17 GMT
Running install for module Date::Calc
...
---- Unsatisfied dependencies detected during [S/ST/STBEY/Date-Calc-5.4.tar.gz]
-----
Bit::Vector
Carp::Clan
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] (Enter)
...
---- Unsatisfied dependencies detected during [S/ST/STBEY/Bit-Vector-6.4.tar.gz]
-----
Carp::Clan
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] (Enter)
...
/usr/bin/make install -- OK
#
途中,他に必要なモジュールをインストールしてよいかという問い合わせがあるので,Enter キーまたは「yes」と入力することで応答しておく。エラーが出ずに終了すれば完了である。Date::Calc は Date::Japanese::Holiday が動作するのに必要なモジュールで,Date::Japanese::Holiday を最初にインストールするときには自動的にインストールされるが,Date::Japanese::Holiday を「再」インストールする場合にはインストールされないのである。
再構築すると,今度はちゃんとカレンダーに色がついてくれた。
最近の Vine Linux には,スラッシュドット ジャパン | 日本ブレインウェアが「Vine Linux」の総販売代理権を獲得 という気になる話題もある。販売代理店が変わっても引き続き Vine には頑張って欲しいと願うばかりである。
Posted by n at 2005-08-03 01:59 | Edit | Comments (0) | Trackback(0)