[openssl-dev] MSVC 2015 internal compiler error

Kurt Roeckx kurt at roeckx.be
Wed Jan 27 22:38:16 UTC 2016


On Sat, Jan 16, 2016 at 11:42:52AM +0100, Gisle Vanem wrote:
> While building OpenSSL from today's git-repo:
> 
> ssl\d1_srtp.c : fatal error C1001: An internalerror has occurred in the compiler.
> (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 246)
>  To work around this problem, try simplifying or changing the program near the locations listed above.
> Please choose the Technical Support command on the Visual C++
>  Help menu, or open the Technical Support help file for more information
> 
> INTERNAL COMPILER ERROR in 'f:\gv\VC_2015\bin\cl.exe'
>     Please choose the Technical Support command on the Visual C++
>     Help menu, or open the Technical Support help file for more information
> 
> -----
> 
> Seems to be related to:
>   typedef const char *OPENSSL_CSTRING;
> 
> in safestack.h Changing this into:
> 
>   #ifdef _MSC_VER
>   typedef       char *OPENSSL_CSTRING;
>   #else
>   typedef const char *OPENSSL_CSTRING;
>   #endif
> 
> helps, but triggers the same internal compiler error later on.
> 
> It suspect the compiler sees 'const const *x' in some
> places. So I assume that's the trigger for this fault.

So we've been seeing this on AppVeyor too.  As far as I can see,
this happens somewhere between commit 249d9719 and 59fd40d4.  The
file itself has only minor changes, turning some "SSL_CIPHER *"
into "const SSL_CIPHER *", so it's most likely one of the include
files that changed in between.

It includes changes to safestack, including adding inline
functions instead of the defines.  So that is probably why it
fails, but I currently don't see a way to work around this, or how
we could simplify things.

The problem also only seems to have with VC 14/2015.  It works in
all the older versions we have on AppVeyor.

Have you actually tried to contact Microsoft about this issue?


Kurt



More information about the openssl-dev mailing list