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

I am attempting to install perl modules on a Win2k box. I have cygwin installed, along with Perl 5.6.0, and I've added nmake.exe. When trying to install using cpan, I get the following error:
'link' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x1'
  D:\Perl\5.6.0\bin\MSWin32-x86\nmake.exe  -- NOT OK
Running make install
  Oops, make had returned bad status

When trying to install just using make, I get a ' *** missing separator. Stop. ' error.

Any ideas?

Replies are listed 'Best First'.
Re: Perl modules in Win32
by Asim (Hermit) on Jul 28, 2000 at 20:34 UTC
    The answe is, "Don't use make." make from Cygwin does not compile ActiveState modules properly (although you can hack the Makefiles to use it.) I use Microsoft's nmake, which works fine. I never can remember where it is on their ftp server, but a search on, say, google should find you a link for it.

    But, yes, if at all possible, use PPM. It's much simpler, and it keeps a database of what you have, so it's easy to update.

    ----Asim, known to some as Woodrow.

Re: Perl modules in Win32
by tye (Sage) on Jul 28, 2000 at 22:15 UTC

    You can't use make because your version of Perl (and thus MakeMaker) is configured for use with nmake. The Makefile wants to use link but you probably only have ln. See Re: Installing modules on Win32 for more info.

    So you don't need to use nmake, you need to reconfigure Perl to use the tools that you have. The easiest and only really supported way to configure this stuff is when you build Perl. But you can probably get away with reconfiguring by hand if you know what you are doing or don't mind learning what you are doing by trial and error and occasional research.

    And, yes, you can probably use PPM because it sounds like you have ActivePerl. But there are plenty of modules that can't be installed with PPM because ActiveState hasn't bothered to produce a binary distribution for them.

Re: Perl modules in Win32
by KM (Priest) on Jul 28, 2000 at 19:12 UTC
    Have you tried using PPM? If I recall, there is also a gmake which you can try. But, I would use PPM if at all possible.


      Can PPM & ActivePerl be used with mod_perl? The eventual goal is to get Apache w/ mod_perl up and running with mySQL & all those modules... Apache w/ mod_perl is running, but now I can't get those modules installed...
        ActivePerl and PPM have nothing to do with mod_perl. Just install the modules and use ActivePerl as you would use Perl on Unix with Apache/mod_perl. Have you yet tried installing with PPM? Have you yet tried using ActivePerl with your Apache?


RE: Perl modules in Win32
by mrmick (Curate) on Jul 28, 2000 at 19:33 UTC
    Assuming you don't have ActivePerl, go to ActiveState and get the latest build of ActivePerl. There is a utility called ppm (Perl Package Manager) that will help you install the modules. There is online documentation included that you can refer to as well.

Re: Perl modules in Win32
by SuperCruncher (Pilgrim) on Jul 28, 2000 at 22:15 UTC
    I've recently made two related posts Installing modules on Win32 and Thanks - Win32 module help. Although I haven't been using Win2k (I've been using Win98) I can probably give you some help.

    From what I remember, that error is the same error that WinNT uses for "bad command or filename". I can only assume that cygwin hasn't been installed properly (is it in your path?) Personally I didn't have much luck with cygwin so I can't comment on that. Were you running nmake from it?

    Perl's module generates makefiles in the syntax for whatever version of make perl -V:make tells you (see linked nodes for more info), so it is not surprising that the makefile works with one 'make' and not the other.

    It's not surprising that asim couldn't find nmake, I found I really difficult to find which is why I made a point of linking to it from the above nodes.

    I couldn't get PPM working, so I just jacked in ActiveState (after all, their install broke my Windows installation -- but is mostly poor Windows design). I shifted over to a IndigoPerl and I've been far happier with it and the DPM prog provided (binary compatible with PPM repositories).

    Hope this helps.

Re: Perl modules in Win32
by KM (Priest) on Jul 28, 2000 at 19:36 UTC
    Here is the PPM FAQ in case you need it PPM FAQ.