oneapi-src / oneapi-src/unified-runtime

clang-cl Windows builds fail to build on CI

Open
#2,348 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
57
Forks
120
Avg merge
1d 14h
Merged PRs (30d)
1

Description

As of at least 18/11/24, our CI has failed to build for Windows clang-cl with the following build log:

MSBuild version 17.12.6+db5f6012c for .NET Framework

  1>Checking Build System
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/_deps/googletest-src/googletest/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/source/common/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/content-xpti/xpti/src/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/_deps/googletest-src/googlemock/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/_deps/googletest-src/googlemock/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/_deps/unified-memory-framework-src/src/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/content-xpti/xpti/src/CMakeLists.txt
  xpti.vcxproj -> D:\a\unified-runtime\unified-runtime\build\lib\Debug\xpti.lib
  gtest.vcxproj -> D:\a\unified-runtime\unified-runtime\build\lib\Debug\gtest.lib
  ur_common.vcxproj -> D:\a\unified-runtime\unified-runtime\build\lib\Debug\ur_common.lib
  gmock.vcxproj -> D:\a\unified-runtime\unified-runtime\build\lib\Debug\gmock.lib
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/_deps/googletest-src/googletest/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/source/mock/CMakeLists.txt
  xptid.vcxproj -> D:\a\unified-runtime\unified-runtime\build\lib\Debug\xptid.lib
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/content-xptifw/xptifw/src/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/examples/collector/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/tools/urtrace/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/build/content-xptifw/xptifw/src/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/layers/tracing/CMakeLists.txt
  ur_mock_headers.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\ur_mock_headers.dll
  gmock_main.vcxproj -> D:\a\unified-runtime\unified-runtime\build\lib\Debug\gmock_main.lib
  Building Custom Rule D:/a/unified-runtime/unified-runtime/tools/urtrace/CMakeLists.txt
  gtest_main.vcxproj -> D:\a\unified-runtime\unified-runtime\build\lib\Debug\gtest_main.lib
  Building Custom Rule D:/a/unified-runtime/unified-runtime/source/loader/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/loader/adapter_registry/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/loader/adapter_registry/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/testing/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/loader/adapter_registry/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/loader/adapter_registry/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/unit/logger/CMakeLists.txt
  xptifwd.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\xptifwd.dll
  xptifw.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\xptifw.dll
  test-logger_env_var.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-logger_env_var.exe
  adapter-reg-test-prefilter.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\adapter-reg-test-prefilter.exe
  Building Custom Rule D:/a/unified-runtime/unified-runtime/source/adapters/mock/CMakeLists.txt
  adapter-reg-test-search-with-env.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\adapter-reg-test-search-with-env.exe
  adapter-reg-test-search-no-env.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\adapter-reg-test-search-no-env.exe
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm\x64\lib\clang\18\include\stddef.h(31): warning RC4067: unexpected characters following '#if/#elif' directive; newline expected [D:\a\unified-runtime\unified-runtime\build\_deps\unified-memory-framework-build\src\umf.vcxproj]
  
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm\x64\lib\clang\18\include\stddef.h(31): warning RC4067: unexpected characters following '#if/#elif' directive; newline expected [D:\a\unified-runtime\unified-runtime\build\_deps\unified-memory-framework-build\src\umf.vcxproj]
  
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm\x64\lib\clang\18\include\__stddef_ptrdiff_t.h(15): fatal error RC1012: mismatched parenthesis : missing ' [D:\a\unified-runtime\unified-runtime\build\_deps\unified-memory-framework-build\src\umf.vcxproj]
  collector.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\collector.dll
  ur_testing.vcxproj -> D:\a\unified-runtime\unified-runtime\build\lib\Debug\ur_testing.lib
  adapter-reg-test-search-order.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\adapter-reg-test-search-order.exe
  ur_adapter_mock.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\ur_adapter_mock.dll
  test_collector.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test_collector.dll
  ur_collector.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\ur_collector.dll
  ur_loader.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\ur_loader.dll
  Building Custom Rule D:/a/unified-runtime/unified-runtime/tools/urinfo/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/examples/hello_world/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/device/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/memory/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/adapter/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/layers/validation/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/context/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/layers/validation/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/event/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/layers/validation/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/queue/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/sampler/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/layers/validation/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/usm/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/layers/tracing/CMakeLists.txt
  hello_world.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\hello_world.exe
  tracing-test-codeloc.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\tracing-test-codeloc.exe
  urinfo.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\urinfo.exe
  validation_test-parameters.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\validation_test-parameters.exe
  validation_test-lifetime.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\validation_test-lifetime.exe
  validation_test-leaks_mt.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\validation_test-leaks_mt.exe
  validation_test-leaks.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\validation_test-leaks.exe
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/virtual_memory/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/conformance/platform/CMakeLists.txt
  test-usm.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-usm.exe
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/mock/CMakeLists.txt
  test-device.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-device.exe
  test-queue.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-queue.exe
  test-sampler.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-sampler.exe
  test-mock.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-mock.exe
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/loader/loader_lifetime/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/loader/platforms/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/unit/logger/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/unit/utils/CMakeLists.txt
  test-memory.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-memory.exe
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/loader/loader_config/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/unit/utils/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/loader/handles/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/unit/utils/CMakeLists.txt
  Building Custom Rule D:/a/unified-runtime/unified-runtime/test/unit/utils/CMakeLists.txt
  test-platform.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-platform.exe
  test-loader-handles.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-loader-handles.exe
  test-logger.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-logger.exe
  test-helpers.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-helpers.exe
  test-virtual_memory.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-virtual_memory.exe
  test-loader-platforms.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-loader-platforms.exe
  test-getenv.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-getenv.exe
  test-print.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-print.exe
  test-loader-lifetime.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-loader-lifetime.exe
  test-loader-config.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-loader-config.exe
  test-params.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-params.exe
  test-event.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-event.exe
  test-context.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-context.exe
  test-adapter.vcxproj -> D:\a\unified-runtime\unified-runtime\build\bin\Debug\test-adapter.exe

This looks like it was caused by an UMF update.

We should fix this issue and re-enable the build configuration.

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start with the clang-cl CI build configuration and the UMF dependency build shown in build/_deps/unified-memory-framework-build/src/umf.vcxproj; inspect the CMakeLists.txt paths in the log and the reported clang 18 header errors. Reproduce the Windows clang-cl build, identify the UMF-related cause, and confirm that the configuration is re-enabled with a passing build.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, ci-cd
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.