在Ubuntu 14.04中安装Tkx perl模块时遇到问题



为了安装一个名为PrimerMapper的包,用于在Ubuntu 14.04上设计primer,我需要安装一个名为Tkx的perl模块,但在安装时遇到麻烦。所以,请帮助我解决这个错误。为了方便您快速参考,我粘贴了完整的安装命令。谢谢你。

**adnan@adnan-Inspiron-N5110[Tkx-1.09]** sudo perl Makefile.PL            
Writing Makefile for Tkx
Writing MYMETA.yml and MYMETA.json
**adnan@adnan-Inspiron-N5110[Tkx-1.09]** sudo make                        
Skip blib/lib/Tkx/Tutorial.pod (unchanged)
Skip blib/lib/Tkx.pm (unchanged)
Skip blib/lib/Tkx/MegaConfig.pm (unchanged)
Skip blib/lib/Tkx/LabEntry.pm (unchanged)
cp tkx-prove blib/script/tkx-prove
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/tkx-prove
cp tkx-ed blib/script/tkx-ed
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/tkx-ed
Manifying blib/man1/tkx-ed.1p
Manifying blib/man3/Tkx::MegaConfig.3pm
Manifying blib/man3/Tkx::LabEntry.3pm
Manifying blib/man3/Tkx::Tutorial.3pm
Manifying blib/man3/Tkx.3pm
**adnan@adnan-Inspiron-N5110[Tkx-1.09]** sudo make test                  
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/LabEntry.t ...... 1/2  (in cleanup) Can't call method "DeleteCommand" on an undefined value at /usr/local/lib/perl/5.18.2/Tcl.pm line 655 during global destruction.
t/LabEntry.t ...... ok   
t/mega-config.t ... ok   
t/mega.t .......... ok   
t/nul-char.t ...... ok   
t/tcl-callback.t .. 1/7  (in cleanup) Can't call method "DeleteCommand" on an undefined value at /usr/local/lib/perl/5.18.2/Tcl.pm line 655 during global destruction.
t/tcl-callback.t .. ok   
t/tcl.t ........... 1/18 # Test 18 got: "Tcl error 'Foo at /usr/local/lib/perl/5.18.2/Tcl.pm line 585.n' while invoking scalar result call:nt"error Foo" at /usr/local/lib/perl/5.18.2/Tcl.pm line 588.ntTcl::call('Tcl=SCALAR(0x1b2ce48)', 'error', 'Foo') called at /media/windows/NGS/GATK_FINAL_PIPELINE/PrimerMapper-master/Tkx-1.09/blib/lib/Tkx.pm line 329nteval {...} called at /media/windows/NGS/GATK_FINAL_PIPELINE/PrimerMapper-master/Tkx-1.09/blib/lib/Tkx.pm line 329ntTkx::i::call('error', 'Foo') called at /media/windows/NGS/GATK_FINAL_PIPELINE/PrimerMapper-master/Tkx-1.09/blib/lib/Tkx.pm line 51ntTkx::AUTOLOAD('Foo') called at t/tcl.t line 38nteval {...} called at t/tcl.t line 38n" (t/tcl.t at line 39)
#    Expected: "Foo at t/tcl.t line 38.n"
#  t/tcl.t line 39 is: ok($@, "Foo at @{[__FILE__]} line @{[__LINE__ - 1]}.n");
t/tcl.t ........... Failed 1/18 subtests 
t/tk.t ............ 12/12        (in cleanup) Can't call method "DeleteCommand" on an undefined value at /usr/local/lib/perl/5.18.2/Tcl.pm line 655 during global destruction.
t/tk.t ............ ok     
t/utf8.t .......... ok   
Test Summary Report
-------------------
t/tcl.t         (Wstat: 0 Tests: 18 Failed: 1)
  Failed test:  18
Files=8, Tests=54,  9 wallclock secs ( 0.15 usr  0.03 sys +  1.85 cusr  0.31 csys =  2.34 CPU)
Result: FAIL
Failed 1/8 test programs. 1/54 subtests failed.
make: *** [test_dynamic] Error 255
  GAAS/Tkx-1.09.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports GAAS/Tkx-1.09.tar.gz
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
 GAAS/Tkx-1.09.tar.gz                         : make_test NO

模块的测试没有成功通过。

我首先尝试的一件事是尝试安装cpancpanminus (cpan Tkxcpanm Tkx)模块。您(或Makefile.PL)可能错过了可能导致此错误的某些内容。

我看到你已经打开了CPAN的bug报告。你可以在cpantester中看到这个模块有测试失败(你可以检查你的特定Perl版本),还有一个5年前的错误报告,报告了当前在CPAN(1.09)上的相同版本的测试失败。

考虑到这一点,我认为你的选择是跳过测试,看看它是否适合你的目的。

我最近采用了Tkx并发布了1.10版本,它允许在使用t/tcl的情况下继续安装。T检验18失败

测试失败似乎是由于更新的Tcl.pm中错误消息格式的意外但较小的更改引起的。在实际修复这个问题之前,Tkx不应该中止安装。

Ubuntu已经有了一个打包的Tkx版本,所以要获得Tkx和它的任何依赖项所需要做的就是:

sudo apt-get install libperl-tkx

最新更新