ROOT Version: v6-36-00-rc1
Platform: Windows Server 2016 Version 1607
Compiler: Visual Studio 2022 v17.3.6
Hello,
I tried to build ROOT 6.36 on Windows Server 2016 for my clients. However I face a header copy issue.
Windows Server 2016: Configuration
Here are the CMake configuration option:
-DCMAKE_CXX_STANDARD=17 -DCMAKE_CONFIGURATION_TYPES=Release [...] Dgminimal=ON -Droofit=ON
and an excerpt of the console:
-- ROOT Configuration
System: Windows-10.0.14393
ROOT Platform: win32
ROOT Architecture: win64
Processor: 24 core 2992 MHz GenuineIntel Pentium II (0.25 micron) (AMD64)
Build type:
Install path: D:/[...]/outputs/root
Compiler: MSVC 19.33.31630.0
C++ standard: 17
Compiler flags:
--
- C: -nologo -ID:/[...]/root/cmake/win -FIw32pragma.h -FIsehmap.h -GR -MD -EHsc -W3 -wd4267 -DNOMINMAX
- C (build type specific):
Debug: -MD -Od -Ob0 -Z7
Release: -MD -O2 -Ob2 -DNDEBUG
MinSizeRel: -MD -O1 -Ob1 -DNDEBUG
RelWithDebInfo: -MD -O2 -Ob2 -Z7 -DNDEBUG
- C++: -nologo -ID:/[...]/root/cmake/win -Zc:__cplusplus -std:c++17 -GR -FIw32pragma.h -FIsehmap.h -MD -EHsc -W3 -wd4141 -wd4291 -wd4244 -wd4049 -wd4146 -wd4250 -wd4624 -wd4267 -D_XKEYCHECK_H -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING
- C++ (build type specific):
Debug: -MD -Od -Ob0 -Z7
Release: -MD -O2 -Ob2 -DNDEBUG
MinSizeRel: -MD -O1 -Ob1 -DNDEBUG
RelWithDebInfo: -MD -O2 -Ob2 -Z7 -DNDEBUG
-- Linker flags:
- Executable: /machine:x64 -ignore:4049,4206,4217,4221 -incremental:no
- Module: /machine:x64 -ignore:4049,4206,4217,4221 -incremental:no
- Shared: /machine:x64 -ignore:4049,4206,4217,4221 -incremental:no
-- Enabled support for: builtin_clang builtin_cling builtin_freetype builtin_llvm builtin_lz4 builtin_lzma builtin_nlohmannjson builtin_pcre builtin_xxhash builtin_zlib builtin_zstd roofit shared
Windows Server 2016: Build
move_headers
target was chosen to speed up the build.
After few minutes, here is the error message I got:
[...]
Copy headers for D:/[...]/root/my_build/include/ 300
Copy headers for D:/[...]/root/my_build/include/ 1000
Copy headers for D:/[...]/root/my_build/include/ 800
Error copying file (if different) from "D:/[...]/rootroofit/roofitcore/inc/RooCategory.h" to "D:/[...]/root/my_build/include/".
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(247,5): error MSB8066: Custom build for 'D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\TTreeProxyGenerator.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\Bswapcpy.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\TVirtualRefProxy.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\X3DBuffer.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\TVirtualRWMutex.h.rule;D:\[...]\root\my_build\CMakeFiles\0ef558f0a75a8622f830fac79b5b8d50\BasicFCN.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\TMinuit2TraceObject.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\RooRecursiveFraction.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\TAttMarkerEditor.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\TKDE.h.rule;D:\[...]\root\my_build\CMakeFiles\7497e5215a106393b4d7743f80e52515\AdaptiveIntegratorMultiDim.h.rule;D:\[...]\root\my_build\CMakeFiles\7497e5215a106393b4d7743f80e52515\BoostZ.h.rule;D:\[...]\root\my_build\CMakeFiles\7a62a2faf0eb8c102acd7e3e125baa7c\3DConversions.h.rule;D:\[...]\root\my_build\CMakeFiles\d4401aaca4400e6c05015003719f7e47\AnalyticalGradientCalculator.h.rule;D:\[...]\root\my_build\CMakeFiles\9bd86ca81bcd9965b2b5447f4b8aa36f\EExecutionPolicy.hxx.rule;D:\[...]\root\my_build\CMakeFiles\33a44d741eb9778f36ec1b778c4b6045\RFieldFundamental.hxx.rule;D:\[...]\root\my_build\CMakeFiles\cfcbf6535a725e08f4191c957760709f\daos.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\RooClassFactory.h.rule;D:\[...]\root\my_build\CMakeFiles\6f5adf3f796e04f9cd9a1c9d3324e0bc\CodegenImpl.h.rule;D:\[...]\root\my_build\CMakeFiles\e73730d8fe6814293c85e2e539674c7a\MathFuncs.h.rule;D:\[...]\root\my_build\CMakeFiles\b5fe3d5787a3cc856610e0e54916b88d\LikelihoodGradientWrapper.h.rule;D:\[...]\root\my_build\CMakeFiles\d1587263dae00c4bdea16cb26d521dc7\JSONIO.h.rule;D:\[...]\root\my_build\CMakeFiles\e4a3c3f9f85505633818a623c5f8a24e\RooCatTypeLegacy.h.rule;D:\[...]\root\my_build\CMakeFiles\1f3441fb5606201852c959abf9cb5592\AsymptoticCalculator.h.rule;D:\[...]\root\my_build\CMakeFiles\ab6b69869bfa764f297cf7c809cd8f1b\Asimov.h.rule;D:\[...]\root\my_build\CMakeFiles\6129a60a34ef11d76c83cb623b2fcb34\HistFactoryImpl.h.rule;D:\[...]\root\my_build\CMakeFiles\d2e1239b1919d3968746a8ccba33e47b\TAttCanvas.h.rule;D:\[...]\root\my_build\CMakeFiles\5d77929a8b6c2565bc01de18885d2fc6\TF1Data.h.rule;D:\[...]\root\my_build\CMakeFiles\42de86a55f5c29ecd325dbb2e791083b\move_headers.rule;D:\[...]\root\CMakeLists.txt' exited with code 1. [D:\[...]\root\my_build\move_headers.vcxproj]
[...]
Windows Server 2016: Headers List
Here is an excerpt of the list of the copied headers:
Directory: D:\[...]\root\my_build\include
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 4/30/2025 4:58 PM Fit
d----- 4/30/2025 4:58 PM Math
d----- 4/30/2025 4:58 PM Minuit2
[...]
-a---- 4/30/2025 4:59 PM 2354 RooCachedPdf.h
-a---- 4/30/2025 4:59 PM 3251 RooCachedReal.h
-a---- 4/30/2025 4:59 PM 12129 RooCacheManager.h
-a---- 4/30/2025 4:59 PM 1585 RooCategoryProxy.h
-a---- 4/30/2025 4:59 PM 2788 RooCBShape.h
-a---- 4/30/2025 4:59 PM 10896 RooCFunction1Binding.h
RooCategory.h
seems to be missing.
Windows 10: Success: Build & Headers Lists
On another machine (Windows 10), move_headers
seems to have been successfully built. Here are the equivalent outputs:
[...]
Copy headers for C:/[...]/root/my_build/include/ 300
Copy headers for C:/[...]/root/my_build/include/ 1000
Copy headers for C:/[...]/root/my_build/include/ 800
Copy headers for C:/[...]/root/my_build/include/ 400
Copy headers for C:/[...]/root/my_build/include/Math/ 0
Copy headers for C:/[...]/root/my_build/include/Math/ 100
[...]
Répertoire : C:\[...]\my_build\include
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 30/04/2025 16:59 Fit
d----- 30/04/2025 16:59 Math
d----- 30/04/2025 16:59 Minuit2
[...]
-a---- 30/04/2025 16:59 2354 RooCachedPdf.h
-a---- 30/04/2025 16:59 3251 RooCachedReal.h
-a---- 30/04/2025 16:59 12129 RooCacheManager.h
-a---- 30/04/2025 16:59 6139 RooCategory.h
-a---- 30/04/2025 16:59 1585 RooCategoryProxy.h
-a---- 30/04/2025 16:59 2788 RooCBShape.h
-a---- 30/04/2025 16:59 10896 RooCFunction1Binding.h
Do you know where the issue may come from on Windows Server 2016 & how to solve it?
Best Regards,