Building 1.1.1a on Windows - how to "make update"?
matt at openssl.org
Mon May 27 08:33:47 UTC 2019
On 24/05/2019 16:38, Lynch, Andrew wrote:
> Ok, understood. I have now managed to build an executable with our patches and it is currently chugging through the tests (which seem to run much slower native than they did inside a Linux VM on the same host...)
> There was one more hiccup with a mkdef.pl failure ("does not have a number assigned"). Initially I had not copied util/libcrypto.num across because of a comment at the top of mkdef.pl: "Intermediary files are created, call libcrypto.num and libssl.num." That did not seem to happen in the way I expected.
> For reference, these are the files I copied from the updated Linux tree to Windows:
Are you sure the Linux tree you are using is a clean version of 1.1.1? Similarly
with your original Windows tree? The 1.1.1 distribution does not have any files
names cmperr.h or crmferr.h, and neither are there cmp or crmf subdirectories in
the crypto dir. "make update" certainly should not be creating those files.
These things *do* exist in master, but not in 1.1.1.
I suggest starting from scratch with clean trees.
> It turns out the applied patches did not include any new objects. obj_dat.h had only been touched by make update to bump the copyright year from 2018 to 2019.
> -----Original Message-----
> From: openssl-users [mailto:openssl-users-bounces at openssl.org] On Behalf Of Richard Levitte
> Sent: Friday, May 24, 2019 4:18 PM
> To: openssl-users at openssl.org
> Subject: Re: Building 1.1.1a on Windows - how to "make update"?
> The diverse things that 'make update' generates is supposed to be the same across platforms, so the intention is that they get generated on one platform (Linux / Unix) and that these changes get distributed to all others.
> On Fri, 24 May 2019 14:38:14 +0200,
> Lynch, Andrew wrote:
>> I have been working with OpenSSL 1.1.1a on Linux. We have a number of
>> patches that are applied, including a specific version of cmpossl. To
>> ensure that all new error codes, objects etc. are available I run
>> "make update" after config. I.e. the build process is
>> Unpack original distribution openssl-1.1.1a.tar.gz Apply list of
>> patches ./config make update && make && make test
>> Some colleagues have asked me for a Windows executable, so I have now installed ActivePerl 5.26.3 and Visual Studio 2019 on my Windows 7 desktop.
>> The unmodified openssl-1.1.1a builds and runs just fine using Configure VC-WIN64A-masm. But with our patches applied the build fails once it gets to crypto/cmp because the include files cmperr.h and crmferr.h do not exist. On Linux these are created by make update. The Windows Makefile does not have a target "update" (or "errors" for that matter).
>> So what is the equivalent of make update or make errors on Windows?
>> I am wondering if I can simply copy the updated files from Linux (new _err.h, modified obj_dat.h and probably a few more) but I would prefer an official way to (re)generate them on Windows.
More information about the openssl-users