On Sat, Mar 26, 2005 at 06:47:41PM +0300, Вячеслав Диконов wrote: > # WARNING: failed to extract version > at /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/Apache/SOAP.pm line 18: > # $VERSION = sprintf("%d.%s", map {s/_//g; $_} q$Name: > release-0_60-public $ =~ /-(\d+)_([\d_]+)/); > # 'map' trapped by operation mask at (eval 3) line 1, <$fh> line 18. Это из-за Safe->reval в perl.prov. То есть map был отнесен к "ненадежным" опкодам. То есть в `Porivdes: perl(Apache/SOAP.pm)' и др. версии не будет. На это пока можно забить. А версия на самом деле такая: $ perl -le '$VERSION = sprintf("%d.%s", map {s/_//g; $_} q$Name: release-0_60-public $ =~ /-(\d+)_([\d_]+)/); print $VERSION' 0.60 $ А опкоды на самом деле называются mapwhile и mapstart: $ perl -MO=Concise -le '$VERSION = sprintf("%d.%s", map {s/_//g; $_} q$Name: release-0_60-public $ =~ /-(\d+)_([\d_]+)/);' k <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 2 -e:1) v ->3 j <2> sassign vKS/2 ->k h <@> sprintf[t5] sK/2 ->i 3 <0> pushmark s ->4 4 <$> const[PV "%d.%s"] s ->5 9 <|> mapwhile(other->a)[t4] lK/1 ->h 8 <@> mapstart lK*/2 ->9 5 <0> pushmark s ->6 - <1> null lK/1 ->6 - <1> null lK/1 ->9 g <@> leave lKP ->9 a <0> enter l ->b b <;> nextstate(main 1 -e:1) v ->c d subst(/"_"/) vK ->e c <$> const[PV ""] s ->d e <;> nextstate(main 1 -e:1) v ->f - <1> ex-rv2sv sK/1 ->g f <#> gvsv[*_] s ->g 7 match(/"-(\\d+)_([\\d_]+)"/) lKMS/RTIME ->8 6 <$> const[PV "Name: release-0_60-public "] s ->7 - <1> ex-rv2sv sKRM*/1 ->j i <#> gvsv[*VERSION] s ->j -e syntax OK $ > + /usr/lib/rpm/find-requires > error: file /bin/env: No such file or directory А это кто сказал? И почему не отвалилось? > Can't locate MQClient/MQSeries.pm in @INC (@INC > contains: /usr/lib/rpm /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5 /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/i386-linux /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/local/lib/perl5/site_perl/5.8.6/i386-linux /usr/local/lib/perl5/site_perl/5.8.6 /usr/local/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl .) at /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/SOAP/Transport/MQ.pm line 17. > BEGIN failed--compilation aborted > at /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/SOAP/Transport/MQ.pm line 17. > /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/SOAP/Transport/MQ.pm: deparse failed, trying to recover with -MSOAP::Transport > Can't locate SOAP/Transport.pm in @INC (@INC > contains: /usr/lib/rpm /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5 /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/i386-linux /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/local/lib/perl5/site_perl/5.8.6/i386-linux /usr/local/lib/perl5/site_perl/5.8.6 /usr/local/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl .). > BEGIN failed--compilation aborted. > # /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/SOAP/Transport/MQ.pm: deparse failed. prefix=/home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl > ошибка: /bin/sh не удалось > ошибка: Невозможно найти Requires Проще всего забыть про MQSeries.pm: %add_findreq_skiplist */Transport/MQ.pm Тогда Transport::MQ работать не будет, но это далеко не основной транспорт, насколько я понимаю. По HTTP этот SOAP гоняют. > Тесты пришлось отключить, потому что для полного их выполнения придется > ставить Perl::Apache, а это тянет весь Apache в зависимости к набору > скриптов, читающих программу телепередач из Интернета. Ох. Хорошо было бы, если perl-SOAP-Lite собирал кто-нибудь из тех, кто его использует. Я не использую.