2

为了在 Ubuntu 14.04 上安装一个名为 PrimerMapper 的包来设计引物,我需要安装一个名为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:\n\t\"error Foo\" at /usr/local/lib/perl/5.18.2/Tcl.pm line 588.\n\tTcl::call('Tcl=SCALAR(0x1b2ce48)', 'error', 'Foo') called at /media/windows/NGS/GATK_FINAL_PIPELINE/PrimerMapper-master/Tkx-1.09/blib/lib/Tkx.pm line 329\n\teval {...} called at /media/windows/NGS/GATK_FINAL_PIPELINE/PrimerMapper-master/Tkx-1.09/blib/lib/Tkx.pm line 329\n\tTkx::i::call('error', 'Foo') called at /media/windows/NGS/GATK_FINAL_PIPELINE/PrimerMapper-master/Tkx-1.09/blib/lib/Tkx.pm line 51\n\tTkx::AUTOLOAD('Foo') called at t/tcl.t line 38\n\teval {...} called at t/tcl.t line 38\n" (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
4

3 回答 3

1

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

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

我看到你已经打开了关于 CPAN的错误报告。您可以在cpantesters中看到该模块的测试已损坏(您可以检查您的特定 Perl 版本),并且还有另一个5 年前的错误报告报告了当前 CPAN(1.09)上相同版本的损坏测试。

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

于 2016-06-28T07:46:23.457 回答
1

我最近采用了 Tkx 并发布了 1.10 版,尽管 t/tcl.t 测试 18 失败,但它允许继续安装。

测试失败似乎是由于在较新的 Tcl.pm 中对错误消息格式进行了意外但微小的更改。在实际解决问题之前,Tkx 不应该放弃安装。

于 2021-03-03T09:57:26.403 回答
0

已经有一个适用于 Ubuntu 的 Tkx 打包版本,因此获取 Tkx 及其任何依赖项所需要做的就是:

sudo apt-get install libperl-tkx
于 2018-06-16T02:17:58.317 回答