pytorch / pytorch/executorch

[Windows] CMake preset llm-debug-vulkan selects MSVC instead of Clang, causing XNNPACK compilation failures

Open
#22,084 1 comment 1 reaction 1 assignee View on GitHub

@SS-JIA is already working on this.

Since Aug 24, 2026.

module: vulkan module: windows module: xnnpack triaged
Dominant language
Python
Stars
5k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
581

Description

🐛 Describe the bug

When compiling the parakeet-vulkan target using make parakeet-vulkan I am getting a compilation error during XNNPack compilation:

  (compiling source file '../../../../../backends/xnnpack/third-party/XNNPACK/src/subgraph.c')

C:\git\executorch\backends\xnnpack\third-party\XNNPACK\src\subgraph.c(2663,3): error C2143: syntax error: missing ')' before 'string' [C:\git\executorch\cmake-out\backends\xnnpack\third-party\XNNPACK\xnnpack-subgraph.vcxproj]
C:\git\executorch\backends\xnnpack\third-party\XNNPACK\src\subgraph.c(2663,3): error C2059: syntax error: ')' [C:\git\executorch\cmake-out\backends\xnnpack\third-party\XNNPACK\xnnpack-subgraph.vcxproj]
C:\git\executorch\backends\xnnpack\third-party\XNNPACK\src\subgraph.c(2918,5): error C2143: syntax error: missing ')' before 'string' [C:\git\executorch\cmake-out\backends\xnnpack\third-party\XNNPACK\xnnpack-subgraph.vcxproj]
C:\git\executorch\backends\xnnpack\third-party\XNNPACK\src\subgraph.c(2918,5): error C2059: syntax error: ')' [C:\git\executorch\cmake-out\backends\xnnpack\third-party\XNNPACK\xnnpack-subgraph.vcxproj]
C:\git\executorch\backends\xnnpack\third-party\XNNPACK\src\subgraph.c(3500,5): error C2143: syntax error: missing ')' before 'string' [C:\git\executorch\cmake-out\backends\xnnpack\third-party\XNNPACK\xnnpack-subgraph.vcxproj]
C:\git\executorch\backends\xnnpack\third-party\XNNPACK\src\subgraph.c(3500,5): error C2059: syntax error: ')' [C:\git\executorch\cmake-out\backends\xnnpack\third-party\XNNPACK\xnnpack-subgraph.vcxproj]

Looking at the first lines of the make output it looks like make is using my installed msvc compiler instead of my installed clang compiler which then fails to compile XNNPACK.

D:\git\executorch>make parakeet-vulkan
"==> Building and installing ExecuTorch with Vulkan..."
cmake --workflow --preset llm-debug-vulkan
Executing workflow step 1 of 2: configure preset "llm-debug-vulkan"

-- Building for: Visual Studio 18 2026
-- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.26200.
-- The C compiler identification is MSVC 19.51.36256.0
-- The CXX compiler identification is MSVC 19.51.36256.0
-- Detecting C compiler ABI info                                                 -- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/18/Professional/VC/Tools/MSVC/14.51.36231/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/18/Professional/VC/Tools/MSVC/14.51.36231/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ExecuTorch version: 1.5.0

Is this expected behavior or this is a configuration issue?

My local Visual Studio environment has Clang installed, yet it is not being found by the collect_env.py script. Ideally Windows this Clang version would be detected to give developers a better experience

Image
Versions

c:\git\executorch>python collect_env.py
Collecting environment information...
PyTorch version: 2.13.0+cpu
Is debug build: False
CUDA used to build PyTorch: Could not collect
ROCM used to build PyTorch: N/A

OS: Microsoft Windows 11 Enterprise (10.0.26200 64-bit)
GCC version: Could not collect
Clang version: Could not collect
CMake version: version 4.4.1
Libc version: N/A

cc @SS-JIA @manuelcandales @digantdesai @cbilgin @GregoryComer @JakeStevens

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.