in reply to Re: Module Install Troubles
in thread Module Install Troubles

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

Replies are listed 'Best First'.
Re^3: Module Install Troubles
by tonyc (Friar) on Aug 22, 2008 at 01:43 UTC
    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.

      OK, here I think the problem was that I didn't have an entry for make install, but just for make in the cpan MyConfig.pm file.

      I've fixed that, and it progressed to test errors in Test::Exception. I've since switched back to the system make.

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

Re^3: Module Install Troubles
by Bloodnok (Vicar) on Aug 21, 2008 at 17:06 UTC
    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 :-))
      OK, uname -a results:
      Linux otdp1 2.6.9-67.0.7.ELsmp #1 SMP Sat Mar 15 06:33:45 EDT 2008 x86 +_64 x86_64 x86_64 GNU/Linux
      Linux ltcons1 2.4.21-32.ELsmp #1 SMP Fri Apr 15 21:17:59 EDT 2005 i686 + i686 i386 GNU/Linux
      Both machines are connected to the internet. For instance, I can manually ftp to one of the CPAN mirror sites from both machines.

      $PATH is:

      .:/home/sgriffit/perl:/home/sgriffit/bin:/home/sgriffit/unix/bin:/usr/perl5/bin:/usr/local/bin:/usr/kerberos/bin:/bin:/usr/bin:/usr/X11R6/bin

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

Re^3: Module Install Troubles
by pileofrogs (Priest) on Aug 21, 2008 at 19:44 UTC

    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

      That path to make is my own install of GNU make. I've since switched back to the system supplied make, with no apparent difference.

      I've gone through and installed some of the dependencies separately through cpan, some install, some don't. The biggest headache seems to be Test::Exception:

      # BEGIN failed--compilation aborted at /otdp1_vol1/home/sgriffit/.cpan/build/Test-Exception-0.27/blib/lib/Test/Exception.pm line 6.
      # Compilation failed in require at (eval 2) line 2.
      # BEGIN failed--compilation aborted at (eval 2) line 2.

      # Failed test 'cannot pass undef to throws_ok'

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

        Okay, if I reach a point like this, I usually start tinkering with the build by hand. You can go to the build dir in your cpan dir and find the source all unpacked for you. Then you can run make test with the verbosity turned up and that might help.

        $ make test TEST_VERBOSE=1

        (I think that's the right syntax)

        Another good thing to try is (from the base dir of the unpacked module source)

        $ prove -v -I lib t/TESTNAME

        Where TESTNAME is the name of one of the files in the t/ dir. This lets you test one test at a time, and it turns on the verbosity. Read the man page on prove, it's cool.

        And then poke around in the t/ directory and read the tests that are failing.

        Another thing that can cause problems that are hard to track down is when you install stuff as root with your umask too tight. In English, that means you install stuff and then your non-root account can't read it. If it's a perl dependency, you get the regular lib-not-found error, but if it's some non-perl dependency, you can get the kind of thing you're seeing.