0

I have

  • ActivePerl 5.24 x86
  • NASM 2.12.02
  • Visual Studio 2010 Ultimate 10.0.30309
  • Windows 7 Ultimate x64

I extracted source code, opened Visual Studio Command Prompt (2010) and entered following command:

perl Configure VC-WIN32 --prefix:C:\openSSL-win32

I get this error:

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

I surely have nmake in VS Command Prompt. How can I tell Perl to see my nmake in VS directory?

P.S. These paths are my in my %PATH%:

  • C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
  • C:\Perl\bin
  • C:\Program Files (x86)\NASM

EDIT: Below is my current PATHs.

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\
C:\Perl\site\bin
C:\Perl\bin
C:\app\User\product\11.2.0\client_1\bin
C:\ProgramData\Oracle\Java\javapath
C:\Program Files (x86)\Intel\iCLS Client\
C:\Program Files\Intel\iCLS Client\
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Program Files\Intel\WiFi\bin\
C:\Program Files\Common Files\Intel\WirelessCommon\
C:\Program Files\ThinkPad\Bluetooth Software\
C:\Program Files\ThinkPad\Bluetooth Software\syswow64
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT
C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86
C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64
C:\SWTOOLS\ReadyApps
C:\Program Files (x86)\Common Files\Lenovo
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\
C:\Program Files\Microsoft\Web Platform Installer\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\
C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\
C:\Program Files (x86)\NASM\
jww
  • 97,681
  • 90
  • 411
  • 885
Mustafa Chelik
  • 2,113
  • 2
  • 17
  • 29
  • Open a developer prompt and change directories into OpenSSL as detailed at [nmake: command not found when building OpenSSL](http://stackoverflow.com/a/38778378/608639). For completeness, OpenSSL does not supply Visual Studio project files, so you can't build under Visual Studio *per se*. You happen to use the Visual Studio tools, however. If you do find some Visual Studio project files on the web, they may (or may not) work, but they surely won't be official from the OpenSSL project. – jww Sep 06 '16 at 12:34
  • I already do everything you said. I open `Visual Studio Command Prompt` and try to configure openssl project. VS project file is not needed. People do it without VS project file. – Mustafa Chelik Sep 06 '16 at 12:56
  • It sounds like your paths are not quite right. I test OpenSSL using that configuration (there's a few Windows bug reports in RT because of it), so I know it works. Echo you `%PATH%` or run `set` to print it, and then post the PATH. Also, what version of OpenSSL? OpenSSL 1.1.0 and Windows got a fair amount of attention before release. But its possible something got bent before release. – jww Sep 06 '16 at 13:13
  • Here is my %PATH%: http://pastebin.com/L5iKuFn5 You can see that I have perl, VS and nasm in it. Yes y openSSL is 1.1.0 – Mustafa Chelik Sep 07 '16 at 07:33
  • It does not look like a developer prompt; it looks like a regular command prompt. Did you add `C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin` by hand? Its also missing `...\VC\bin\amd64` as a second path entry. When I look at my Win8.1 test machine, I have: (1) VS 2012: `C:\Program Files (x86)\Microsoft Visual Studio 11`; (2) VS 2013: `C:\Program Files (x86)\Microsoft Visual Studio 12`; and (3) VS 2015: `C:\Program Files (x86)\Microsoft Visual Studio 14`; – jww Sep 07 '16 at 07:44
  • Yes, I added \VC\bin by hand because I wanted to try everything :( Anyway when I remove it it doesn't work either. – Mustafa Chelik Sep 07 '16 at 07:47
  • Please open a ***Developer Command Prompt***, and tell us the path from it. Echo `%PATH%` or run `set` to print it, and then post the `PATH`. Paths will be separated with a semi-colon; and not with newlines. Also see [Developer Command Prompt for Visual Studio](https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx) on MSDN. – jww Sep 07 '16 at 07:50
  • I use Visual Studio Command Prompt (Start Menu -> Programs -> Visual Studio 2010 -> Visual Studio Tools -> Visual Studio Command Prompt). I replaced semicolon with newline to better reading experience. This is %PATH% in VS Command Prompt: http://pastebin.com/1WMMQqmS – Mustafa Chelik Sep 07 '16 at 08:31
  • Now I uninstalled ActivePerl and installed Strawberry Perl, it configures without error or warning but there is no `do_ms` in `ms` folder :( – Mustafa Chelik Sep 07 '16 at 08:46
  • It sounds like you are using OpenSSL 1.1.0. just run `nmake` after you configure. – jww Sep 07 '16 at 08:47
  • nmake compiles well but I receive link error now: Creating library libcrypto.lib and object libcrypto.exp LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt NMAKE : fatal error U1077: 'link' : return code '0x1' Stop. – Mustafa Chelik Sep 07 '16 at 09:03
  • Open another question. – jww Sep 07 '16 at 09:10
  • Thank you very much jww for your answers :) – Mustafa Chelik Sep 08 '16 at 06:25

1 Answers1

1

Here is how I solved it (actually openssl's developers in github helped me). I installed Strawberry Perl, installed Visual Studio 2010 SP1 (free to download, about 1.5 GB, you can download ISO format too in Install Instructions section, this is necessary), installed Windows 7 SDK 7.1 (maybe isn't necessary, if nothing worked install it), istalled NASM. Opened Visual Studio 2010 Command Prompt (shortcut is in start menu). Go to the folder that openSSL source code exists in VS Command Prompt. Then input these commands:

perl Configure VC-WIN32    
nmake    
nmake test    
nmake install

After nmake test you should see STATUS: PASSED. After nmake install check your Program Files (x86) folder. There should be two DLLs and openssl.exe.

P.S. put NASM and Perl in your %PATH%.

Good luck

Mustafa Chelik
  • 2,113
  • 2
  • 17
  • 29