[openssl-users] NMAKE fatal error, 32-bit time_t

Thomas J. Hruska shinelight at shininglightpro.com
Wed Sep 12 13:53:36 UTC 2018


         cl  /Z7 /Fdapp.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2 /WX 
/I "include" -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" 
-D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" 
-D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"OPENSSL_USE_APPLINK" -D"NDEBUG" 
-D_USE_32BIT_TIME_T -D_USING_V110_SDK71_ 
-D_WINSOCK_DEPRECATED_NO_WARNINGS /Zs /showIncludes "test\ct_test.c" 
2>&1 > test\ct_test.d
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\nmake.exe"' 
: return code '0x2'
Stop.

test\ct_test.c(503): error C2220: warning treated as error - no 'object' 
file generated
test\ct_test.c(503): warning C4244: 'initializing': conversion from 
'uint64_t' to 'const time_t', possible loss of data


Probably triggered by the usage of:

-D_USE_32BIT_TIME_T


I use that define for 32-bit builds on my 64-bit hardware as per this 
old post:

https://groups.google.com/forum/#!topic/mailing.openssl.users/AGuOi4yEY9A


Casting to time_t appears to correct the issue and the build completes 
successfully:

     const time_t default_time = 
(time_t)CT_POLICY_EVAL_CTX_get_time(ct_policy_ctx) /
                                 1000;


-- 
Thomas Hruska
Shining Light Productions

Home of BMP2AVI and Win32 OpenSSL.
http://www.slproweb.com/


More information about the openssl-users mailing list