Skip to content

TASK: determine feasibility of llvm18/clang18 removal wrt python3 JIT #207

@yselkowitz

Description

@yselkowitz

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

Metadata

Metadata

Labels

blockedThis ticket cannot proceed until a dependency is metcleanupRemoval of deprecated or unwanted packages

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions