[openssl-users] Can't build OpenSSL on Windows

Jakob Bohm jb-openssl at wisemo.com
Tue Jan 2 02:21:38 UTC 2018


On 29/12/2017 19:34, Michael Wojcik wrote:
>> From: openssl-users [mailto:openssl-users-bounces at openssl.org] On Behalf
>> Of Richard Levitte
>> Sent: Friday, December 29, 2017 12:14
>>
>> If any of those are newer, 'nmake' will
>> automatically reconfigure and ask you to run again.
> It's also worth noting that nmake's dependency-graph generation is flaky (possibly due to flaws in Windows file timestamping, though I've never tracked down the exact cause). I have a number of nmake files that regularly rebuild things unnecessarily, and others that sporadically do.
>
> So as Richard said, check the time on the machine and try running nmake again. Sometimes it's worth temporarily throttling the CPU to slow the build down a bit.
>
FYI:

The historic "Windows/DOS" timestamp implementation issue was that many
years ago, the FAT file system had a timestamp resolution of 2 seconds,
which meant that naively ported versions of *n*x make would sometimes
not realize that it was ok for a derived file to have the same timestamp
(rounded) as the file from which it was derived.

This is not the case for NTFS (currently dominant) which has a timestamp
resolution of 100ns, nor for modernized versions of the FAT file system
(stores sub-second decimals in a previously unused field).

nmake was historically written to run under DOS, and was thus never
affected by the 2s rounding or other such limitations.  However nmake
may not have been well maintained as Microsoft shifted focus to their
more complex (but less capable) build systems, such as the old Visual
Studio (devenv.com) build system or the XML-based MSBuild system.

These days the most common "timestamp related" build issues on Windows
are about the fact that the Windows file commands default to preserving
the timestamps of files (similar to GNU "cp --preserve=timestamps" ).
This sometimes confuses build systems that assume file timestamps
get updated when a file is copied into a build directory.


Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded



More information about the openssl-users mailing list