しゃある通信

#28-01 [PC,hack,perl]CPANのDateTimeとDateTime::TimeZoneが循環参照している件
rpmを作る時にハマったのでメモ。この件をぐぐってみたら、 ほとんど同じ問題が2chでヒット。 落ちた時のために引用しとく。

503 :名無しさん@お腹いっぱい。:2007/04/07(土) 15:43:51 ID:I00y/VNb0
Plaggerインストールの前段階で躓いています.

cpan2rpmを用いてPlaggerを入れようとしています.しかし,いくつか必要なモジュールが入っていないので,
「cpan2rpm -i Plagger」の結果を基に,これもcpan2rpm経由でインストールしています.
いくつかのモジュールはインストールできたのですが,perl-DateTime周りのインストールがうまくいきません.

具体的には,以下のようなエラーがでます.エラーが出ているのは,rpm化されたモジュールをrpmでインストールする際のようです.
# cpan2rpm -i DateTime
(中略)
エラー: Failed dependencies:
perl(DateTime::TimeZone) is needed by perl-DateTime-0.37-1.i386
perl(DateTime::TimeZone) >= 0.38 is needed by perl-DateTime-0.37-1.i386
perl(DateTimePPExtra) is needed by perl-DateTime-0.37-1.i386
# cpan2rpm -i DateTime::TimeZone
(中略)
No version found, please use --version option. Stopped at /usr/bin/cpan2rpm line 580, <DATA> line 537.
# cpan2rpm -i DateTime::TimeZone --version 0.64
(中略)
エラー: Failed dependencies:
perl(DateTime) is needed by perl-DateTime-TimeZone-0.64-1.noarch
perl(DateTime::Duration) is needed by perl-DateTime-TimeZone-0.64-1.noarch
perl(DateTime::TimeZoneCatalog) is needed by perl-DateTime-TimeZone-0.64-1.noarch
perl(Win32::TieRegistry) is needed by perl-DateTime-TimeZone-0.64-1.noarch

504 :続き:2007/04/07(土) 15:44:38 ID:I00y/VNb0
何故こういう事が起こるのかはともかく,この状況下で,DateTimeをcpan2rpmで導入するために必要なことをご教示いただけたらと思います.

環境
OS: CentOS 4.4
CPU model name: Intel(R) Pentium(R) III Mobile CPU 1200MHz
perl v5.8,8   cpan script version 1.03   CPAN.pm version 1.7602   cpan2rpm 2.028

気になる点
・DateTime と DateTime::TimeZone とが,相互に依存している点.
・DateTime::TimeZone が その中に含まれている(はず)の DateTime::TimeZoneCatalog に依存している点
・Linuxなのに,Win32::TieRegistry に依存している点


1年以上前かい…。

解決策として同僚から教わった方法は

rpm作成は初めてだったんだけど、いきなりヒドイ罠が待ち受けていたよ…。



マクロミルへ登録

© 2008 Kazuya 'Sharl' Masuda
(C)Willoo Entertainment Inc. (C)Konami Digital Entertainment 株式会社ウィローエンターテイメント及び株式会社コナミデジタルエンタテインメントの著作権を侵害する行為は禁止されています。 0.003533 cached