The GitHub runner image update introduced two main problems:
VS 17.10 STL introduced a hard requirement on Clang 17, which is not available for any 5.10 toolchain. For now, manually patch yvals_.core.h to relax this requirement, but this is brittle.
An update in VS 17.10 STL made mutex's constructor constexpr, which breaks compatibility between mixing different versions of the STL (reasonable). A PATH configuration problem on the GHA image causes the linker picks up an old copy of vcruntime140.dll from a Python installation rather than C:\Windows\system32\vcruntime140.dll, violating this requirement of the STL. This is fixed in the latest GHA windows image, 20240610.1, but this hasn't made it to our runners yet, so in the meantime, disable the constexpr constructor to revert back to the old behavior with /D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR
The GitHub runner image update introduced two main problems:
yvals_.core.h
to relax this requirement, but this is brittle.mutex
's constructorconstexpr
, which breaks compatibility between mixing different versions of the STL (reasonable). APATH
configuration problem on the GHA image causes the linker picks up an old copy ofvcruntime140.dll
from a Python installation rather thanC:\Windows\system32\vcruntime140.dll
, violating this requirement of the STL. This is fixed in the latest GHA windows image,20240610.1
, but this hasn't made it to our runners yet, so in the meantime, disable theconstexpr
constructor to revert back to the old behavior with/D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR