Plots.jlとCUDA.jlのインストールエラー
エラーになった...
Julia のバージョン 1.9.3
でPlots.jl
(version:1.39.0)がすでにある状態でCUDA.jl
(version:5.1.2)をインストールしたところFFMEPG関連のエラーが出てしまった。
インストールしていたパッケージは次の通り。
"GR" => v"0.72.10"
"ForwardDiff" => v"0.10.36"
"BenchmarkTools" => v"1.5.0"
"SymPy" => v"1.2.0"
"IJulia" => v"1.24.2"
"Plots" => v"1.39.0"
"StaticArrays" => v"1.9.5"
"NLsolve" => v"4.5.1"
"DifferentialEquations" => v"7.11.0"
エラーコード(ただし、.julia以下のみ)
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
.julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:652
[3] detect_cxx11_string_abi()
@ BinaryProvider
.julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:655
[4] detect_compiler_abi()
@ BinaryProvider
.julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:668
[5] top-level scope
@ .julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:685
[6] include(mod::Module, _path::String)
@ Base .\Base.jl:457
[7] include(x::String)
@ BinaryProvider
.julia\packages\BinaryProvider\U2dKK\src\BinaryProvider.jl:1
[8] top-level scope
@ .julia\packages\BinaryProvider\U2dKK\src\BinaryProvider.jl:12
[9] include
@ .\Base.jl:457 [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:2049
[11] top-level scope
@ stdin:3
in expression starting at .julia\packages\BinaryProvider\U2dKK\src\PlatformNames.jl:685
in expression starting at .julia\packages\BinaryProvider\U2dKK\src\BinaryProvider.jl:1
ERROR: LoadError: Failed to precompile BinaryProvider [b99e7846-7c00-51b0-8f62-c81ae34c0232] to ".julia\\compiled\\v1.9\\BinaryProvider\\jl_C5D9.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:2300
[3] compilecache
@ .\loading.jl:2167 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base .\loading.jl:1805
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base .\loading.jl:1660
[6] macro expansion
@ .\loading.jl:1648 [inlined]
[7] macro expansion
@ .\lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base .\loading.jl:1611
[9] include(fname::String)
@ Base.MainInclude .\client.jl:478
[10] top-level scope
@ none:5
in expression starting at
.julia\packages\FFMPEG\guN1x\deps\build.jl:1
エラーコードの最後の行を見るとbuild.jl
の1行目からエラーが起きている。このファイルの一行目は using BinaryProvider
で、このBinaryProvider
関連でエラーが起きていることがわかった。知識がない私にはこれしか分からず、Geminiにも聞いて言われたことをやったが全然うまくいかなかった。
2時間ほど格闘して面倒になったので、.juliaをフォルダごと削除。さらに、Julia
もアンインストール。その後、マイクロソフトストアから Julia
(version:1.10.4) をインストールして、パッケージをインストール。CUDA.jl
→ Plots.jl
でも惨敗。実用上は問題ないはずと祈りながらjupyter notebook (正確にはVScodeの.ipynb ファイル)上で using Plots
を実行。当然、怒られた。
解決策(?)
もう一回、.juliaを削除して、今度は Plots.jl
から CUDA.jl
の順にインストール。すると、特に何も言われずインストールできた。その後、DifferentialEquations.jl
などをインストールしたが、今まで何もなかったように上手くいってしまった。
同様の問題に直面している人はパッケージを全部消して、インストールする順番を変えてみるとうまくいくかもしれない......?(自己責任でお願いします。)
追記
今確認すると、.julia\packages\FFMPEGまではあるのだが、それ以降のディレクトリが見つからない。さらに、.julia\packages\BinaryProvider\U2dKK\src\BinaryProvider のBinaryProviderも見つからない......。疑問に思い、現在のパッケージのversionを見たところ、
"StaticArrays" => v"1.9.6"
"SymPy" => v"2.1.1"
"GR" => v"0.73.6"
"DifferentialEquations" => v"7.13.0"
"NLsolve" => v"4.5.1"
"IJulia" => v"1.25.0"
"Plots" => v"1.40.4"
"ForwardDiff" => v"0.10.36"
"CUDA" => v"5.4.2"
"BenchmarkTools" => v"1.5.0"
となっていた。どちらも、CUDA.jl
, Plots.jl
の version が新しい。このあたりが原因かも。ただし、Julia
の version を 1.10.4 で CUDA.jl
, Plots.jl
の順にインストールしてエラーが出たことについては説明できない。よくわからん!!
Discussion