oneapi-src / oneapi-src/unified-runtime
clang-cl Windows builds fail to build on CI
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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