Why does perlbrew fail while installing perl-5.12.2?

落爺英雄遲暮 提交于 2021-02-08 04:15:50

问题


When I try to install Perl 5.12.2 with perlbrew, I get an error at the end because the CPANPLUS tests fail.

         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

The full log file can be found at scribd


回答1:


You're not going to find this comforting but I had no hitches installing perl 5.12.2 under Perlbrew just a couple of weeks ago :(

The differences maybe:

  • I'm still using old version of Perlbrew (0.03).

  • I installed Perlbrew direct and not via CPAN by using these steps (sorry if repeating advice from before):

    curl -LO https://raw.githubusercontent.com/gugod/App-perlbrew/master/perlbrew
    chmod +x perlbrew
    ./perlbrew install
    
  • Something changed on CPANPLUS in last couple of weeks (I can't see anything though)

  • CPANPLUS has some old bugs which may under certain conditions not play well with perlbrew or perhaps your environment?: https://rt.cpan.org/Public/Dist/Display.html?Name=CPANPLUS.

So may not be a Perlbrew issue at all. You may find you hit same test failure if you try and compile Perl 5.12.2 directly. To compile locally please consult general and any specific README file in the source tar ball. The general steps once tar ball is unpacked are:

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


Anyhow, CPANPLUS is another CPAN shell and isn't essential. So if thats the only tests failing on the install then you could ignore them and force an install. Which going back to perlbrew is:

perlbrew install perl-5.12.2 -f



回答2:


The tests for CPANPLUS failed, so perl won't install. You can force it to install then try reinstalling CPANPLUS. The last lines of the error output tell you exactly what to do. If you haven't installed your own perl before, I recommend against using perlbrew. It's a decent enough automation tool, but you shouldn't use it to avoid learning what it is automating for you. It basically runs a couple of simple lines to install perl then it moves around some symlinks.

Please don't use scribd for this sort of thing. Capture the relevant parts of the information here permanently so it is always with your question.



来源:https://stackoverflow.com/questions/3745586/why-does-perlbrew-fail-while-installing-perl-5-12-2

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!