Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks,

I tried to install Parse::RecDescent module in cygwin as below, but i am getting error as

$ perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Parse::RecDescent $ make cp lib/Parse/RecDescent.pm blib/lib/Parse/RecDescent.pm $ make test /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'bli +b/lib', 'b lib/arch')" t/*.t t/00.load......1/1 # Testing Parse::RecDescent 1.96.0 t/00.load......ok t/basics.......1/19 Name "main::D" used only once: possible typo at t/ +basics.t l ine 15. t/basics.......ok t/pod..........Can't open perl script ""-I/cygdrive/c/Protocol Buffers +/Protocol Buffers/Parse-RecDescent-1.96.0/blib/lib"": No such file or directory t/pod.......... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Test Summary Report ------------------- t/pod.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=3, Tests=20, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.37 cusr + 0.06 csy s = 0.45 CPU) Result: FAIL Failed 1/3 test programs. 0/20 subtests failed. make: *** [test_dynamic] Error 2 $

Also i tried PREFIX=/usr/lib/perl5/vendor_perl/5.10 in the Makefile and still i am getting same error. Kindly help to resolve this error. Thanks in advance.

Replies are listed 'Best First'.
Re: Problem in Parse::RecDescent Installation
by syphilis (Archbishop) on Dec 30, 2008 at 09:12 UTC
    Apart from the t/pod.t failure (which is the only failure you're getting), I get the same output on Cygwin (and native Win32).

    That t/pod.t failure is a rather strange one. Try building the module inside the Cygwin installation (eg in a specially created ~/perl_build directory), or at least in a directory whose name doesn't contain any white space.

    If all else fails, I'd just install the module anyway. The t/pod.t tests are simply testing that the pod documentation renders ok. It's unlikely that there's anything wrong with the pod, but even if there is, the module will still be perfectly functional. (You would just have trouble reading the documentation.)

    If you're really bothered by this, and don't get a satisfactory explanation here, try the cygwin mailing list. Other than that, you could perhaps try an earlier version of Parse::RecDescent.

    Cheers,
    Rob
Re: Problem in Parse::RecDescent Installation
by Corion (Patriarch) on Dec 30, 2008 at 09:02 UTC

    You have whitespace in your directory name. Obviously the test t/pod.t is written in neglect of whitespace in filenames or directory names. One fix is to remove the whitespace from the directory name, the other is to ignore that test failure, as that test only tests that the documentation of the module is syntactically correct.

Re: Problem in Parse::RecDescent Installation
by ikegami (Patriarch) on Dec 30, 2008 at 09:03 UTC
    At a glance, there's an extra set of quotes in there, probably as a result of something mishandling the space in the path. Try installing it from a path with no spaces in it.