1

Just installed Julia v1.5.1 under Windows 2012 R2. Get similar error to what was reported here: I got a message "using Plots" in Julia and I do no how to resolve it

If I follow the steps seen here for MacOS Catalina : https://github.com/JuliaLang/julia/issues/36893

to rollback to x264_jll@2019.5.25

then the precompile of Plots will succeed,as seen below. Thinking I maybe needed FFMPEG DLL files, I downloaded latest Windows binary (Shared linking!) from https://ffmpeg.zeranoe.com/builds/ and added that \bin\ path to my System PATH and restarted. Folder contains avcodec-58.dll, the DLL reported as missing. Still get the error as seen below.

I worry I'll apply an update to packages that will break this at some point. Is there a fix to make this work with latest version of x264_jll?

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.5.1 (2020-08-25)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.5) pkg> status
Status `C:\Users\jort\.julia\environments\v1.5\Project.toml`
  [91a5bcdd] Plots v1.6.3
  [1270edf5] x264_jll v2020.7.14+1

julia> using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]
ERROR: LoadError: InitError: could not load library "C:\Users\jort\.julia\artifa
cts\7350a6401f1c0d38cc3518193083bc4f83adfe99\bin\avcodec-58.dll"
The specified module could not be found.
Stacktrace:
 [1] dlopen(::String, ::UInt32; throw_error::Bool) at D:\buildbot\worker\package
_win64\build\usr\share\julia\stdlib\v1.5\Libdl\src\Libdl.jl:109
 [2] dlopen at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.
5\Libdl\src\Libdl.jl:109 [inlined] (repeats 2 times)
 [3] __init__() at C:\Users\jort\.julia\packages\FFMPEG_jll\w0b7h\src\wrappers\x
86_64-w64-mingw32.jl:234
 [4] _include_from_serialized(::String, ::Array{Any,1}) at .\loading.jl:697
 [5] _require_from_serialized(::String) at .\loading.jl:749
 [6] _require(::Base.PkgId) at .\loading.jl:1040
 [7] require(::Base.PkgId) at .\loading.jl:928
 [8] require(::Module, ::Symbol) at .\loading.jl:923
 [9] include(::Function, ::Module, ::String) at .\Base.jl:380
 [10] include(::Module, ::String) at .\Base.jl:368
 [11] top-level scope at none:2
 [12] eval at .\boot.jl:331 [inlined]
 [13] eval(::Expr) at .\client.jl:467
 [14] top-level scope at .\none:3
during initialization of module FFMPEG_jll
in expression starting at C:\Users\jort\.julia\packages\FFMPEG\aazvf\src\FFMPEG.
jl:3
ERROR: LoadError: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e75
70a] to C:\Users\jort\.julia\compiled\v1.5\FFMPEG\TGvga_Ve7jx.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1305
 [3] _require(::Base.PkgId) at .\loading.jl:1030
 [4] require(::Base.PkgId) at .\loading.jl:928
 [5] require(::Module, ::Symbol) at .\loading.jl:923
 [6] include(::Function, ::Module, ::String) at .\Base.jl:380
 [7] include(::Module, ::String) at .\Base.jl:368
 [8] top-level scope at none:2
 [9] eval at .\boot.jl:331 [inlined]
 [10] eval(::Expr) at .\client.jl:467
 [11] top-level scope at .\none:3
in expression starting at C:\Users\jort\.julia\packages\Plots\M1wcx\src\Plots.jl
:15
ERROR: Failed to precompile Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80] to C:\U
sers\jort\.julia\compiled\v1.5\Plots\ld3vC_Ve7jx.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1305
 [3] _require(::Base.PkgId) at .\loading.jl:1030
 [4] require(::Base.PkgId) at .\loading.jl:928
 [5] require(::Module, ::Symbol) at .\loading.jl:923

(@v1.5) pkg> add x264_jll@2019.5.25
   Updating registry at `C:\Users\jort\.julia\registries\General`
  Resolving package versions...
Updating `C:\Users\jort\.julia\environments\v1.5\Project.toml`
  [1270edf5] ↓ x264_jll v2020.7.14+1 ? v2019.5.25+2
Updating `C:\Users\jort\.julia\environments\v1.5\Manifest.toml`
  [c87230d0] ↓ FFMPEG v0.4.0 ? v0.3.0
  [b22a6f82] ↓ FFMPEG_jll v4.3.1+2 ? v4.1.0+3
  [1270edf5] ↓ x264_jll v2020.7.14+1 ? v2019.5.25+2

(@v1.5) pkg> status
Status `C:\Users\jort\.julia\environments\v1.5\Project.toml`
  [91a5bcdd] Plots v1.6.3
  [1270edf5] x264_jll v2019.5.25+2

julia> using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]

julia>
jort
  • 33
  • 1
  • 4
  • "Folder contains avcodec-58.dll, the DLL reported as missing." Note that `avcodec-58.dll` is already there, you can literally see the full absolute path in your terminal, but the dynamic loader can't find one of its dependencies. Which one you can't see because Windows won't tell you. You can probably find out with `using Pkg; Pkg.add("DependencyWalker"); using DependencyWalker; Library(raw"C:\Users\jort\.julia\artifa cts\7350a6401f1c0d38cc3518193083bc4f83adfe99\bin\avcodec-58.dll")` – giordano Sep 11 '20 at 17:47
  • Thanks @giordano! Based on your comment on that other thread about server OSes missing libraries, I tried FFMPEG just in case. DependencyWalker call took several minutes @ 50% CPU, then output this many times: `#dependency_tree#1 at C:\Users\jort\.julia\packages\DependencyWalker\uT4qZ\src\D ependencyWalker.jl:73 dependency_tree at C:\Users\jort\.julia\packages\DependencyWalker\uT4qZ\src\Depe ndencyWalker.jl:51 unknown function (ip: 000000001EEF2227)` – jort Sep 11 '20 at 20:06
  • ...and while still running @ 50% CPU, ended that batch of output with a many lines ending with: `true_main at /cygdrive/d/buildbot/worker/package_win64/build/ui\repl.c:106 wmain at /cygdrive/d/buildbot/worker/package_win64/build/ui\repl.c:227 __tmainCRTStartup at /usr/src/debug/mingw64-x86_64-runtime-7.0.0-1/crt\crtexe.c: 334 mainCRTStartup at /usr/src/debug/mingw64-x86_64-runtime-7.0.0-1/crt\crtexe.c:223 BaseThreadInitThunk at C:\Windows\system32\KERNEL32.DLL (unknown line) RtlUserThreadStart at C:\Windows\SYSTEM32\ntdll.dll (unknown line)` – jort Sep 11 '20 at 20:10
  • there was no more output after that, so I finally killed it. Not sure how I can capture all of the output, if you think relevant? – jort Sep 11 '20 at 20:53
  • able to test under Windows Server 2016 Datacenter, and do NOT see this problem. So I will try to transition to another server. If someone wishes for me to do further testing under Windows Server 2012, I will do what I can. – jort Sep 11 '20 at 22:02
  • I have great difficulties understanding why downgrading `x264_jll` to `v2019.5.25+2` (and `FFMPEG` accordingly) would have helped. I'm not sure investigating further on such an old system is worth the time, if you have another working setup – giordano Sep 11 '20 at 23:20

0 Answers0