-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Do not use requires in class EDM definition #3731
fix: Do not use requires in class EDM definition #3731
Conversation
No, let's not be hasty with this. I'm still absolutely sure that we can convince ROOT to accept the current code. Apparently we need a slightly different incantation than what I told you before lunch. But there must be some valid incantation... |
Hi @krasznaa, |
Ok for me @CarloVarni @pbutti I'll add the ART test to our CI tests so we catch breakage earlier. Fixing the root dictionary generation seems orthogonal to working around the issue here. |
Quality Gate passedIssues Measures |
@pbutti @CarloVarni should I backport this to a |
I’m happy with either solution with a slight preference to have this in Athena as soon as possible :) |
we can wait for thursday and have it in |
It looks like this is creating issues in Athena with ```console In file included from libActsEventDict dictionary payload:146: In file included from /cvmfs/atlas-nightlies.cern.ch/repo/sw/main--ACTS_Athena_x86_64-el9-gcc13-opt/2024-10-09T2101/Athena/25.0.20/InstallArea/x86_64-el9-gcc13-opt/include/ActsEvent/Seed.h:8: /cvmfs/atlas-nightlies.cern.ch/repo/sw/main--ACTS_Athena_x86_64-el9-gcc13-opt/2024-10-09T2101/AthenaExternals/25.0.20/InstallArea/x86_64-el9-gcc13-opt/include/Acts/Acts/EventData/Seed.hpp:17:11: error: requires clause differs in template redeclaration requires(N >= 3ul) ^ Forward declarations from /cvmfs/atlas-nightlies.cern.ch/repo/sw/main--ACTS_Athena_x86_64-el9-gcc13-opt/2024-10-09T2101/Athena/25.0.20/InstallArea/x86_64-el9-gcc13-opt/lib/Athena.rootmap:773:18: note: previous template declaration is here namespace Acts { template <typename external_spacepoint_t, size_t> class Seed; } ``` /cc @krasznaa @Ragansu and @Corentin-Allaire managed to make it work by: > removed requires(N >= 3ul) in Seed.h and Seed.ipp and recompiled ACTS > commented out parts in CxxUtils.h which delt with std::range when __cling__ is enabled. and recompiled Athena with a modified Package Filter. Quoting: > For information I think part of the issue might be that Cling doesn't like the requiere in the seed definition: > The other issue seem to be that athena redefine the std::range::end function when Cling is used (in CxxUtils/range). Probably because it was not implemented before, but now this create a conflict with newer root version I guess ? See: https://atlas-art-data.web.cern.ch/atlas-art-data/grid-output/main/Athena/x86_64-el9-gcc13-opt/2024-10-08T2101/InDetPhysValMonitoring/test_run4_acts_vertex_PU200/tarball_logs/payload.stdout Co-authored-by: Pierfrancesco Butti <[email protected]>
It looks like this is creating issues in Athena with
/cc @krasznaa
@Ragansu and @Corentin-Allaire managed to make it work by:
Quoting:
See: https://atlas-art-data.web.cern.ch/atlas-art-data/grid-output/main/Athena/x86_64-el9-gcc13-opt/2024-10-08T2101/InDetPhysValMonitoring/test_run4_acts_vertex_PU200/tarball_logs/payload.stdout