Когда количество нехватающих модулей снизилось до четырех вот этих с пометкой MISSING
# perl sbin/rt-test-dependencies perl: >=5.10.1(5.10.1) ...found users: rt group (rt) ...found bin owner (root) ...found libs owner (root) ...found libs group (bin) ...found web owner (apache) ...found web group (apache) ...found CLI dependencies: CORE dependencies: HTML::FormatText::WithLinks::AndTables ...MISSING HTML::Mason::PSGIHandler >= 0.52 ...MISSING HTML::FormatText::WithLinks >= 0.14 ...MISSING Plack::Handler::Starlet ...MISSING DASHBOARDS dependencies: GD dependencies: GPG dependencies: GRAPHVIZ dependencies: ICAL dependencies: MAILGATE dependencies: SMIME dependencies: USERLOGO dependencies: SOME DEPENDENCIES WERE MISSING. CORE missing dependencies: HTML::FormatText::WithLinks >= 0.14 ...MISSING HTML::Mason::PSGIHandler >= 0.52 ...MISSING HTML::FormatText::WithLinks::AndTables ...MISSING Plack::Handler::Starlet ...MISSING Perl library path for /usr/bin/perl: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5
я с прискорбием осознал, что дальше дело не двигается. Yum-ом их найти не удалось, а perl -MCPAN -e shell ругался малопонятными матюками и тоже отказывался что-либо устанавливать. Так, модуль Plack::Handler::Starlet хотел Server::Starter, Server::Starter хотел Net::EmptyPort, Net::EmptyPort хотел IO::Socket::IP, а IO::Socket::IP при попытке установки выдавал грусть-печальное
Socket version 1.97 required--this is only version 1.82 at /root/.cpan/build/IO-Socket-IP-0.37-nWpYmj/blib/lib/IO/Socket/IP.pm line 30.
Ушел гуглить и таки понял, что я не единственный, к счастью, кто столкнулся с такой бедой. Тадам! Запомните эту магическую командочку:
perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'
Судя по man-у, оно делает рекомпиляцию динамически загружаемых модулей CPAN-а, что-то там попутно обновляя. Колбасило долго, где-то с пол-часа, и в конце концов выдало не шибко оптимистичную простыню:
Running install for module 'Thread' The most recent version "3.04" of the module "Thread" is part of the perl-5.24.0 distribution. To install that, you need to run force install Thread --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'Tie::Array' The most recent version "1.06" of the module "Tie::Array" is part of the perl-5.24.0 distribution. To install that, you need to run force install Tie::Array --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'Tie::Hash' The most recent version "1.05" of the module "Tie::Hash" is part of the perl-5.24.0 distribution. To install that, you need to run force install Tie::Hash --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'Tie::Hash::NamedCapture' The most recent version "0.09" of the module "Tie::Hash::NamedCapture" is part of the perl-5.24.0 distribution. To install that, you need to run force install Tie::Hash::NamedCapture --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'Tie::Scalar' The most recent version "1.04" of the module "Tie::Scalar" is part of the perl-5.24.0 distribution. To install that, you need to run force install Tie::Scalar --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'Tie::StdHandle' The most recent version "4.4" of the module "Tie::StdHandle" is part of the perl-5.24.0 distribution. To install that, you need to run force install Tie::StdHandle --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Time::Zone is up to date (2.24). Tree::Simple::Visitor is up to date (1.29). Running install for module 'UNIVERSAL' The most recent version "1.13" of the module "UNIVERSAL" is part of the perl-5.24.0 distribution. To install that, you need to run force install UNIVERSAL --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'Unicode::UCD' The most recent version "0.64" of the module "Unicode::UCD" is part of the perl-5.24.0 distribution. To install that, you need to run force install Unicode::UCD --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'XML::Parser::Expat' Running make for T/TO/TODDR/XML-Parser-2.44.tar.gz Has already been unwrapped into directory /home/avz/.cpan/build/XML-Parser-2.44-TDESRf Could not make: Unknown error Warning (usually harmless): 'YAML' not installed, will not store persistent state Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'attributes' The most recent version "0.27" of the module "attributes" is part of the perl-5.24.0 distribution. To install that, you need to run force install attributes --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible autodie::exception is up to date (2.29). autodie::exception::system is up to date (2.29). autodie::hints is up to date (2.29). bigint is up to date (0.43). bigrat is up to date (0.43). Running install for module 'blib' The most recent version "1.06" of the module "blib" is part of the perl-5.24.0 distribution. To install that, you need to run force install blib --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'bytes' The most recent version "1.05" of the module "bytes" is part of the perl-5.24.0 distribution. To install that, you need to run force install bytes --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'charnames' The most recent version "1.43" of the module "charnames" is part of the perl-5.24.0 distribution. To install that, you need to run force install charnames --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'diagnostics' The most recent version "1.34" of the module "diagnostics" is part of the perl-5.24.0 distribution. To install that, you need to run force install diagnostics --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'feature' The most recent version "1.42" of the module "feature" is part of the perl-5.24.0 distribution. To install that, you need to run force install feature --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible fields is up to date (2.23). Running install for module 'filetest' The most recent version "1.03" of the module "filetest" is part of the perl-5.24.0 distribution. To install that, you need to run force install filetest --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'integer' The most recent version "1.01" of the module "integer" is part of the perl-5.24.0 distribution. To install that, you need to run force install integer --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'less' The most recent version "0.03" of the module "less" is part of the perl-5.24.0 distribution. To install that, you need to run force install less --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'locale' The most recent version "1.09" of the module "locale" is part of the perl-5.24.0 distribution. To install that, you need to run force install locale --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'mro' The most recent version "1.18" of the module "mro" is part of the perl-5.24.0 distribution. To install that, you need to run force install mro --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'open' The most recent version "1.10" of the module "open" is part of the perl-5.24.0 distribution. To install that, you need to run force install open --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'overload' The most recent version "1.26" of the module "overload" is part of the perl-5.24.0 distribution. To install that, you need to run force install overload --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'overloading' The most recent version "0.02" of the module "overloading" is part of the perl-5.24.0 distribution. To install that, you need to run force install overloading --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 're' The most recent version "0.32" of the module "re" is part of the perl-5.24.0 distribution. To install that, you need to run force install re --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'sigtrap' The most recent version "1.08" of the module "sigtrap" is part of the perl-5.24.0 distribution. To install that, you need to run force install sigtrap --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'sort' The most recent version "2.02" of the module "sort" is part of the perl-5.24.0 distribution. To install that, you need to run force install sort --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'strict' The most recent version "1.11" of the module "strict" is part of the perl-5.24.0 distribution. To install that, you need to run force install strict --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'subs' The most recent version "1.02" of the module "subs" is part of the perl-5.24.0 distribution. To install that, you need to run force install subs --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'utf8' The most recent version "1.19" of the module "utf8" is part of the perl-5.24.0 distribution. To install that, you need to run force install utf8 --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'vars' The most recent version "1.03" of the module "vars" is part of the perl-5.24.0 distribution. To install that, you need to run force install vars --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'vmsish' The most recent version "1.04" of the module "vmsish" is part of the perl-5.24.0 distribution. To install that, you need to run force install vmsish --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'warnings' The most recent version "1.36" of the module "warnings" is part of the perl-5.24.0 distribution. To install that, you need to run force install warnings --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Running install for module 'warnings::register' The most recent version "1.04" of the module "warnings::register" is part of the perl-5.24.0 distribution. To install that, you need to run force install warnings::register --or-- install R/RJ/RJBS/perl-5.24.0.tar.gz Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Could not read '/home/avz/.cpan/build/Mouse-v2.4.5-gtPyV1/META.yml'. Falling back to other methods to determine prerequisites Could not read '/home/avz/.cpan/build/Crypt-SSLeay-0.72-ypNjbf/META.yml'. Falling back to other methods to determine prerequisites Could not read '/home/avz/.cpan/build/DateTime-TimeZone-Local-Win32-1.94-knZrvf/META.yml'. Falling back to other methods to determine prerequisites Could not read '/home/avz/.cpan/build/GD-2.56-KfYkXO/META.yml'. Falling back to other methods to determine prerequisites Could not read '/home/avz/.cpan/build/multidimensional-0.012-GF5S2z/META.yml'. Falling back to other methods to determine prerequisites Could not read '/home/avz/.cpan/build/bareword-filehandles-0.004-AL8LD9/META.yml'. Falling back to other methods to determine prerequisites Could not read '/home/avz/.cpan/build/GD-2.53-R0PZ76/META.yml'. Falling back to other methods to determine prerequisite
И хотя, на первый взгляд, все эти "Can't test", "Could not make: Unknown error" и "Could not read" выглядят весьма депрессивно, на деле оказалось, что появился некоторый прогресс. Так, теперь вместо сообщений об ошибках процесс установки модуля Server::Starter тупо зависал с сообщением "received TERM, sending TERM to all workers:1125" на консоли:
t/04-starter-dir.t ..... ok t/05-killolddelay.t .... start_server (pid:1038) starting now... starting new worker 1039 t/05-killolddelay.t .... 5/28 received HUP, spawning a new worker starting new worker 1125 new worker is now running, sending TERM to old workers:1039 sleeping 3 secs before killing old workers t/05-killolddelay.t .... 6/28 killing old workers old worker 1039 died, status:0 t/05-killolddelay.t .... 7/28 received TERM, sending TERM to all workers:1125 ^C KAZUHO/Server-Starter-0.32.tar.gz ./Build test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports KAZUHO/Server-Starter-0.32.tar.gz Failed during this command: KAZUHO/Server-Starter-0.32.tar.gz : make_test NO
Спустя минут 5 созерцания этой красоты у меня сложилось впечатление, что это таки делает мне нервы, и нажал Ctrl-C. Так как тут речь идет о выполнении каких-то тестов, решил попробовать запустить в CPAN-shell вместо "install Server::Starter" команду "notest install Server::Starter". И шо вы думаете? Таки помогло!
cpan[5]> notest install Server::Starter Running install for module 'Server::Starter' KAZUHO/Server-Starter-0.32.tar.gz Has already been unwrapped into directory /home/avz/.cpan/build/Server-Starter-0.32-0 KAZUHO/Server-Starter-0.32.tar.gz Has already been prepared KAZUHO/Server-Starter-0.32.tar.gz Has already been made KAZUHO/Server-Starter-0.32.tar.gz Skipping test because of notest pragma Running Build install Building Server-Starter Installing /usr/local/share/man/man1/start_server.1 Installing /usr/local/share/perl5/Server/Starter.pm Installing /usr/local/share/perl5/Server/Starter/Guard.pm Installing /usr/local/share/man/man3/Server::Starter.3pm Installing /usr/local/bin/start_server KAZUHO/Server-Starter-0.32.tar.gz ./Build install -- OK
Ну а далее perl -MCPAN -e shell далее все четыре недостающих модуля установил без сучка и задоринки и взору предстала вожделенная картина:
# perl sbin/rt-test-dependencies perl: >=5.10.1(5.10.1) ...found users: rt group (rt) ...found bin owner (root) ...found libs owner (root) ...found libs group (bin) ...found web owner (apache) ...found web group (apache) ...found CLI dependencies: CORE dependencies: DASHBOARDS dependencies: GD dependencies: GPG dependencies: GRAPHVIZ dependencies: ICAL dependencies: MAILGATE dependencies: SMIME dependencies: USERLOGO dependencies: All dependencies have been found.
Перемога!