Open Neumann-A opened 1 year ago
I will try to reproduce the issue.
In the meantime, if you want to try something on your side, and if you need a full Debug
build (i.e. with all external dependencies also built in Debug
mode), make sure to enable the winrtdebug
option (-Dwinrtdebug=ON
) to link everything with the Debug
runtime libraries, or build everything in RelWithDebInfo
mode.
The portfile has
OPTIONS_RELEASE
"-Dwinrtdebug=off"
OPTIONS_DEBUG
"-Dwinrtdebug=on"
according to the debug configure log that setting is working:
System Windows-10.0.20348
Processor 16 core AMD EPYC 7763 64-Core Processor (AMD64)
Build type Debug
Install path D:/packages/root_x64-windows/debug
Compiler MSVC 19.35.32217.1
Compiler flags:
C -nologo -ID:/buildtrees/root/src/4777595a60-bb02050ae7.clean/build/win -FIw32pragma.h -FIsehmap.h -MDd -EHsc- -W3 -D_WIN32 -wd4267 -D_WIN64 -DNOMINMAX -Od -Z7
C++ -nologo -ID:/buildtrees/root/src/4777595a60-bb02050ae7.clean/build/win -FIw32pragma.h -FIsehmap.h -Zc:__cplusplus -std:c++17 -MDd -GR -EHsc- -W3 -wd4141 -wd4291 -wd4244 -wd4049 -wd4146 -wd4250 -wd4624 -D_WIN32 -wd4267 -D_WIN64 -D_XKEYCHECK_H -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING -Od -Z7
Linker flags:
Executable /machine:x64
Module /machine:x64 -ignore:4049,4206,4217,4221 -incremental:no
Shared /machine:x64 -ignore:4049,4206,4217,4221 -incremental:no
-- Enabled support for: asimage builtin_clang builtin_cling builtin_llvm builtin_openui5 builtin_unuran clad dataframe exceptions fftw3 fitsio gdml http imt mathmore mlp minuit2 odbc opengl roofit webgui root7 rpath shared tmva tmva-cpu spectrum unuran winrtdebug
(I am a bit salty that root nukes CMAKE_<LANG>_FLAGS
but that is another issue, first solve the build itself)
Checking the build log only shows path to external libs which start with installed\x64-windows\debug\lib
so linking with the wrong CRT is not the case. vcpkg also enforces consistent CRT linkage.
OK, thanks, I'll investigate
Out of curiosity, can you try with -DLLVM_BUILD_TYPE=Debug
?
Out of curiosity, can you try with -DLLVM_BUILD_TYPE=Debug ?
Doesn't change anything. Same Error.
OK, thanks
OK, so I can reproduce the problem with the Debug runtime libraries. Investigating...
So for information, it fails in Debug mode with Debug runtime libraries on x64
, even bare ROOT with -Dminimal=ON
, but works fine on x86
in Debug mode with Debug runtime libraries. Investigating
Let's see if @pcanal can take a look...
So I was hoping that the upgrade to LLVM16 would fix the issue, but this is unfortunately not the case. Then I'll need to debug this with @pcanal
Describe the bug
Build fails due to one of these:
Expected behavior
Build succeeds
To Reproduce
(if you know how to use vcpkg & git) checkout https://github.com/microsoft/vcpkg/pull/31161 bootstrap vcpkg vcpkg install root
Setup
Additional context
I tried debugging the problem and the only thing I found is that in
io\io\src\TStreamerInfoWriteBuffer.cxx:
the callproxy->GetFunctionCreateIterators(/*read = */ kFALSE)(obj, &begin, &end, proxy);
returns a start iterator which is higher then the end iterator leading later to a read access violation when trying to (infinitely) iterate over it. So I assumeobj
is somehow bogus but without knowing what that actually should be further steps back are not possible., The error is reproducible but seems to occur at different times of execution if retried (number of breakpoint hits vary). The release build however seems fine. If you need a full configure/build log I can provide it.