<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Thanks.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>But apparently you missed one of my earlier posts.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have a fair bit of experience building apps from source.  My general experience is that the instructions provided are nearly correct, but that the user must do a little tweaking of the process – presumably because the underlying process is quite complex and depends a *<b>very many</b>* case-specific system configuration details.  Hence, I am quite comfortable debugging most installation processes to get them to work.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Following your suggestion, I get (and reported) the following result:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>----------------------------------------------------------------------------------------<o:p></o:p></p><p class=MsoNormal>Configuring OpenSSL version 1.1.1g (0x1010107fL) for mingw64<o:p></o:p></p><p class=MsoNormal>Using os-specific seed configuration<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>******************************************************************************<o:p></o:p></p><p class=MsoNormal>This perl implementation doesn't produce Unix like paths (with forward slash<o:p></o:p></p><p class=MsoNormal>directory separators).  Please use an implementation that matches your<o:p></o:p></p><p class=MsoNormal>building platform.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This Perl version: 5.28.0 for MSWin32-x64-multi-thread<o:p></o:p></p><p class=MsoNormal>******************************************************************************<o:p></o:p></p><p class=MsoNormal>----------------------------------------------------------------------------------------<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So clearly, either 1) you have done something different from just enter the configure command, or 2) I have something in my programming environment that is different from yours.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’m simply trying to figure out one of those differences.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Mike<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> Sergio NNX <sfhacker@hotmail.com> <br><b>Sent:</b> Friday, June 26, 2020 8:59 AM<br><b>To:</b> openssl-users@openssl.org<br><b>Cc:</b> mhkelley2017@gmail.com<br><b>Subject:</b> Re: Error building OpenSSL-1.1.1g<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>It is so easy to build OpenSSL using MinGW/MSYS!<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>Just type: ./Configure mingw64 ....... <whatever options you need/want><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>                  make all<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><img width=1098 height=321 style='width:11.4375in;height:3.3437in' id="Picture_x0020_1" src="cid:image001.png@01D64B9A.3BF27300"></span><span style='font-size:12.0pt;color:black'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>How much experience do you have building apps from source on Windows? VS didn't work, MinGW didn't work either!<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>We are more than happy to assist you.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>Have fun.<o:p></o:p></span></p></div><div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div class=MsoNormal align=center style='text-align:center'><hr size=2 width="98%" align=center></div><div id=divRplyFwdMsg><p class=MsoNormal><b><span style='color:black'>From:</span></b><span style='color:black'> openssl-users <<a href="mailto:openssl-users-bounces@openssl.org">openssl-users-bounces@openssl.org</a>> on behalf of Matt Caswell <<a href="mailto:matt@openssl.org">matt@openssl.org</a>><br><b>Sent:</b> Friday, 26 June 2020 11:30 PM<br><b>To:</b> <a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a> <<a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a>><br><b>Subject:</b> Re: Error building OpenSSL-1.1.1g</span> <o:p></o:p></p><div><p class=MsoNormal> <o:p></o:p></p></div></div><div><div><p class=MsoNormal><br><br>On 26/06/2020 14:27, <a href="mailto:mhkelley2017@gmail.com">mhkelley2017@gmail.com</a> wrote:<br>> Matt,<br>> <br>> Thanks for your suggestion ...<br>> <br>>>><br>>>> 2. Has anyone succeeded building OpenSSL for use in a Windows<br>>>> 10 environment *without* need for visual studio?<br>>><br>>> You can do this using the MinGW compilers and the MSys2 shell. Note the<br>>> MinGW compilers target *native* windows. So although you use Msys2 to<br>>> build it, the resulting binaries are fully native.<br>> <br>> That was one of the first things I tried.  After exploring a few rabbit holes, I gave up and downloaded Visual Studio..<br>> <br>> Here is how far I got  I have been unable to even figure out where this error comes from ...<br>> <br>> ----------------------------------------------------------------------------------<br>> $ where perl<br>> C:\Perl64\bin\perl.exe<br>> $ perl Configure mingw --prefix=$PREFIX<br>> ******************************************************************************<br>> This perl implementation doesn't produce Unix like paths (with forward slash<br>> directory separators).  Please use an implementation that matches your<br>> building platform.<br>> <br>> This Perl version: 5.24.3 for MSWin32-x64-multi-thread<br>> ******************************************************************************<br><br>For msys2 based builds you must use the msys2 provided perl version, not<br>a native perl. Make sure msys2 has the perl package installed and remove<br>this one from your path.<br><br>Maybe we should add an FAQ section of common faults and how to fix them.<br><br>Matt<br><br><br><br><br>> Configuring OpenSSL version 1.1.1g (0x1010107fL) for mingw<br>> Using os-specific seed configuration<br>> ----------------------------------------------------------------------------------<br>> <br>> <br>> -----Original Message-----<br>> From: openssl-users <<a href="mailto:openssl-users-bounces@openssl.org">openssl-users-bounces@openssl.org</a>> On Behalf Of Matt Caswell<br>> Sent: Friday, June 26, 2020 3:04 AM<br>> To: <a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a><br>> Subject: Re: Error building OpenSSL-1.1.1g<br>> <br>> <br>> <br>> On 26/06/2020 00:47, <a href="mailto:mhkelley2017@gmail.com">mhkelley2017@gmail.com</a> wrote:<br>>> 1. How do I figure out whether OpenSSL is trying to build the 32- or 64-bit version and which options, or environmental variables, or specific PATH elements do I need to pay attention to in order to accomplish that?<br>> <br>> My windows environment died on my recently, so I can't check the actual<br>> output. IIRC just typing "cl" at the command line should give you<br>> details about the compiler being used and whether it is for 32 or 64 bits.<br>> <br>> Visual Studio has a number of "developer command prompts" available with<br>> it. If you start one of those it should have all the right environment<br>> variables set up for you. There should be different command prompts for<br>> 32 bit vs 64 bit.<br>> <br>> <a href="https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs">https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs</a><br>> <br>> Alternatively there is the vcvarsall.bat script which comes with VS that<br>> enables you to setup all the environment variables - you can specify as<br>> an argument to script whether you are targeting 32 bit or 64 bit.<br>> <br>> <a href="https://stackoverflow.com/questions/43372235/vcvarsall-bat-for-visual-studio-2017">https://stackoverflow.com/questions/43372235/vcvarsall-bat-for-visual-studio-2017</a><br>> <br>> As well as the VS tools environment variables you will need to make sure<br>> both Perl (e.g. Strawberry Perl) and NASM are installed and are on your<br>> %PATH%.<br>> <br>> <br>>><br>>> 2. Has anyone succeeded building OpenSSL for use in a Windows 10 environment *without* need for visual studio?<br>> <br>> You can do this using the MinGW compilers and the MSys2 shell. Note the<br>> MinGW compilers target *native* windows. So although you use Msys2 to<br>> build it, the resulting binaries are fully native.<br>> <br>> <br>> There are details in the newly rewritten instructions for Windows:<br>> <br>> <a href="https://github.com/openssl/openssl/blob/OpenSSL_1_1_1-stable/NOTES.WIN">https://github.com/openssl/openssl/blob/OpenSSL_1_1_1-stable/NOTES.WIN</a><br>> <br>> Matt<br>> <br>> <br>>><br>>> I'd really appreciate any useful information or pointers to such.<br>>><br>>> Thanks. <br>>><br>>><br>>> -----Original Message-----<br>>> From: openssl-users <<a href="mailto:openssl-users-bounces@openssl.org">openssl-users-bounces@openssl.org</a>> On Behalf Of Matt Caswell<br>>> Sent: Thursday, June 25, 2020 2:03 PM<br>>> To: <a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a><br>>> Subject: Re: Error building OpenSSL-1.1.1g<br>>><br>>><br>>><br>>> On 25/06/2020 20:20, <a href="mailto:mhkelley2017@gmail.com">mhkelley2017@gmail.com</a> wrote:<br>>>> Thanks! That helped, but I have two follow-ups.<br>>>><br>>>> 1) To whom would I suggest minor changes to the available installation<br>>>> instructions to help avoid future such misunderstandings?<br>>><br>>> You can raise on issue on Github. Or even better raise a PR with your<br>>> suggested changes. However, as it so happens the Windows instructions<br>>> have very recently been significantly updated - so some of your<br>>> suggestions may already have been included:<br>>><br>>> <a href="https://github.com/openssl/openssl/pull/12098">https://github.com/openssl/openssl/pull/12098</a><br>>><br>>>> crypto\aes\aesni-mb-x86_64.obj : fatal error LNK1112: module machine type<br>>>> 'x64' conflicts with target machine type 'x86'<br>>><br>>> This usually occurs when attempting to build 64-bit OpenSSL using the<br>>> 32-bit VisualStudio tools.<br>>><br>>> Matt<br>>><br>>><br>>><br>>>> Could Not Find<br>>>> c:\Users\Owner\LocalPrograms\OpenSSL\openssl-1.1.1g\libcrypto-1_1-x64.*<br>>>> NMAKE : fatal error U1077: 'link' : return code '0x1'<br>>>> Stop.<br>>>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual<br>>>> Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\nmake.exe"'<br>>>> : return code '0x2'<br>>>> Stop.<br>>>><br>>>> -----Original Message-----<br>>>> From: openssl-users <<a href="mailto:openssl-users-bounces@openssl.org">openssl-users-bounces@openssl.org</a>> On Behalf Of Matt<br>>>> Caswell<br>>>> Sent: Thursday, June 25, 2020 12:15 PM<br>>>> To: <a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a><br>>>> Subject: Re: Error building OpenSSL-1.1.1g<br>>>><br>>>><br>>>><br>>>> On 25/06/2020 18:32, Michael Wojcik wrote:<br>>>>>> From: openssl-users [<a href="mailto:openssl-users-bounces@openssl.org">mailto:openssl-users-bounces@openssl.org</a>] On Behalf<br>>>> Of <a href="mailto:mhkelley2017@gmail.com">mhkelley2017@gmail.com</a><br>>>>>> Sent: Thursday, June 25, 2020 11:54<br>>>>><br>>>>>> Error:  'ml64' is not recognized as an internal or external command,<br>>>>>> operable program or batch file.<br>>>>><br>>>>> It's part of Visual C. The VC-WIN64A-masm configuration<br>>>> (Configurations/50-masm.conf) specifies it as the assembler.<br>>>><br>>>> Note that using masm to compile OpenSSL is no longer supported by us<br>>>> (although it might still work).<br>>>><br>>>> Preferred is to use the VC-WIN64A target and the nasm compiler.<br>>>><br>>>> If you use the Developer Studio command prompt (64-bit) it should have<br>>>> all the environment variables set up already to find the various VS tools.<br>>>><br>>>> Matt<br>>>><br>>>><br>>>>><br>>>>>> Building with Visual Studio  2019 Community<br>>>>><br>>>>> Maybe VS2019 Community doesn't include the assembler? I haven't looked. Or<br>>>> maybe it's part of some optional component?<br>>>>><br>>>>> In VS2017 Professional, which is what I have configured at the moment on<br>>>> this machine, it's in .../VC/Tools/MSVC/14.16.27023/bin/HostX86/x64, thanks<br>>>> to VS's gratuitously complicated directory layout.<br>>>>><br>>>>> --<br>>>>> Michael Wojcik<br>>>>> Distinguished Engineer, Micro Focus<br>>>>><br>>>>><br>>>>><br>>>><br>>><br>> <o:p></o:p></p></div></div></div></div></body></html>