in reply to Can't run nmake

nmake.exe v1.50 is so ancient--a current-ish version is Microsoft (R) Program Maintenance Utility Version 9.00.21022.08-- that it is little wonder that it doesn't work for you under XP.

It is akin to trying to update your Twitter account with this.

Some (probably vehemently anti-MS) person thought that adding an automated download of this ancient tool, to the CPAN shell was a cool move. Worse, they even do it if you have a modern version of nmake correctly installed on your machine.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP an inspiration; A true Folk's Guy

Replies are listed 'Best First'.
Re^2: Can't run nmake
by ikegami (Patriarch) on Jul 17, 2010 at 07:10 UTC

    the current version is Microsoft (R) Program Maintenance Utility Version 9.00.21022.08

    I have Microsoft (R) Program Maintenance Utility Version 10.00.30319.01

      Geez! Acceptable now?

        I don't understand your question.
Re^2: Can't run nmake
by pKai (Priest) on Jul 17, 2010 at 22:36 UTC

    I don't know about the anti-MS motivation.

    When MS changed from 16-Bit DOS to 32-Bit Windows [95] the then current nmake 1.4 (included in MSVC 1.5) exposed a massive bug in the new 32-Bit environment.

    As a consequence MS published a bugfix (KB132084) which offered the fix (nmake 1.5) as a freely available download for that program, which was otherwise only available as part of the commercial MSVC.

    Also in later years nmake was only available as part of the payware compiler. When did MS start to give compilers away for free (aka Express editions ?)

    So at the time of nmake 1.5 the (KB) knowledgebase page of MS with its few KB(kilobytes) download of a free nmake was a godsend for the Perl people, who wanted to ease the life of Windows users.

    Update: make explicit KB = (ms) knowledge base and KB = K byte

      When did MS start to give compilers away for free (aka Express editions ?)

      I don't have exact time-lines, nor can I think of any easy way of obtaining them, but I think that you're asking the wrong question. The question should be: "When was the horribly broken, automated download of nmake15 added to cpan.pm?"

      On the basis of my memory only, but I am very confident that I had been using one of the MS free compilers for building XS extensions for a year or two before I installed a new version of (AS) Perl that suddenly decided to pull and use nmake15 each time I tried to use the CPAN shell. Despite that I had a fully working setup on my system, and nmake.exe was availble via my path; just because it "couldn't find it" by looking in an arbitrary list o wrong places.

      My from-memory guess is that this happened around 5.8.6 or later.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
Re^2: Can't run nmake
by Anonymous Monk on Jul 17, 2010 at 02:37 UTC

    Thanks for the help...and the phone was a nice touch! LOL. Forgive my ignorance, but where do I find this and how would I use it? Is it a nmake.exe that I need to move to the perl module directory? I am having trouble locating it. Thanks.

      Is it a nmake.exe that I need to move to the perl module directory?

      nmake.exe is being found. It is nmake.exe that is printing:

      Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved.

      The problem is that it doesn't understand the contents of the makefile. Probably because it uses syntax that hadn't beem invented when the v1.50 was released.

      To get a later version of nmake.exe, you will have to install one of MS C++ compilers. These can be downloaded for free from the MS website. Try googling for visual C++ express download


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.