I’m running ROOT6 built from git source, tagged as 6.27/01. While trying to run /examples/extended/medical/dna/chem6 example of Geant4 using the provided ROOT macros files the execution fails. With the ‘plotG_LET.C’ macro nothing happens, ROOT just exits withour warnings after several seconds, with ‘plotG_time.C’ macro there is an error like
------------------------------------------------------------------
| Welcome to ROOT 6.27/01 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for win64 on Mar 14 2022, 21:44:00 |
| From heads/master@v6-25-02-723-g6c5bfb7480 |
| With MSVC 19.29.30141.0 |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
Processing plotG_time.C...
Assertion failed: LV.getLinkage() == T->getLinkage(), file D:\dev\otherProjects\ROOT6\root_trunk4\interpreter\llvm\src\tools\clang\lib\AST\Type.cpp, line 3746
and also exits. With some older version of ROOT these macro were started succesfully.
ROOT6 installed using the git clone command, opening cmake-gui within VS Command Prompt x64 environment, choosing x64 default option, adding -Thost=x64 to additional commands, changing CMAKE_INSTALL_PREFIX, calling Configure double times, Generate one time, than following to the build folder and running
While trying to rebuild with the current upstream forgot another problem of x64, that it is not building with builtin_lzma
"D:\dev\otherProjects\ROOT6\root_trunk5_x64_build\ALL_BUILD.vcxproj" (целевой объект по умолчанию) (1) ->
"D:\dev\otherProjects\ROOT6\root_trunk5_x64_build\graf2d\asimage\G__ASImage.vcxproj" (целевой объект по умолчанию) (186
) ->
"D:\dev\otherProjects\ROOT6\root_trunk5_x64_build\core\Core.vcxproj" (целевой объект по умолчанию) (187) ->
(Целевой объект Link) ->
ZipLZMA.obj : error LNK2019: ссылка на неразрешенный внешний символ lzma_code в функции R__unzipLZMA. [D:\dev\otherPr
ojects\ROOT6\root_trunk5_x64_build\core\Core.vcxproj]
ZipLZMA.obj : error LNK2019: ссылка на неразрешенный внешний символ lzma_end в функции R__unzipLZMA. [D:\dev\otherPro
jects\ROOT6\root_trunk5_x64_build\core\Core.vcxproj]
ZipLZMA.obj : error LNK2019: ссылка на неразрешенный внешний символ lzma_lzma_preset в функции R__zipLZMA. [D:\dev\ot
herProjects\ROOT6\root_trunk5_x64_build\core\Core.vcxproj]
ZipLZMA.obj : error LNK2019: ссылка на неразрешенный внешний символ lzma_stream_encoder в функции R__zipLZMA. [D:\dev
\otherProjects\ROOT6\root_trunk5_x64_build\core\Core.vcxproj]
ZipLZMA.obj : error LNK2019: ссылка на неразрешенный внешний символ lzma_stream_decoder в функции R__unzipLZMA. [D:\d
ev\otherProjects\ROOT6\root_trunk5_x64_build\core\Core.vcxproj]
D:\dev\otherProjects\ROOT6\root_trunk5_x64_build\bin\libCore.dll : fatal error LNK1120: неразрешенных внешних элемент
ов: 5 [D:\dev\otherProjects\ROOT6\root_trunk5_x64_build\core\Core.vcxproj]
Предупреждений: 6552
Ошибок: 6
(sorry for russian output)
I need to explicitly uncheck this box in cmake-gui, and put the include/lib of pre-built liblzma.
I’ve put --config specification, rebuilt both x32 and x64 versions of ROOT using separate folders, and I can confirm that x32 version of the upstream having the same issue as described in the topic with Geant4 examples macros.