Que passos dar quando a instalação do CPAN falhar?

0

Eu usei o CPAN para instalar módulos perl em algumas ocasiões, mas tive sorte o suficiente para que funcionasse. Infelizmente, eu estava tentando instalar o Thread :: Pool hoje e uma das dependências necessárias, Thread :: Converyor :: Monitored falhou no teste:

Test Summary Report
-------------------
t/Conveyor-Monitored02.t (Wstat: 65280 Tests: 89 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Tests out of sequence.  Found (2) but expected (4)
                Tests out of sequence.  Found (4) but expected (5)
                Tests out of sequence.  Found (5) but expected (6)
                Tests out of sequence.  Found (3) but expected (7)
                Tests out of sequence.  Found (6) but expected (8)
Displayed the first 5 of 86 TAP syntax errors.
Re-run prove with the -p option to see them all.
Files=3, Tests=258,  6 wallclock secs ( 0.07 usr  0.03 sys +  4.04 cusr  1.25 csys =  5.39 CPU)
Result: FAIL
Failed 1/3 test programs. 0/258 subtests failed.
make: *** [test_dynamic] Error 255
  ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
 ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz: make_test NO

Quais são os passos para começar a ver porque uma instalação falhou? Eu nem sei como começar a rastrear o que está errado.

    
por pythonic metaphor 26.05.2010 / 19:57

2 respostas

2

Olhando para o módulo, parece que está falhando para quase todos, de acordo com os relatórios de teste.

Meu palpite na mensagem de erro é que está iniciando testes em encadeamentos separados e alguns testes posteriores estão demorando menos tempo do que os anteriores. Quando eles concluem, isso está imprimindo os resultados do teste fora de ordem, o que está causando a falha.

Isso provavelmente significa que os testes são ruins, em vez do próprio código, e você pode fazer force install Thread::Conveyor::Monitored para ignorar o teste.

    
por 27.05.2010 / 02:39
0

Bem, a primeira coisa que faço é tentar construir o módulo a partir do código-fonte. Muitas vezes você pode obter melhores erros lá e, se nada mais, pelo menos você ainda terá todo o log make para olhar (certifique-se de canalizá-lo para um arquivo).

    
por 26.05.2010 / 20:02

Tags