Skip to content

Comments

Temporary fix for Visual Studio & Clang incompatibility in Windows image#7835

Merged
stefanv merged 1 commit intoscikit-image:mainfrom
matthew-brett:fix-windows-clang-ci
Jul 7, 2025
Merged

Temporary fix for Visual Studio & Clang incompatibility in Windows image#7835
stefanv merged 1 commit intoscikit-image:mainfrom
matthew-brett:fix-windows-clang-ci

Conversation

@matthew-brett
Copy link
Contributor

@matthew-brett matthew-brett commented Jul 7, 2025

Closes #7821

Recent MSVC STL templates need Clang 19.

Quoting from:

actions/runner-images#12435 (comment)

"The visual studio version was upgraded to MSVC 17.14 which needs minimum clang
version of 19.1.5".

@matthew-brett matthew-brett added the 🩹 type: Bug fix Fixes unexpected or incorrect behavior label Jul 7, 2025
@lagru lagru added 🤖 type: Infrastructure CI, packaging, tools and automation and removed 🩹 type: Bug fix Fixes unexpected or incorrect behavior labels Jul 7, 2025
Copy link
Member

@lagru lagru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @matthew-brett for finding that issue and fix. So, this is a temporary workaround and the correct fix depends on upstream (GitHub) fixing an incompatibility between visual studio and clang. They upgraded the first but forgot to update the latter?

Can we avoid noise like this in the future? E.g. by pinning to something different from windows-latest? I remember that image updates by GitHub have caused similar issues in the past.

@lagru lagru changed the title Use Windows CI fix from Github issue Temporary fix for Visual Studio & Clang incompatibility in Windows image Jul 7, 2025
@lagru
Copy link
Member

lagru commented Jul 7, 2025

This should also affect the windows job in our wheels-recipe.yaml. But I'm not sure I want to add a temporary fix downloading an unverified file into that particular critical workflow...

@lagru
Copy link
Member

lagru commented Jul 7, 2025

Perhaps trying if we can upgrade to windows-2025 would be an alternative long-term solution?

@matthew-brett matthew-brett force-pushed the fix-windows-clang-ci branch from a69d995 to 3ab47c3 Compare July 7, 2025 16:16
@stefanv stefanv merged commit 08c786b into scikit-image:main Jul 7, 2025
21 of 23 checks passed
@stefanv stefanv added this to the 0.26 milestone Jul 7, 2025
matthew-brett added a commit to matthew-brett/scikit-image that referenced this pull request Jul 7, 2025
* origin/main:
  Deprecate estimate method in favor of class constructor (scikit-image#7771)
  Temporary fix for Visual Studio & Clang incompatibility in Windows image (scikit-image#7835)
  Address deprecations in Pillow 11.3 (scikit-image#7828)
  Remove unused & obsolete `legacy_datasets`, `legacy_registry` vars (scikit-image#7677)
  Draft migration guide for skimage2 (scikit-image#7785)
  Do not report failure in wheels sub-recipe (scikit-image#7806)
  Use consistent wording in property description. (scikit-image#7804)
  Add intensity_median to regionprops (scikit-image#7745)
  CI: Update pypa/gh-action-pypi-publish to v1.12.4 for attestations on PyPI (scikit-image#7793)
  Document output dtype for transform.resize. (scikit-image#7792)
  Use `cibuildwheel` to build WASM/Pyodide wheels for `scikit-image`, push nightlies to Anaconda.org (scikit-image#7440)
  DOC: Include missing gain parameter in adjust_gamma equation (scikit-image#7763)
  Temporarily pin to `pyodide-build==0.30.0`, and ensure that the correct xbuildenvs are used (scikit-image#7788)
  Deprecate old names & attributes in RegionProperties (scikit-image#7778)
  Pin JasonEtco/create-an-issue action to SHA for v2.9.2 (scikit-image#7787)
  Make doctest-plus work with spin (scikit-image#7786)
  Report failures on main via issue (scikit-image#7752)
  Use `workers` instead of alternate parameter names (scikit-image#7302)
  Fix f-string in otsu plot (scikit-image#7780)
  Further document use of regionprops function and fix terms. (scikit-image#7518)
@h-vetinari
Copy link

Just as a comment, this should be irrelevant, but is caused by STL picking up the clang in the image (even if you don't use it), and GHA publishing inconsistent images. Other workarounds are to use the windows-2025 image, or set the undocumented _ALLOW_COMPILER_AND_STL_VERSION_MISMATCH switch, or wait for the rollout of actions/runner-images#12501 across the fleet.

@lagru
Copy link
Member

lagru commented Jul 10, 2025

Thanks. I'm already tried the windows-2025 image in #7836. Building seems to work fine and it only breaks one test, so promising. Curious if you know of any other points in favor of or against updating to the 2025 image.

@h-vetinari
Copy link

The choice of image on windows generally has no discernible impact in my experience. This case here is a rare exception.

matthew-brett added a commit to matthew-brett/scikit-image that referenced this pull request Jul 14, 2025
* origin/main: (31 commits)
  Update import convention in certain gallery examples (scikit-image#7764)
  Refactor fundamental matrix scaling (scikit-image#7767)
  Add unit test for cval unequal to zero
  Forward  in _generic_edge_filter
  Remove superfluous mask argument from _generic_edge_filter
  Only report failure on main branch once
  Deprecate estimate method in favor of class constructor (scikit-image#7771)
  Temporary fix for Visual Studio & Clang incompatibility in Windows image (scikit-image#7835)
  Address deprecations in Pillow 11.3 (scikit-image#7828)
  Remove unused & obsolete `legacy_datasets`, `legacy_registry` vars (scikit-image#7677)
  Draft migration guide for skimage2 (scikit-image#7785)
  Do not report failure in wheels sub-recipe (scikit-image#7806)
  Use consistent wording in property description. (scikit-image#7804)
  Add intensity_median to regionprops (scikit-image#7745)
  CI: Update pypa/gh-action-pypi-publish to v1.12.4 for attestations on PyPI (scikit-image#7793)
  Document output dtype for transform.resize. (scikit-image#7792)
  Use `cibuildwheel` to build WASM/Pyodide wheels for `scikit-image`, push nightlies to Anaconda.org (scikit-image#7440)
  DOC: Include missing gain parameter in adjust_gamma equation (scikit-image#7763)
  Temporarily pin to `pyodide-build==0.30.0`, and ensure that the correct xbuildenvs are used (scikit-image#7788)
  Deprecate old names & attributes in RegionProperties (scikit-image#7778)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 type: Infrastructure CI, packaging, tools and automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test-windows action fails with Python 3.13.5

4 participants