3

I have used CPAN to install perl modules on quite a few occasions, but I've been lucky enough to just have it work. Unfortunately, I was trying to install Thread::Pool today and one of the required dependencies, Thread::Converyor::Monitored failed the test:

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

What steps do you take to start seeing why an installation failed? I'm not even sure how to begin tracking down what's wrong.

3 Answers3

3

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.

Steve Simms
  • 2,082
  • 14
  • 7
0

For those unfamiliar with cpan like me, one of the message from your (failed) output is:

//hint// to see the cpan-testers results for installing this module, try:
  reports ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz

This command can be executed by running cpan without arguments, to enter the console mode:

$ cpan

cpan shell -- CPAN exploration and modules installation (v2.11)
Enter 'h' for help.

cpan[1]>

Then type the suggested command in there, this might show you some more explanation about the failure to install.

0

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).

Satanicpuppy
  • 7,205