| Summary: | Просьба обновить perl-Moose до 0.93 | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> |
| Component: | perl-Moose | Assignee: | viy <viy> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P3 | CC: | viy |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
| Bug Depends on: | 22436 | ||
| Bug Blocks: | |||
|
Description
Vitaly Lipatov
2009-11-19 11:49:22 MSK
Пока беру таймаут.
Сборка прекращается на :
The 'add_attribute' method cannot be called on an immutable instance at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Class/Immutable/Trait.pm line 32
Class::MOP::Class::Immutable::Trait::_immutable_cannot_call('add_attribute') called at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Class/Immutable/Trait.pm line 37
Class::MOP::Class:::around('CODE(0x88987b0)', 'Class::MOP::Class::Immutable::Class::MOP::Class=HASH(0x88ee44c)', 'type_parameter', 'accessor', 'type_parameter', 'predicate', 'has_type_parameter') called at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Method/Wrapped.pm line 159
Class::MOP::Method::Wrapped::__ANON__('Class::MOP::Class::Immutable::Class::MOP::Class=HASH(0x88ee44c)', 'type_parameter', 'accessor', 'type_parameter', 'predicate', 'has_type_parameter') called at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Method/Wrapped.pm line 89
Class::MOP::Class::Immutable::Class::MOP::Class::add_attribute('Class::MOP::Class::Immutable::Class::MOP::Class=HASH(0x88ee44c)', 'type_parameter', 'accessor', 'type_parameter', 'predicate', 'has_type_parameter') called at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterized.pm line 17
require Moose/Meta/TypeConstraint/Parameterized.pm called at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterizable.pm line 12
Moose::Meta::TypeConstraint::Parameterizable::BEGIN() called at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterized.pm line 0
eval {...} called at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterized.pm line 0
Compilation failed in require at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterizable.pm line 12.
BEGIN failed--compilation aborted at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterizable.pm line 12.
# /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterizable.pm: deparse failed, trying to recover with -MMoose::Meta::TypeConstraint
The 'add_attribute' method cannot be called on an immutable instance at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Class/Immutable/Trait.pm line 32
Class::MOP::Class::Immutable::Trait::_immutable_cannot_call('add_attribute') called at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Class/Immutable/Trait.pm line 37
Class::MOP::Class:::around('CODE(0x89b2fac)', 'Class::MOP::Class::Immutable::Class::MOP::Class=HASH(0x8b22548)', 'type_parameter', 'accessor', 'type_parameter', 'predicate', 'has_type_parameter') called at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Method/Wrapped.pm line 159
Class::MOP::Method::Wrapped::__ANON__('Class::MOP::Class::Immutable::Class::MOP::Class=HASH(0x8b22548)', 'type_parameter', 'accessor', 'type_parameter', 'predicate', 'has_type_parameter') called at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Method/Wrapped.pm line 89
Class::MOP::Class::Immutable::Class::MOP::Class::add_attribute('Class::MOP::Class::Immutable::Class::MOP::Class=HASH(0x8b22548)', 'type_parameter', 'accessor', 'type_parameter', 'predicate', 'has_type_parameter') called at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterized.pm line 17
require Moose/Meta/TypeConstraint/Parameterized.pm called at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterizable.pm line 12
Moose::Meta::TypeConstraint::Parameterizable::BEGIN() called at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterized.pm line 0
eval {...} called at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterized.pm line 0
Compilation failed in require at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterizable.pm line 12.
BEGIN failed--compilation aborted at /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterizable.pm line 12.
# /usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint/Parameterizable.pm: deparse failed. prefix=/usr/src/tmp/perl-Moose-buildroot/usr/lib/perl5/vendor_perl
find-requires: ERROR: /usr/lib/rpm/perl.req failed
error: /bin/sh failed
error: Failed to find Requires
Дело в perl-Class-MOP, насколько я понимаю.
Присоединяюсь к обсуждению, поскольку оказался заинтересованным в обновлении пакета perl-Moose.
Дело в том, что перестал собираться пакет perl-Any-Moose с ошибками вида:
Class::MOP::subname is deprecated. Please use Sub::Name directly. at /usr/lib/perl5/vendor_perl/i386-linux/Class/MOP/Deprecated.pm line 102
Class::MOP::subname('Any', 'CODE(0x8620768)') called at /usr/lib/perl5/vendor_perl/Moose/Meta/TypeConstraint.pm line 233
Очевидно, текущий сизифный perl-Moose оказался слишком старым для обновленного perl-Class-MOP - он использует конструкции, которые оказались deprecated.
Я только что попробовал собрать perl-Moose последней версии, 0.93. Вышепроцитированных ошибок уже не наблюдается, видимо они были с предыдущей сборкой perl-Class-MOP? Я собираю с perl-Class-MOP-0.95-alt1.
Однако сборка всё равно заканчивается неудачно. Обламывается тест t/050_metaclasses/023_easy_init_meta.t. Изучение федоровского спека от perl-Moose 0.92 показало, что они хотят perl(Test::More) >= 0.88. У нас же Test::More версии 0.80 и, сюрприз, включен в пакет perl-devel.
После ручной подмены /usr/lib/perl5/Test/More.pm на свежую версию с http://search.cpan.org/dist/Test-Simple/ тест проходится.
Итого, как минимум нужна свежая сборка perl с обновленным Test::More. Возможно всё же стоит отделить Test::More от базового пакета perl и доверить его пакету perl-Test-Simple.
Хм at@ ? (В ответ на комментарий №4) > Для порядка повешен баг №22436 на perl-devel. Спасибо, у меня сейчас совсем нет времени :-/ 0.99-alt1 |