You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently it's hard to debug issues that happen when the modules are rebuilt as there is no information displayed about why ROOT decided to rebuild them. For an example see conda-forge/root-feedstock#136.
Describe the solution you'd like
When rebuilding modules information will be displayed such as: /usr/include/foo.h got updated, must regenerate module bar
Describe alternatives you've considered
Additional context
I've tried a few thing to try and force a module rebuild, e.g. editing headers, touching files and installing different versions of dependencies but ROOT never seems to notice. The best I've managed is to delete all lib/*.pcm files which obviously triggers them to be rebuilt:
$ root
input_line_1:1:10: remark: building module 'std' as '/home/cburr/miniconda3/envs/test/lib/std.pcm' [-Rmodule-build]
#include <new>
^
input_line_1:1:10: remark: finished building module 'std' [-Rmodule-build]
input_line_2:1:10: remark: building module 'Cling_Runtime' as '/home/cburr/miniconda3/envs/test/lib/Cling_Runtime.pcm' [-Rmodule-build]
#include "cling/Interpreter/RuntimeUniverse.h"
^
While building module 'Cling_Runtime' imported from input_line_2:1:
In file included from <module-includes>:3:
/home/cburr/miniconda3/envs/test/etc//cling/Interpreter/DynamicLookupRuntimeUniverse.h:16:10: remark: building module 'Cling_Runtime_Extra' as '/home/cburr/miniconda3/envs/test/lib/Cling_Runtime_Extra.pcm' [-Rmodule-build]
#include "cling/Interpreter/DynamicExprInfo.h"
^
I don't know if ROOT is supposed to be able to recover from this but I run in to three issues, the first is the known tbb dependency issue in 6.24.0 that is already fixed for the next patch release.
The second issue is that MathCore.pcm fails to build with:
<<<cling interactive line includer >>>: remark: building module 'MathCore' as '/home/cburr/miniconda3/envs/test/lib/MathCore.pcm' [-Rmodule-build]
While building module 'MathCore':
In file included from <module-includes>:3:
In file included from /home/cburr/miniconda3/envs/test/include/Fit/Chi2FCN.h:19:
/home/cburr/miniconda3/envs/test/include/Fit/FitUtil.h:404:23: error: no matching constructor for initialization of 'std::vector<double>'
std::vector<double> ones{1, 1, 1, 1};
^ ~~~~~~~~~~~~~~~~
I can workaround this by using four ones.push_back(1.0); lines instead of initialising it as ones though it doesn't explain why this fails.
Finally after fixing this it, running root.exe -b -l -q -e '1+1' -x repeatedly continues to rebuild modules, e.g. on the second iteration:
<<< cling interactive line includer >>>: remark: building module 'Minuit' as '/home/cburr/miniconda3/envs/test/lib/Minuit.pcm' [-Rmodule-build]
<<< cling interactive line includer >>>: remark: finished building module 'Minuit' [-Rmodule-build]
Module a����2V`^��2V`X��2V�N��2VPP��2V��x�2V@!`�k�2V@�:�2V` not found.
Module test__CLING__GNUC__ct_int81����2V���2V-in-extern-ce not found.
Module includeit.pcm not found.
Module lib not found.
Module P�w��P�w�� ���2V��'�2V0b(�2V��:�2V���2V����2V�:�2V not found.
Module ���2V@)����2V not found.
Module TFitter not found.
Module
)��o�~�'��'�@5���(�L)�B5���(��)�J5���(�$ not found.
<<< cling interactive line includer >>>: remark: building module 'Genetic' as '/home/cburr/miniconda3/envs/test/lib/Genetic.pcm' [-Rmodule-build]
<<< cling interactive line includer >>>: remark: finished building module 'Genetic' [-Rmodule-build]
Module ROOTGpadv7 not found.
Module ���2V8���2V not found.
Module ��=\u��&���g|��Xϭ)��ۡc}n?�ʾ��v� @Elj7VP\�2 not found.
Module Ц~������2V D not found.
Module mi not found.
Module �j%�2Vpj%�2VPh%�2V@h%�2V@s%�2V0s%�2V�N��2V�N��2VQ��2VQ��2V@S��2V0S��2V �8�2V not found.
Module 9.0 not found.
��2V���2V ��2V���2V�Y��2V ��2V�v�2V��2V ��2V ��2V not found.
Module @�ĉ7VPh%�2V@h%�2V@s%�2V0s%�2V�N��2V�N��2VQ��2VQ��2V@S��2V0S��2V �8�2V not found.
Module !p�w���:�2 not found.
Module ��=\u��&���g|��Xϭ)��ۡc}n?�ʾ��v� �z��� not found.
Module not found.
Module ��ĉ7V99cl_khr_gVs_�0���2V;;e>khr_fp16 not found.
Module not found.
Module GeneticMinimizer not found.
Module �[h��A�2V�[h��<��[h��0�#\h����K\h� not found.
Module �� not found.
Module module not found.
Module base_1621��7VP\�2Vl_khr_f not found.
Module not found.
Module not found.
Module �'��&E'��'�Q|�~ not found.
Module Q����2V�
��2V����a3 not found.
Module е8�2V��8�2VP�8�2V@�8�2V��8�2V��8�2V�K�Q7V��2V>��� not found.
Error in <TCling::LoadPCM>: ROOT PCM /home/cburr/miniconda3/envs/test/lib/libNet_rdict.pcm file does not exist
Error in <TCling::LoadPCM>: ROOT PCM /home/cburr/miniconda3/envs/test/lib/libMathCore_rdict.pcm file does not exist
(int) 2
on the third:
<<< cling interactive line includer >>>: remark: building module 'ROOTVecOps' as '/home/cburr/miniconda3/envs/test/lib/ROOTVecOps.pcm' [-Rmodule-build]
<<< cling interactive line includer >>>: remark: finished building module 'ROOTVecOps' [-Rmodule-build]
(truncated but it's similar to above)
on the fourteenth:
<<< cling interactive line includer >>>: remark: building module 'TMVA' as '/home/cburr/miniconda3/envs/test/lib/TMVA.pcm' [-Rmodule-build]
<<< cling interactive line includer >>>: remark: finished building module 'TMVA' [-Rmodule-build]
Module FitterBase not found.
Module (�;cU! ��;cUpJ���� not found.
Module TMVA.pcmoRTTI not found.
Module not found.
Error in <TCling::LoadPCM>: ROOT PCM /home/cburr/miniconda3/envs/test/lib/libNet_rdict.pcm file does not exist
Error in <TCling::LoadPCM>: ROOT PCM /home/cburr/miniconda3/envs/test/lib/libMathCore_rdict.pcm file does not exist
(int) 2
on the fifteenth run it finally becomes stable with this output:
Error in <TCling::LoadPCM>: ROOT PCM /home/cburr/miniconda3/envs/test/lib/libNet_rdict.pcm file does not exist
Error in <TCling::LoadPCM>: ROOT PCM /home/cburr/miniconda3/envs/test/lib/libMathCore_rdict.pcm file does not exist
(int) 2
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Currently it's hard to debug issues that happen when the modules are rebuilt as there is no information displayed about why ROOT decided to rebuild them. For an example see conda-forge/root-feedstock#136.
Describe the solution you'd like
When rebuilding modules information will be displayed such as:
/usr/include/foo.h got updated, must regenerate module bar
Describe alternatives you've considered
Additional context
I've tried a few thing to try and force a module rebuild, e.g. editing headers, touching files and installing different versions of dependencies but ROOT never seems to notice. The best I've managed is to delete all
lib/*.pcm
files which obviously triggers them to be rebuilt:I don't know if ROOT is supposed to be able to recover from this but I run in to three issues, the first is the known
tbb
dependency issue in 6.24.0 that is already fixed for the next patch release.The second issue is that
MathCore.pcm
fails to build with:I can workaround this by using four
ones.push_back(1.0);
lines instead of initialising it as ones though it doesn't explain why this fails.Finally after fixing this it, running
root.exe -b -l -q -e '1+1' -x
repeatedly continues to rebuild modules, e.g. on the second iteration:on the third:
on the fourteenth:
on the fifteenth run it finally becomes stable with this output:
The text was updated successfully, but these errors were encountered: