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
❯ jl +nightly --project examples/sum_orc.jl
ERROR: LoadError: LLVM error: Symbols not found: [ llvm_orc_registerEHFrameSectionWrapper ]
Stacktrace:
[1] macro expansion
@ ~/Julia/pkg/LLVM/src/executionengine/utils.jl:32 [inlined]
[2] LLJIT(builder::LLJITBuilder)
@ LLVM ~/Julia/pkg/LLVM/src/executionengine/lljit.jl:38
[3] #LLJIT#66
@ ~/Julia/pkg/LLVM/src/executionengine/lljit.jl:59 [inlined]
[4] top-level scope
@ ~/Julia/pkg/LLVM/examples/sum_orc.jl:45
[5] include
@ ./Base.jl:559 [inlined]
[6] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:325
[7] _start()
@ Base ./client.jl:533
in expression starting at /home/tim/Julia/pkg/LLVM/examples/sum_orc.jl:45
Looks like ORC now expects certain LLVM symbols to be globally visible: llvm/llvm-project#74671. This basically requires a change in how Julia links against LLVM, re-exporting those symbols. The alternatives aren't viable (see apache/arrow#39695 (comment)). I think I agree with llvm/llvm-project#74671 (comment) that this is a bad design decision on LLVM's side.
Attempted workaround 1: add llvm_orc_*; to Julia's julia.expmap. Doesn't work.
I was going to revisit this as I just remembered about LLVMAddSymbol (to add the result of the ccallable's above), but it seems like this just works on LLVM 18? Not sure what changed, but 🤷
Our ORC wrappers are broken on LLVM 17:
Looks like ORC now expects certain LLVM symbols to be globally visible: llvm/llvm-project#74671. This basically requires a change in how Julia links against LLVM, re-exporting those symbols. The alternatives aren't viable (see apache/arrow#39695 (comment)). I think I agree with llvm/llvm-project#74671 (comment) that this is a bad design decision on LLVM's side.
Attempted workaround 1: add
llvm_orc_*;
to Julia'sjulia.expmap
. Doesn't work.Attempted workaround 2: register globally visible c-callable functions:
Doesn't work.
cc @vchuravy @gbaraldi @lhames
The text was updated successfully, but these errors were encountered: