Error Precomping Lathe

I recently installed Julia 1.7.1. When I try using Lathe, I get the following error:

[ Info: Precompiling Lathe [38d8eb38-e7b1-11e9-0012-376b6c802672]
ERROR: LoadError: InitError: could not load symbol “LLVMExtraInitializeAllTargets”:
dlsym(RTLD_DEFAULT, LLVMExtraInitializeAllTargets): symbol not found
Stacktrace:
[1] LLVMInitializeAllTargets
@ ~/.julia/packages/LLVM/srSVa/lib/libLLVM_extra.jl:10 [inlined]
[2] InitializeAllTargets
@ ~/.julia/packages/LLVM/srSVa/src/init.jl:58 [inlined]
[3] init()
@ GPUCompiler ~/.julia/packages/GPUCompiler/XwWPj/src/GPUCompiler.jl:50
[4] _include_from_serialized(path::String, depmods::Vector{Any})
@ Base ./loading.jl:768
[5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
@ Base ./loading.jl:854
[6] _require(pkg::Base.PkgId)
@ Base ./loading.jl:1097
[7] require(uuidkey::Base.PkgId)
@ Base ./loading.jl:1013
[8] require(into::Module, mod::Symbol)
@ Base ./loading.jl:997
[9] include
@ ./Base.jl:418 [inlined]
[10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
@ Base ./loading.jl:1318
[11] top-level scope
@ none:1
[12] eval
@ ./boot.jl:373 [inlined]
[13] eval(x::Expr)
@ Base.MainInclude ./client.jl:453
[14] top-level scope
@ none:1
during initialization of module GPUCompiler
in expression starting at /Users/dsr/.julia/packages/CUDA/M4jkK/src/CUDA.jl:1
ERROR: LoadError: Failed to precompile CUDA [052768ef-5323-5732-b1bb-66c8b64840ba] to /Users/dsr/.julia/compiled/v1.7/CUDA/jl_L6BYvp.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
@ Base ./loading.jl:1466
[3] compilecache(pkg::Base.PkgId, path::String)
@ Base ./loading.jl:1410
[4] _require(pkg::Base.PkgId)
@ Base ./loading.jl:1120
[5] require(uuidkey::Base.PkgId)
@ Base ./loading.jl:1013
[6] require(into::Module, mod::Symbol)
@ Base ./loading.jl:997
[7] include(mod::Module, _path::String)
@ Base ./Base.jl:418
[8] include(x::String)
@ Lathe.models ~/.julia/packages/Lathe/JIXAl/src/Models.jl:18
[9] top-level scope
@ ~/.julia/packages/Lathe/JIXAl/src/Models.jl:46
[10] include(mod::Module, _path::String)
@ Base ./Base.jl:418
[11] include(x::String)
@ Lathe ~/.julia/packages/Lathe/JIXAl/src/Lathe.jl:44
[12] top-level scope
@ ~/.julia/packages/Lathe/JIXAl/src/Lathe.jl:53
[13] include
@ ./Base.jl:418 [inlined]
[14] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
@ Base ./loading.jl:1318
[15] top-level scope
@ none:1
[16] eval
@ ./boot.jl:373 [inlined]
[17] eval(x::Expr)
@ Base.MainInclude ./client.jl:453
[18] top-level scope
@ none:1
in expression starting at /Users/dsr/.julia/packages/Lathe/JIXAl/src/models/treeclass.jl:4
in expression starting at /Users/dsr/.julia/packages/Lathe/JIXAl/src/Models.jl:6
in expression starting at /Users/dsr/.julia/packages/Lathe/JIXAl/src/Lathe.jl:25
ERROR: Failed to precompile Lathe [38d8eb38-e7b1-11e9-0012-376b6c802672] to /Users/dsr/.julia/compiled/v1.7/Lathe/jl_hOuKcI.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
@ Base ./loading.jl:1466
[3] compilecache(pkg::Base.PkgId, path::String)
@ Base ./loading.jl:1410
[4] _require(pkg::Base.PkgId)
@ Base ./loading.jl:1120
[5] require(uuidkey::Base.PkgId)
@ Base ./loading.jl:1013
[6] require(into::Module, mod::Symbol)
@ Base ./loading.jl:997

Consider reinstalling every package (espeically those using LLVM.jl). It seems that LLVMExtraInitializeAllTargets symbol doesn’t exist. I suspect this is caused by mismatched version of LLVM binary.

I have a similar issue. If I have DuckDB installed I can’t install Lathe. If I have Lathe installed, I can’t install DuckDB.

Lathe is effectively unmaintained as far as I can tell, has not been updated in 2 years and as a result of that restricts compat to some pretty outdated versions of its dependencies. I don’t think it can be sensibly used in a modern (i.e. using current versions of popular packages) analysis pipeline.

Right. Thank you.