I’ve seen a few other posts related to build issues with Plots.jl (and FFMPEG.jl), but it’s not clear to me what is / if there is a solution – and the final comment in the last of those examples recommends the previous poster create a new thread.
OS: Windows 11 Version 23H2 ( build 22631.4037
)
Julia Version: 1.10.4 (2024-06-04)
> ] activate my_package
(my_package) pkg> add Plots # I did this, got the error, then tried the next line
(my_package) pkg> build Plots
Building FFMPEG → `C:\Users\Owner\.julia\scratchspaces\44cfe95a-1eb2-52ea-b672-e2afdf69b78f\9143266ba77d3313a4cf61d8333a1970e8c5d8b6\build.log`
ERROR: Error building `FFMPEG`:
ERROR: LoadError: Unable to open libLLVM!
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] (::BinaryProvider.var"#open_libllvm#124")()
@ BinaryProvider C:\Users\Owner\.julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:652
[3] detect_cxx11_string_abi()
@ BinaryProvider C:\Users\Owner\.julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:655
[4] detect_compiler_abi()
@ BinaryProvider C:\Users\Owner\.julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:668
[5] top-level scope
@ C:\Users\Owner\.julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:685
[6] include(mod::Module, _path::String)
@ Base .\Base.jl:495
[7] include(x::String)
@ BinaryProvider C:\Users\Owner\.julia\packages\BinaryProvider\U2dKK\src\BinaryProvider.jl:1
[8] top-level scope
@ C:\Users\Owner\.julia\packages\BinaryProvider\U2dKK\src\BinaryProvider.jl:12
[9] include
@ .\Base.jl:495 [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, UInt128}}, source::String)
@ Base .\loading.jl:2222
[11] top-level scope
@ stdin:3
in expression starting at C:\Users\Owner\.julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:685
in expression starting at C:\Users\Owner\.julia\packages\BinaryProvider\U2dKK\src\BinaryProvider.jl:1
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile BinaryProvider [b99e7846-7c00-51b0-8f62-c81ae34c0232] to "C:\\Users\\Owner\\.julia\\compiled\\v1.10\\BinaryProvider\\jl_C380.tmp".
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base .\loading.jl:2468
[3] compilecache
@ .\loading.jl:2340 [inlined]
[4] (::Base.var"#968#969"{Base.PkgId})()
@ Base .\loading.jl:1974
[5] mkpidlock(f::Base.var"#968#969"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
@ FileWatching.Pidfile C:\Users\Owner\.julia\juliaup\julia-1.10.4+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:93
[6] #mkpidlock#6
@ C:\Users\Owner\.julia\juliaup\julia-1.10.4+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:88 [inlined]
[7] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
@ FileWatching.Pidfile C:\Users\Owner\.julia\juliaup\julia-1.10.4+0.x64.w64.mingw32\share\julia\stdlib\v1.10\FileWatching\src\pidfile.jl:111
[8] #invokelatest#2
@ .\essentials.jl:894 [inlined]
[9] invokelatest
@ .\essentials.jl:889 [inlined]
[10] maybe_cachefile_lock(f::Base.var"#968#969"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
@ Base .\loading.jl:2983
[11] maybe_cachefile_lock
@ .\loading.jl:2980 [inlined]
[12] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1970
[13] __require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1812
[14] #invoke_in_world#3
@ .\essentials.jl:926 [inlined]
[15] invoke_in_world
@ .\essentials.jl:923 [inlined]
[16] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1803
[17] macro expansion
@ .\loading.jl:1790 [inlined]
[18] macro expansion
@ .\lock.jl:267 [inlined]
[19] __require(into::Module, mod::Symbol)
@ Base .\loading.jl:1753
[20] #invoke_in_world#3
@ .\essentials.jl:926 [inlined]
[21] invoke_in_world
@ .\essentials.jl:923 [inlined]
[22] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1746
[23] include(fname::String)
@ Base.MainInclude .\client.jl:489
[24] top-level scope
@ none:5
in expression starting at C:\Users\Owner\.julia\packages\FFMPEG\guN1x\deps\build.jl:1
Just checking the Unable to open libLLVM
message:
julia> @show Base.libllvm_path()
Base.libllvm_path() = Symbol("C:\\Users\\Owner\\.julia\\juliaup\\julia-1.10.4+0.x64.w64.mingw32\\bin\\libLLVM-15jl.dll")
Symbol("C:\\Users\\Owner\\.julia\\juliaup\\julia-1.10.4+0.x64.w64.mingw32\\bin\\libLLVM-15jl.dll")