What does the ELN SIG need to do?
The new JIT in Python 3.13 has clang as a build (but not runtime) dependency. Unfortunately, the code is locked to a particular version; 3.13 uses llvm/clang 18, main (the future 3.14) uses 19. Therefore, a clang18 compat package is needed to build the JIT in Fedora 41 (which normally uses llvm/clang 19). On Fedora this isn't a big deal, but on ELN this is pulling in llvm18/clang18 into the buildroot (all other consumers have already been ported to the current 19).
For RHEL though this seems untenable. The default python3.Y package must remain buildable for the entire lifetime of RHEL, but llvm is continuously updated to newer versions. RHEL 10 has Python 3.12 as default, so there is no precedence yet, but this will come up should any additional versions be provided in parallel (albeit with shorter scope).
Therefore, we need clarification on these points:
- Should the JIT be enabled in RHEL/ELN builds of python 3.13+?
- If so, will a llvm compat version be kept in the buildroot for as long as necessary to continue building the JIT?
- Or, will support for newer llvm versions be backported? Can that even be done safely, particularly over such a long span?
/cc @hroncok
What does the ELN SIG need to do?
The new JIT in Python 3.13 has clang as a build (but not runtime) dependency. Unfortunately, the code is locked to a particular version; 3.13 uses llvm/clang 18, main (the future 3.14) uses 19. Therefore, a clang18 compat package is needed to build the JIT in Fedora 41 (which normally uses llvm/clang 19). On Fedora this isn't a big deal, but on ELN this is pulling in llvm18/clang18 into the buildroot (all other consumers have already been ported to the current 19).
For RHEL though this seems untenable. The default python3.Y package must remain buildable for the entire lifetime of RHEL, but llvm is continuously updated to newer versions. RHEL 10 has Python 3.12 as default, so there is no precedence yet, but this will come up should any additional versions be provided in parallel (albeit with shorter scope).
Therefore, we need clarification on these points:
/cc @hroncok