2013-10-11 6 views
0

Я пытаюсь выполнить скрипт perl, который использует DateTime::Format::Strptime на моей машине RHEL5.8. После выполнения я получаю сообщение об ошибке:Perl DateTime :: Locale :: en error

Can't locate object method "am_pm_abbreviated" via package "DateTime::Locale::en" at /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Format/Strptime.pm line 777.

Я считаю, это означает, что, вероятно, ожидает DateTime::Format::Strptime новую версию DateTime :: Locale, чем тот, который вы установили. Я попытался установить с помощью Yum

sudo yum -y install perl-DateTime-Locale

Это, однако конфликты с моим поставщиком DateTime :: Locale и я получаю длительный и повторяющийся транзакцию ошибки

Transaction Check Error: 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/Base.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/aa.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/aa_ER_SAAHO.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/af.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/af_NA.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ak.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/am.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ar.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ar_JO.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ar_LB.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ar_QA.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ar_SA.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ar_SY.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ar_TN.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ar_YE.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/as.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/az.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/az_Cyrl.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/be.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/bg.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/bn.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/bo.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/bs.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/byn.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/ca.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/cch.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/cop.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/cs.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/cy.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/da.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/de.pm from install of perl-DateTime-Locale-0.45-1.el5.rf.noarch conflicts with file from package perl-DateTime-0.41-1.el5.x86_64 
    file /usr/lib/perl5/vendor_perl/5.8.8/DateTime/Locale/de_AT.pm from install of 

Как обойти это?

EDIT


Выход ням repolist

repo id         repo name                 status 
elrepo         ELRepo.org Community Enterprise Linux Repository - el5      444 
epel          Extra Packages for Enterprise Linux 5 - x86_64        7,471 
rpmforge         RHEL 5Client - RPMforge.net - dag           11,312 
rpmfusion-free-updates     RPM Fusion for EL 5 - Free - Updates           165 
repolist: 19,392 

ответ

1

Это странно. DateTime version 0.41 не содержит каких-либо файлов локалей, на которые он жалуется.

Интересно, является ли это одним из тех случаев, когда Red Hat думает, что они знают лучше, чем авторы CPAN, и принимают решения, касающиеся упаковки мозгов. Возможно, стоит посмотреть, можно ли сначала обновить DateTime («sudo yum update perl-DateTime»).

Если это не сработает, сообщите нам, какие репозитории yum вы используете.

Update: Исследуя дальше, я вижу, что EPEL (который является репо, который поставляет свою копию DateTime) имеет a nasty DateTime bundle, которые включают DateTime, DateTime :: Locale и DateTime :: TimeZone. Это означает, что вы не можете легко обновить один из них самостоятельно. Я ненавижу, когда они это делают.

Не знаете, какой лучший подход здесь. Я думаю, что я бы построил свои собственные RPM из этих трех модулей и установил их вместо EPEL. Но может быть проще просто установить, что вы хотите напрямую из CPAN.

+0

сценарий уже обновлен. Вопрос, отредактированный с помощью repolist – moadeep

+0

Вы можете получить здоровую копию DateTime из репозитория DAG/rpmforge http://dag.wiee.rs/rpm/ –

Смежные вопросы