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

Hello I am a complete idiot so some help on an easy question. extutils::makemaker got uninstalled on my system. I have the makemaker.pm file but I dont know what to do with it. I havn't been using perl long and dont know what to do with this. Some help please?

Replies are listed 'Best First'.
Re: extutils::makemaker
by Corion (Patriarch) on Mar 15, 2005 at 08:57 UTC

    Did this really happen? If so, your Perl installation has been severely crippled, and I think it would be unadvisable to keep using such a badly administered Perl. You spell the module extutils::makemaker, but the real name of it is ExtUtils::MakeMaker - did you verify that the module is not installed with this code?

    perl -MExtUtils::MakeMaker -e1

    If it still tells you that it can't find ExtUtils::MakeMaker, you can try to install ExtUtils::MakeMaker manually by copying the relevant files into a private directory. Please mind that ExtUtils::MakeMaker consists of several files, so MakeMaker.pm alone won't suffice.

    (Untested) Steps for manually installing ExtUtils::MakeMaker locally.

    1. Go to http://www.cpan.org, and download ExtUtils::MakeMaker. You want the latest stable release.
    2. Download the .tar.gz
    3. Unpack it into a separate temporary directory
    4. Create a local directory in your home directory, say, /home/user/anonymous/perl-lib. This will be your private Perl library directory.
    5. Take all files in the lib/ directory, and copy them into your private Perl library directory (/home/user/anonymous/perl-lib in the example)
    6. Test that everything looks better via
      perl -I~/perl-lib -MExtUtils::MakeMaker -e1
      (no error there means everything works)
    7. Set the environment variable PERL5LIB to /home/user/anonymous/perl-lib, assuming that is the full path to your home directory. Check if that worked:
      perl -MExtUtils::MakeMaker
    8. Alternatively add the following line to the top of all your scripts that use ExtUtils::MakeMaker:
      use lib '~/perl-lib';

    These steps try to guide you through installing the latest version of ExtUtils::MakeMaker. A safer/saner approach might be to try to install the exact version that came with your version of Perl. For that, you need the following additional steps:

    1. Determine your Perl version:
      perl -v
      Let's pretend you have version 5.8.2
    2. Locate your Perl version on http://ftp.funet.fi/pub/CPAN/src/
    3. Download the .tar.gz file
    4. Unpack the .tar.gz file
    5. Take the files in lib/ExtUtils and the file ExtUtils.pm in the directory lib, and manually copy these into your private directory.
    6. Set up your environment or script like above.
Re: extutils::makemaker
by borisz (Canon) on Mar 15, 2005 at 08:44 UTC
    read the docs:  perldoc ExtUtils::MakeMaker.
    ExtUtils::MakeMaker ships with perl. Therefor I think you did not uninstall it.
    Boris
      I would suggest getting your sysadmin to reinstall Perl...
Re: extutils::makemaker
by systems guy (Initiate) on Mar 15, 2005 at 13:30 UTC
    Hello Anonymous and all,

    I too am a newb to perl and I regret to inform that i can't answer your question. However;
    I also have an issue getting a .pm file in.
    I'm not sure how the MakeMaker does its thing...
    I'm trying to install an API module for a Domain Search interphase. It's there,... it's in the perl folder... my cgi won't find it.. and running the 'make, make test, make install' gamut doesn't seem to get me anywhere. Does anyone know what I'm missing here.

    Can you run those commands Anon??... If so are you running them from a telnet?