2010-09-19 161 views
2

當我嘗試使用perlbrew安裝Perl 5.12.2時,由於CPANPLUS測試失敗,最終得到一個錯誤。爲什麼perlbrew在安裝perl-5.12.2時失敗?

  Making utilities 
make[1]: Entering directory `/home/dave/perl5/perlbrew/build/perl-5.12.2/utils' 
make[1]: Nothing to be done for `all'. 
make[1]: Leaving directory `/home/dave/perl5/perlbrew/build/perl-5.12.2/utils' 
cd t && (rm -f perl; /bin/ln -s ../perl perl) 
./runtests choose 
t/base/cond....................................................ok 
t/base/if......................................................ok 

#### MISSING PART (Dave) 

cpan/CPANPLUS/t/00_CPANPLUS-Internals-Utils....................ok 
cpan/CPANPLUS/t/01_CPANPLUS-Configure..........................ok 
cpan/CPANPLUS/t/02_CPANPLUS-Internals..........................ok 
cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source...................# Failed test ' Timestamp on sourcefile updated' 
# at t/03_CPANPLUS-Internals-Source.t line 204. 
#  '1284895103' 
#   >= 
#  '1284905946' 
FAILED at test 40 
cpan/CPANPLUS/t/04_CPANPLUS-Module.............................ok 
cpan/CPANPLUS/t/05_CPANPLUS-Internals-Fetch....................ok 

#### MISSING PART (Dave) 

cpan/ExtUtils-CBuilder/t/02-link...............................ok 
cpan/ExtUtils-CBuilder/t/03-cplusplus..........................ok 
cpan/ExtUtils-Command/t/cp.....................................# Failed test 'cp updated mtime' 
# at t/cp.t line 26. 
#  '10844' 
#   <= 
#  '1' 
# Looks like you failed 1 test of 1. 
FAILED at test 1 
cpan/ExtUtils-Command/t/eu_command.............................ok 
cpan/ExtUtils-Constant/t/Constant..............................ok 

#### MISSING PART (Dave) 

t/porting/podcheck.............................................ok 
t/porting/test_bootstrap.......................................ok 
Failed 2 tests out of 1695, 99.88% okay. 
    ../cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source.t 
    ../cpan/ExtUtils-Command/t/cp.t 
### Since not all tests were successful, you may want to run some of 
### them individually and examine any diagnostic messages they produce. 
### See the INSTALL document's section on "make test". 
### You have a good chance to get more information by running 
### ./perl harness 
### in the 't' directory since most (>=80%) of the tests succeeded. 
### You may have to set your dynamic library search path, 
### LD_LIBRARY_PATH, to point to the build directory: 
### setenv LD_LIBRARY_PATH `pwd`; cd t; ./perl harness 
### LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH; cd t; ./perl harness 
### export LD_LIBRARY_PATH=`pwd`; cd t; ./perl harness 
### for csh-style shells, like tcsh; or for traditional/modern 
### Bourne-style shells, like bash, ksh, and zsh, respectively. 
u=2.33 s=1.00 cu=243.43 cs=35.83 scripts=1695 tests=350144 
make: *** [test] Error 1 

完整的日誌文件可以found at scribd

回答

3

你不會找到這個安慰,但我只是一個幾個星期前,沒有夜長夢多安裝Perl 5.12.2 Perlbrew下:(

的差異可能:

  • 我內容M還在使用舊版本的Perlbrew(0.03)

  • 我安裝Perlbrew直接而不是通過CPAN通過使用以下步驟(抱歉,如果從之前的重複諮詢):

    curl -LO https://raw.githubusercontent.com/gugod/App-perlbrew/master/perlbrew 
    chmod +x perlbrew 
    ./perlbrew install 
    
  • 東西在過去的幾個星期對CPANPLUS改變(我不能看到任何東西)

  • CPANPLUS有一些舊的錯誤可能在一定條件下不與perlbrew或者也許你的環境以及發揮?:https://rt.cpan.org/Public/Dist/Display.html?Name=CPANPLUS

因此可能根本不是Perlbrew問題。如果您嘗試直接編譯Perl 5.12.2,可能會發現您遇到相同的測試失敗。要在本地編譯,請參考source tar ball中的general和任何特定的自述文件。一旦焦油球的一般步驟是解壓是:

sh Configure -Dprefix=/home/your_username/your_local_dir_for_perl-5.12.2 
make 
make test 
make install 


總之,CPANPLUS是另一種CPAN殼是不是必需的。所以,如果這是唯一的測試失敗的安裝,那麼你可以忽略它們,並強制安裝。這可以追溯到perlbrew是:

perlbrew install perl-5.12.2 -f 
2

的試驗失敗CPANPLUS,因此Perl將不會安裝。您可以強制安裝,然後嘗試重新安裝CPANPLUS。錯誤輸出的最後一行告訴你該怎麼做。如果你之前沒有安裝你自己的perl,我建議不要使用perlbrew。這是一個足夠體面的自動化工具,但不應該用它來避免瞭解它爲您實現的自動化。它基本上運行一些簡單的線來安裝perl,然後繞過一些符號鏈接。

請不要使用scribd這種事情。在這裏永久捕獲信息的相關部分,以便始終處理您的問題。