如何从CPAN安装`Thread :: Pool`?

时间:2010-09-18 17:50:28

标签: perl module cpan

我正在使用cpanm安装Perl模块,但出于某种原因我无法安装Thread::Pool

$ sudo cpanm Thread::Pool

失败,日志文件显示:

cpanm (App::cpanminus) 1.0012 on perl 5.010001 built for i486-linux-gnu-thread-multi
Work directory is /home/dave/.cpanm/work/1284831891.13606
You have make /usr/bin/make
You have LWP 5.834
You have /bin/tar: tar (GNU tar) 1.22
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Thread::Pool on cpanmetadb ...
Fetching http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Pool-0.32.tar.gz
-> OK
Unpacking Thread-Pool-0.32.tar.gz
Entering Thread-Pool-0.32
Configuring Thread-Pool-0.32
Running Makefile.PL
Warning: prerequisite Thread::Conveyor 0.15 not found.
Warning: prerequisite Thread::Conveyor::Monitored 0.11 not found.
Checking if your kit is complete...
Looks good
Writing Makefile for Thread::Pool
-> OK
Finding PREREQ from Makefile ...
Checking if you have Thread::Conveyor::Monitored 0.11 ... No
Checking if you have Thread::Conveyor 0.15 ... No
==> Found dependencies: Thread::Conveyor::Monitored, Thread::Conveyor
Searching Thread::Conveyor::Monitored on cpanmetadb ...
Fetching http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz
-> OK
Unpacking Thread-Conveyor-Monitored-0.12.tar.gz
Entering Thread-Conveyor-Monitored-0.12
Configuring Thread-Conveyor-Monitored-0.12
Running Makefile.PL
Warning: prerequisite Thread::Conveyor 0.15 not found.
Checking if your kit is complete...
Looks good
Writing Makefile for Thread::Conveyor::Monitored
-> OK
Finding PREREQ from Makefile ...
Checking if you have Thread::Conveyor 0.15 ... No
Checking if you have load 0 ... Yes (0.19)
==> Found dependencies: Thread::Conveyor
Searching Thread::Conveyor on cpanmetadb ...
Fetching http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Conveyor-0.17.tar.gz
-> OK
Unpacking Thread-Conveyor-0.17.tar.gz
Entering Thread-Conveyor-0.17
Configuring Thread-Conveyor-0.17
Running Makefile.PL
Warning: prerequisite Thread::Tie 0.09 not found.
Checking if your kit is complete...
Looks good
Writing Makefile for Thread::Conveyor
-> OK
Finding PREREQ from Makefile ...
Checking if you have Thread::Serialize 0 ... Yes (0.10)
Checking if you have Thread::Tie 0.09 ... No
Checking if you have load 0 ... Yes (0.19)
==> Found dependencies: Thread::Tie
Searching Thread::Tie on cpanmetadb ...
Fetching http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Tie-0.12.tar.gz
-> OK
Unpacking Thread-Tie-0.12.tar.gz
Entering Thread-Tie-0.12
Configuring Thread-Tie-0.12
Running Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Thread::Tie
-> OK
Finding PREREQ from Makefile ...
Checking if you have Thread::Serialize 0.07 ... Yes (0.10)
Checking if you have load 0.11 ... Yes (0.19)
Building and testing Thread-Tie-0.12 for Thread::Tie
cp lib/Thread/Tie/Array.pm blib/lib/Thread/Tie/Array.pm
cp lib/Thread/Tie/Handle.pm blib/lib/Thread/Tie/Handle.pm
cp lib/Thread/Tie/Thread.pm blib/lib/Thread/Tie/Thread.pm
cp lib/Thread/Tie.pm blib/lib/Thread/Tie.pm
cp lib/Thread/Tie/Hash.pm blib/lib/Thread/Tie/Hash.pm
cp lib/Thread/Tie/Scalar.pm blib/lib/Thread/Tie/Scalar.pm
Manifying blib/man3/Thread::Tie::Array.3pm
Manifying blib/man3/Thread::Tie::Handle.3pm
Manifying blib/man3/Thread::Tie::Thread.3pm
Manifying blib/man3/Thread::Tie::Hash.3pm
Manifying blib/man3/Thread::Tie.3pm
Manifying blib/man3/Thread::Tie::Scalar.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/Tie01.t .. 
Failed 59/71 subtests 
t/Tie02.t .. 
Failed 23/26 subtests 

Test Summary Report
-------------------
t/Tie01.t (Wstat: 11 Tests: 12 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 71 tests but ran 12.
t/Tie02.t (Wstat: 11 Tests: 3 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 26 tests but ran 3.
Files=2, Tests=15,  1 wallclock secs ( 0.02 usr  0.00 sys +  0.89 cusr  0.17 csys =  1.08 CPU)
Result: FAIL
Failed 2/2 test programs. 0/15 subtests failed.
make: *** [test_dynamic] Error 255
-> FAIL Installing Thread::Tie failed. See /home/dave/.cpanm/build.log for details.
-> FAIL Bailing out the installation for Thread-Conveyor-0.17. Retry with --prompt or --force.
-> FAIL Bailing out the installation for Thread-Conveyor-Monitored-0.12. Retry with --prompt or --force.
Already tried Thread::Conveyor. Skipping.
-> FAIL Bailing out the installation for Thread-Pool-0.32. Retry with --prompt or --force.

3 个答案:

答案 0 :(得分:4)

嗯,问题是Thread::Tie(先决条件之一)未通过测试。根据{{​​3}},Thread :: Tie已经永远在Perl 5.10.1上传递了它的测试,并且有6个失败报告。我检查的这对夫妇看起来就像你的。

您可以使用cpanm -n跳过运行测试并进行安装,但无法保证生成的模块能够正常运行。问题可能出在测试脚本而不是模块本身,但这不是最可能的解释。

您可以尝试CPAN Testers,或尝试自行调试。

答案 1 :(得分:4)

感谢报道。

我刚刚上传了涉及的所有模块的新版本。幸运的是,大多数问题实际上都存在于测试套件中,而不是代码本身。

请告诉我这是否能为您解决。

Elizabeth Mattijsen

答案 2 :(得分:0)

无法在适用于Windows的Strawberry Perl上安装

测试摘要报告

t/Tie01.t (Wstat: 256 Tests: 71 Failed: 1)
  Failed test:  65
  Non-zero exit status: 1
Files=2, Tests=97,  3 wallclock secs ( 0.05 usr +  0.00 sys =  0.05 CPU)
Result: FAIL
Failed 1/2 test programs. 1/97 subtests failed.
dmake.exe:  Error code 255, while making 'test_dynamic'
  ELIZABETH/Thread-Tie-0.13.tar.gz
  C:\STRAWB~1\c\bin\dmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports ELIZABETH/Thread-Tie-0.13.tar.gz
Stopping: 'install' failed for 'Thread::Tie'.