Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot use FFMPEG in Julia (1.4 or 1.5) #36

Open
CodeLenz opened this issue Sep 7, 2020 · 4 comments
Open

Cannot use FFMPEG in Julia (1.4 or 1.5) #36

CodeLenz opened this issue Sep 7, 2020 · 4 comments

Comments

@CodeLenz
Copy link

CodeLenz commented Sep 7, 2020

Hi.

Julia 1.5.1. Fresh install, empty .julia so far.

(@v1.5) pkg> add FFMPEG
   Updating registry at `~/.julia/registries/General`
  Resolving package versions...
Updating `~/.julia/environments/v1.5/Project.toml`
  [c87230d0] + FFMPEG v0.4.0
Updating `~/.julia/environments/v1.5/Manifest.toml`
  [c87230d0] ~ FFMPEG v0.4.0 `https://github.com/JuliaIO/FFMPEG.jl.git#master` ⇒ v0.4.0

(@v1.5) pkg> precompile
Precompiling project...
[ Info: Precompiling FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a]
ERROR: LoadError: InitError: could not load library "/home/lenz/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/lib/libavdevice.so"
/usr/lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
Stacktrace:
 [1] dlopen(::String, ::UInt32; throw_error::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109
 [2] dlopen at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
 [3] __init__() at /home/lenz/.julia/packages/FFMPEG_jll/w0b7h/src/wrappers/x86_64-linux-gnu.jl:241
 [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
 [5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:782
 [6] _require(::Base.PkgId) at ./loading.jl:1007
 [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 /home/lenz/.julia/packages/FFMPEG/aazvf/src/FFMPEG.jl:3

It seems to be some inconsistency with /usr/lib64/libk5crypto.so.3. I am using Fedora 32, so the relevant package here is
krb5-libs-1.18.2-20.fc32

and the inconsistency seem to be in

EVP_KDF_ctrl, version OPENSSL_1_1_1b

Nonetheless, I guess julia's binnary builder would take care of any "external" dependency, such as this.

Do you have any clue on what can I do to fix this error, as it is preventing me to use Plots as well as any FFMPEG related package?

Thanks in advance.

@ghost
Copy link

ghost commented Sep 17, 2020

I had exactly the same problem with my Fedora 32. I managed to precompile FFMPEG and Plots by uninstalling first ffmpeg-libs from the system using dnf (and consequently a bunch of other packages that depend on it like cmus, mpv, etc...). Then ]add FFMPEG, precompile, reinstall ffmpeg-libs and packages in system, done!
I use Plots with ijulia in jupyterlab. "using Plots" first shows library issues as it seems that Plots loads first the ffmpeg library from the system. Running again the Plots cell seems to work.
SO it has to do with the library load path. Any help on this is welcome as I don't like my uninstall/reinstall workaround. Thanks!

@CodeLenz
Copy link
Author

Thanks @cisco-ap . It did not work for me, since the next problem appears with respect to libk5crypto

ERROR: LoadError: InitError: could not load library "/home/lenz/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/lib/libavdevice.so"
/usr/lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b

and sudo depends on it.

I really think weird that it is using system libraries, instead of binary artifacts.

Anyway, thank you very much for your support.

@evetion
Copy link

evetion commented Oct 3, 2020

I encountered the same problem here on Fedora 32, when trying to using Plots. A workaround, start julia with: LD_LIBRARY_PATH=/home/evetion/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/lib julia

@CodeLenz
Copy link
Author

CodeLenz commented Oct 3, 2020

@evetion

It worked! Thank you very much.

So I must assume that this correction to the LD_LIBRARY_PATH sould be made by the binary builder and it is a bug?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants