Closed h-vetinari closed 1 year ago
I tried to correct the vswhere component names, but the larger issue is that AFAICT our repack script points to unversioned vcRuntimeMinimum_amd64 artefacts, which will presumably come with the latest minor version (i.e. 16.11 instead of 16.8).
How did you come to this conclusion?
I don't see where we're selecting an artefact except by installing vcRuntimeMinimum_amd64
. AFAICT, there's no way to select we're selecting 14.28 artefacts upon downloading, and so vswhere will not find them. I don't know why the activation scripts decided to start failing in #56, but looking closer, I believe we're not installing the non-latest minor versions correctly here.
At least the experience on the clang-win-activation was different, where we actually downloaded the specific minor versions that are specified in the cbc.
Non-latest minor versions are only for users. Also:
@h-vetinari: Hm, perhaps the difference I wasn't seeing is the libs vs. toolchain issue, where we can redistribute the libs, but not the toolchain, so we need to match what's in the images, and that the toolset minor version isn't actually relevant as it's only about the cl-version anyway.
Thanks for the explanations Isuru. Closing
While working on an unrelated change in #56, CI started failing with
As it turns out, this was pre-existing (see e.g. CII of another PR, resp. also for the last merge to main), it just didn't fail the build.
At first I thought this had something to do with the new artefact naming as of vs2022, i.e.
However,
vswhere.exe
only searches for a given artefact, and returns nothing if it doesn't find it. In particular, we're trying to build for 14.28.16.8 & 14.32.17.2 here, but both fail in #56 as not being found. I tried to correct the vswhere component names, but the larger issue is that AFAICT our repack script points to unversionedvcRuntimeMinimum_amd64
artefacts, which will presumably come with the latest minor version (i.e. 16.11 instead of 16.8).Having worked on exactly these components in https://github.com/conda-forge/clang-win-activation-feedstock/pull/18 recently, I'm wondering why we don't use
vsdownload.py
from https://github.com/mstorsjo/msvc-wine - that way we could ensure that the right artefacts are installed with more control (the older artefacts still exist, they just have to be explicitly requested), and could ensure that everything is present as desired.Since I don't know the history of
vc_repack.py
here, I wanted to open this issue first to find out if this is desirable. It took a while to get right for clang-win, so don't want to waste that effort for nothing.