印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
LinuxMovableType カレンダーが真っ白に

久しぶりにブログを更新してみると,休日に色づけしてあるはずのカレンダーが真っ白になっている。原因は 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)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?