Welche Schritte sind zu ergreifen, wenn die CPAN-Installation fehlschlägt?

9252
pythonic metaphor

Ich habe CPAN oft verwendet, um Perl-Module zu installieren, aber ich hatte das Glück, dass es funktioniert. Leider versuchte ich heute, Thread :: Pool zu installieren, und einer der erforderlichen Abhängigkeiten, Thread :: Converyor :: Monitored, schlug den Test fehl:

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 

Welche Schritte unternehmen Sie, um zu sehen, warum eine Installation fehlgeschlagen ist? Ich bin mir nicht einmal sicher, wie ich anfangen soll, den Fehler herauszufinden.

0
Mit dieser Frage zu StackOverflow haben Sie möglicherweise mehr Glück. Geben Sie als Ausgangspunkt "look Thread :: Conveyor :: Monitored" ein, um in das Verzeichnis zu gelangen, das CPAN zum Kompilieren der Quelle verwendet, und versuchen Sie, einen Weg zu finden, um weitere Informationen aus dem Schritt "make test" zu erhalten -p "scheint eine gute Sache zu sein, basierend auf dem Fehler." beweisen Sie --verbose "wäre auch einen Versuch wert). Steve Simms vor 14 Jahren 1

2 Antworten auf die Frage

2
Steve Simms

Looking at the module, it seems to be failing for just about everyone, according to the test reports.

My guess from the error message is that it's starting tests in separate threads, and some later tests are taking less time than earlier ones. When they complete, that's printing the test results out of order, which is causing the failure.

That probably just means the tests are bad, rather than the code itself, and you can do force install Thread::Conveyor::Monitored to bypass the testing.

Ich denke das ist richtig. pythonic metaphor vor 14 Jahren 0
0
Satanicpuppy

Well, the first thing I'd do is try and build the module from source. Lot of times you can get better errors there, and, if nothing else, at least you'll still have the entire make log to look at (make sure to pipe it to a file).

Ich habe versucht, dies von der Quelle aus zu tun, und wenn ich make test ausführen, erhalte ich die gleichen Diagnosemeldungen. Das Make selbst ist in Ordnung - ich denke, das ist ein reines Perl-Modul, also gibt es nichts zu machen. Das Problem ist, dass die Tests fehlschlagen. pythonic metaphor vor 14 Jahren 0
Steve hatte recht, denke ich. Die Tests sind schlecht geschrieben. pythonic metaphor vor 14 Jahren 0
@pythonic-Metapher: Cool. Satanicpuppy vor 14 Jahren 0