OpenSSL-1.1.1d fail with msvc 2019 (32 bits)
Michael.Wojcik at microfocus.com
Wed Feb 5 23:15:32 UTC 2020
> From: openssl-users [mailto:openssl-users-bounces at openssl.org] On Behalf Of
> Ranier Vilela
> Sent: Wednesday, February 05, 2020 15:41
> Trying to compile openssl with msvc 2019. The following error is occurring:
> Microsoft (R) Program Maintenance Utility Versão 14.24.28315.0
> Direitos autorais da Microsoft Corporation. Todos os direitos reservados.
> cl /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2
> /WX /I "." /I "crypto\include" /I "include" -D"L_ENDIAN" -D"OPENSSL_PIC" -
> D"OPENSSLDIR=\"C:\\Program Files (x86)\\Common Files\\SSL\"" -
> D"ENGINESDIR=\"C:\\Program Files (x86)\\OpenSSL\\lib\\engines-1_1\"" -
> 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" -c /Focrypto\evp\cmeth_lib.obj
> crypto\evp\cmeth_lib.c(1): error C2220: o aviso a seguir é tratado como um
I assume this is "warnings are treated as errors".
> crypto\evp\cmeth_lib.c(1): warning C4821: Não é possível determinar tipo de
> codificação Unicode, salve o arquivo com assinatura (BOM)
MSVC appears to think cmeth_lib.c is Unicode rather than ASCII.
(Yes, ASCII is a proper subset of UTF-8 and UTF-7. I mean MSVC appears to be complaining that it wants to see a UTF-16 BOM at the beginning of the file.)
> crypto\evp\cmeth_lib.c(1): warning C4335: formato de arquivo Mac detectado:
> converta o arquivo fonte para formato DOS ou UNIX
And it seems to think that the lines in the file end with a bare CR, rather than a Windows CRLF or a UNIX LF.
> crypto\evp\cmeth_lib.c(1): error C2018: caractere desconhecido '0x2'
> crypto\evp\cmeth_lib.c(1): error C2018: caractere desconhecido '0x1'
> crypto\evp\cmeth_lib.c(1): error C2018: caractere desconhecido '0x7'
> crypto\evp\cmeth_lib.c(1): error C2018: caractere desconhecido '0x5'
And it seems to be finding a bunch of invalid code points.
I suspect the source file is corrupt. Have you looked at it? Did you check the signature on the OpenSSL tarball?
It's also possible that MSVC assumes UTF-16 source files under some conditions, possibly based on the Windows language settings. If that's the case, there ought to be some way to turn that off. Alternatively, you could transcode all the files from ASCII to UTF-16; that ought to be simple to script.
Or I could be way off and the problem is something else entirely.
Distinguished Engineer, Micro Focus
More information about the openssl-users