Package enzyme doesn't work
TL;DR: extra/julia
is broken for many uses and unsupported by upstream; there should be a non-broken way to get Julia from extra
.
Description:
Julia upstream ships with an LLVM that carries patches, which is a similar situation to Rust. The julia
package currently (as of 2:1.10.2-1
) does not use a supported configuration, which causes many packages to be broken in both obvious and more subtle ways. Upstream cannot support this configuration and it taxes maintainers across the Julia community to deal with issues and questions from Arch users, as well as a poor user experience for Arch users.
The Arch Wiki for Julia says
Note: The julia package is compiled against system libraries and is therefore unsupported by the upstream. While it may be suitable for basic usage it is incompatible with external packages (e.g. MKL, LLVM, LLVMExtra, or packages that depend on these, like CUDA or Flux) which rely on Julia's bundled versions of its dependencies. For example, Sundials.jl (which is a dependency of DifferentialEquations.jl) fails to precompile with this package, but builds without errors with the official builds. Bugs reported to Julia's maintainers against this binary will be closed.
I think extra/julia
should be a good default for users, not a decoy for people who must find their way to AUR versions. Replacing extra/julia
with a build configured like julia-bin
would be a much better user experience (many packages that are uniquely broken with current extra/julia
will work) and enable Arch users to get support from upstream.
Arch could also endorse juliaup
by moving it into extra
. I don't consider this alone to be a replacement for removing/modifying the current extra/julia
since most users will choose extra/julia
if it exists.
Additional info:
- https://github.com/EnzymeAD/Enzyme.jl/issues/360#issuecomment-2016874954
- For analogy, Arch has both
extra/rust
andextra/rustup
.