Erronous error message related to nmake.exe not in PATH

Posted by luke1410 on 2017-01-05 15:15

Steps to reproduce the problem:
Using ActivePerl 5.24.0.2400 and OpenSSL 1.1.0c run "perl Configure VC-WIN64A" from a Visual Studio 2015 command prompt.

Actual result:
The following error will be presented:
It looks like you don't have either nmake.exe or dmake.exe on your PATH,
so you will not be able to execute the commands from a Makefile. You can
install dmake.exe with the Perl Package Manager by running:

ppm install dmake

Expected result:
No error will be presented.

Note that nmake.exe is very well available from the Visual Studio 2015 command prompt (even though it's not in the system environment's PATH settings - it's being added to PATH by starting the Visual Studio 2015 command prompt though).

Please note that the issue was reported to OpenSSL already on 05/16/2016 where it was determined to be an issue related to ActivePerl rather than OpenSSL.

Passing on the actual analysis from levitte ( https://github.com/openssl/openssl/issues/1072 ):
"This is caused by our use of IPC::Cmd::can_run, and somewhere deep down, ends up having Config interacting with ExtUtils::MakeMaker in some off manner, print that string and then just return to whatever level up."

Some more related details are available here: http://www.luke1410.de:8090/browse/MAXSVN-82

grahams
ActiveState Staff
Fri, 2017-01-06 10:06

You have problems with the Perl too. Suggested alternative: Upgrade to 5.24.0.2401 where OpenSSL has already been updated.

Since 5.18, ActivePerls are compiled with GCC compilers, and Microsoft toolchains are *not* compatible.

We wouldn't recommend VS 2015 in any case. With the 5.16 and older Perls, the recommended 32 bit choice is still VC6 and the recommended 64 toolchain comes from the SDK for Windows 2003.

See this FAQ.
https://community.activestate.com/faq/windows-compilers-perl-modules