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

I've been trying to install DBM::Deep on 2 systems, and I'm getting hung up with various tests failing, and the install not completing, even with force.

Is there some troubleshooting guide somewhere that can help me find the root of my problem? I don't think it's specific to this module, as attempts to install other modules meet with similar problems. (It seems like a lot to post reams of test output, especially since I'm not sure how to capture it all for posting.)

Update: As I should have guessed, all my problems were related to bad paths in the cpan configuration. Even after I added user paths for modules, I typoed and had modules going to places that weren't in the environment variable.

Thanks everyone for your efforts.

-QM
--
Quantum Mechanics: The dreams stuff is made of

Replies are listed 'Best First'.
Re: Module Install Troubles
by cbrandtbuffalo (Deacon) on Aug 21, 2008 at 15:51 UTC
    Are you installing manually or with the cpan shell?

    What type of system are you working on (windows, unix, etc.)?

    Maybe you can post a sample of the errors you are seeing, especially on the attempted install?
      Thanks. Good questions.

      I've tried cpan, and some half-hearted manual attempts. I even tried installing CPANPLUS, but that didn't install either.

      Systems are Linux. One is apparently red-hat, but I'm not sure how to be more specific.

      On one system it complained about the system make, so I pulled down the latest GNU make and used that. I've tried it on the second system with DBM::Deep, with this (trailing) result from force install:

      Checking if your kit is complete... Looks good Warning: prerequisite IO::Scalar 0.01 not found. Warning: prerequisite Pod::Usage 1.3 not found. We have 1.16. Warning: prerequisite Test::Deep 0.095 not found. Warning: prerequisite Test::Exception 0.21 not found. Warning: prerequisite Test::Warn 0.08 not found. Writing Makefile for DBM::Deep Can't exec "/home/sgriffith/unix/bin/make": No such file or directory +at /usr/lib/perl5/5.8.5/CPAN.pm line 4566. /home/sgriffith/unix/bin/make -- NOT OK Running make test Can't test without successful make Running make install make had returned bad status, install seems impossible
      Here it seems that the make in the config file isn't the one used. But I think it's really complaining about dependencies, and then gets lost(?).

      Is there some way to catch all of the output? I'm putty-ied in from another machine. Or should I just abandon cpan, and do this from the shell?

      -QM
      --
      Quantum Mechanics: The dreams stuff is made of

        Can't exec "/home/sgriffith/unix/bin/make": No such file or directory at /usr/lib/perl5/5.8.5/CPAN.pm line 4566.

        This looks like your CPAN.pm configuration has a bad value for the make value:

        cpan> o conf make make /usr/bin/make

        In the cpan shell you can set a new value with o conf make newvalue, and you'll want to o conf commit to save the new value.

        If it helps, if they're *NIX boxes, uname -a will fully identify the OS.

        It rather looks like there are dependencies not installed - CPAN will (attempt to) install these dependencies before trying DBM::Deep ... unless, of course, your machines are air-gapped from the inter-web thingy - but there are strategies (posts/responses elsewhere herein) for working round that kind of problem.

        Worse still, this 'smells' like your PATH may be set incorrectly (I suspect echo $PATH will return /home/sgriffith/unix/bin) - I would expect the shell to be attempting to locate make in /usr/bin or somewhere more exotic.

        HTH ,

        A user level that continues to overstate my experience :-))

        Can you install any perl modules? If you can't install any, then your looking at a system setup problem. If you only can't install DBM::Deep, then you should concentrate on DBM::Deep itself.

        The path to make at '/home/sgriffith/unix/bin/make' looks really odd. I'd expect it to try and use '/usr/bin/make'. Do you know why it's trying to use that copy of make? If it's not something you've done on purpose, then it's probably your problem.

        --Pileofrogs