Giter VIP home page Giter VIP logo

ffmpeg.jl's Introduction

FFMPEG

Build Status Build Status Codecov Build Status

This package simply offers:

# a simple way to invoke ffmpeg:
FFMPEG.exe("-version")
FFMPEG.exe("-version", collect=true) #collect output lines into an array of strings
FFMPEG.exe("-version", command=FFMPEG.ffprobe, collect=true) #collect ffprobe output lines into an array of strings (defaults to ffmpeg)

@ffmpeg_env run(`$(FFMPEG.ffmpeg) -version`) #Manually sets up the shared lib environment location. Note the $(FFMPEG.ffmpeg)

ffmpeg_exe("-version") #takes strings
ffmpeg_exe(`-version`) #or command strings

ffprobe_exe("-version") # we wrap FFPROBE too!

ffmpeg`-version` # Cmd string macros too
ffprobe`-version`

# the AV libraries (exported too):
FFMPEG.libavcodec
FFMPEG.libavformat
FFMPEG.libavutil
FFMPEG.libswscale
FFMPEG.libavdevice
FFMPEG.libavfilter

# and for good measure:
FFMPEG.versioninfo()

For a high level API to the AV libraries in libav, have a look at VideoIO.jl.

This package is made to be included into packages that just need the ffmpeg binaries + executables, and don't want to take on the 3.6 second load time of VideoIO.

ffmpeg.jl's People

Contributors

asinghvi17 avatar giordano avatar ianbutterworth avatar juliatagbot avatar simondanisch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ffmpeg.jl's Issues

julia says "ffmpeg: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory"

[nix-shell:~]$ julia
_
_ _ ()_ | Documentation: https://docs.julialang.org
() | () () |
_ _ | | __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ ` | |
| | |
| | | | (
| | | Version 1.0.4 (2019-05-16)
/ |_'|||_'_| |
|__/ |

julia> using FFMPEG
[ Info: Recompiling stale cache file /home/prehonor/.julia/compiled/v1.0/FFMPEG/TGvga.ji for FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a]

julia> FFMPEG.exe("-version")
/home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/ffmpeg: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
ERROR: failed process: Process(/home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/ffmpeg -version, ProcessExited(127)) [127]
Stacktrace:
[1] error(::String, ::Base.Process, ::String, ::Int64, ::String) at /nix/store/nnjc5x32l9n2kzas0lqazhla88h8sm70-julia-1.0.4/lib/julia/sys.so:?
[2] #run#505(::Bool, ::Function, ::Cmd) at /nix/store/nnjc5x32l9n2kzas0lqazhla88h8sm70-julia-1.0.4/lib/julia/sys.so:?
[3] run at ./process.jl:661 [inlined]
[4] #4 at /home/prehonor/.julia/packages/FFMPEG/guN1x/src/FFMPEG.jl:133 [inlined]
[5] withenv(::getfield(FFMPEG, Symbol("##4#6")){String,Cmd}, ::Pair{String,String}) at ./env.jl:148
[6] #exe#2 at /home/prehonor/.julia/packages/FFMPEG/guN1x/src/FFMPEG.jl:132 [inlined]
[7] #exe at ./none:0 [inlined]
[8] #exe#1 at /home/prehonor/.julia/packages/FFMPEG/guN1x/src/FFMPEG.jl:96 [inlined]
[9] exe(::String) at /home/prehonor/.julia/packages/FFMPEG/guN1x/src/FFMPEG.jl:96
[10] top-level scope at none:0

julia> ldd /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/ffmpeg
ERROR: syntax: invalid identifier name "."

julia>

[nix-shell:~]$ ldd /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/ffmpeg
linux-vdso.so.1 (0x00007ffc7325f000)
libavdevice.so.58 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libavdevice.so.58 (0x00007f9a3bd31000)
libavfilter.so.7 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libavfilter.so.7 (0x00007f9a3ba21000)
libavformat.so.58 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libavformat.so.58 (0x00007f9a3b7ca000)
libavcodec.so.58 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libavcodec.so.58 (0x00007f9a39ced000)
libavresample.so.4 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libavresample.so.4 (0x00007f9a39cca000)
libpostproc.so.55 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libpostproc.so.55 (0x00007f9a39ca8000)
libswresample.so.3 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libswresample.so.3 (0x00007f9a39c88000)
libswscale.so.5 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libswscale.so.5 (0x00007f9a39bfa000)
libavutil.so.56 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libavutil.so.56 (0x00007f9a39b86000)
libm.so.6 => /nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/libm.so.6 (0x00007f9a39a46000)
libpthread.so.0 => /nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/libpthread.so.0 (0x00007f9a39a25000)
libc.so.6 => /nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/libc.so.6 (0x00007f9a39864000)
libass.so.9 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libass.so.9 (0x00007f9a39631000)
libfreetype.so.6 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libfreetype.so.6 (0x00007f9a39382000)
libbz2.so.1.0 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libbz2.so.1.0 (0x00007f9a39172000)
libz.so.1 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libz.so.1 (0x00007f9a38f55000)
libssl.so.1.1 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libssl.so.1.1 (0x00007f9a38cb5000)
libcrypto.so.1.1 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libcrypto.so.1.1 (0x00007f9a387d1000)
libfdk-aac.so.1 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libfdk-aac.so.1 (0x00007f9a38517000)
libmp3lame.so.0 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libmp3lame.so.0 (0x00007f9a38289000)
libopus.so.0 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libopus.so.0 (0x00007f9a3822b000)
libvorbis.so.0 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libvorbis.so.0 (0x00007f9a37ff2000)
libvorbisenc.so.2 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libvorbisenc.so.2 (0x00007f9a37d45000)
libdl.so.2 => /nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/libdl.so.2 (0x00007f9a37d40000)
libx265.so.169 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libx265.so.169 (0x00007f9a37647000)
librt.so.1 => /nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/librt.so.1 (0x00007f9a3763d000)
/nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/ld-linux-x86-64.so.2 => /nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib64/ld-linux-x86-64.so.2 (0x00007f9a3bd49000)
libfribidi.so.0 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libfribidi.so.0 (0x00007f9a3741c000)
libogg.so.0 => /home/prehonor/.julia/packages/FFMPEG/guN1x/deps/usr/bin/../lib/libogg.so.0 (0x00007f9a37216000)
libstdc++.so.6 => /nix/store/danv012gh0aakh8xnk2b35vahklz72mk-gcc-9.2.0-lib/lib/libstdc++.so.6 (0x00007f9a37036000)
libgcc_s.so.1 => /nix/store/danv012gh0aakh8xnk2b35vahklz72mk-gcc-9.2.0-lib/lib/libgcc_s.so.1 (0x00007f9a3701c000)

help me,please

FFMPEG unsupported on MacOS?

Hi, building FFMPEG on OSx fails under Julia 1.9:

pkg> build FFMPEG
    Building FFMPEG → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/9143266ba77d3313a4cf61d8333a1970e8c5d8b6/build.log`
ERROR: Error building `FFMPEG`: 
┌ Warning: Platform `arm64-apple-darwin22.4.0` is not an officially supported platform
└ @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:450
ERROR: LoadError: KeyError: key "unknown" not found
Stacktrace:
  [1] getindex
    @ ./dict.jl:484 [inlined]
  [2] parse_dl_name_version
    @ ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:511 [inlined]
  [3] detect_libgfortran_abi(libgfortran_name::String, platform::BinaryProvider.UnknownPlatform)
    @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:555
  [4] detect_libgfortran_abi(libgfortran_name::String)
    @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:555
  [5] detect_libgfortran_abi
    @ ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:584 [inlined]
  [6] detect_compiler_abi()
    @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:667
  [7] top-level scope
    @ ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:685
  [8] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
  [9] include(x::String)
    @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/BinaryProvider.jl:1
 [10] top-level scope
    @ ~/.julia/packages/BinaryProvider/U2dKK/src/BinaryProvider.jl:12
 [11] include
    @ ./Base.jl:457 [inlined]
 [12] 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:2010
 [13] top-level scope
    @ stdin:2
in expression starting at /Users/ralphkube/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:685
in expression starting at /Users/ralphkube/.julia/packages/BinaryProvider/U2dKK/src/BinaryProvider.jl:1
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile BinaryProvider [b99e7846-7c00-51b0-8f62-c81ae34c0232] to "/Users/ralphkube/.julia/compiled/v1.9/BinaryProvider/jl_obWk3D".
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:2260
  [3] compilecache
    @ ./loading.jl:2127 [inlined]
  [4] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1770
  [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1625
  [6] macro expansion
    @ ./loading.jl:1613 [inlined]
  [7] macro expansion
    @ ./lock.jl:267 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1576
  [9] include(fname::String)
    @ Base.MainInclude ./client.jl:478
 [10] top-level scope
    @ none:5
in expression starting at /Users/ralphkube/.julia/packages/FFMPEG/guN1x/deps/build.jl:1

(magnetogram_labels) pkg> ```

FFMPEG fails to compile on Julia 1.10.3, Mac M2 CPU

Error message

ERROR: LoadError: InitError: could not load library "/Users/liujinguo/.julia/artifacts/6095fcd268ea712c0f786f5ff1a45bf0eb7b005e/lib/libavdevice.58.13.100.dylib"
dlopen(/Users/liujinguo/.julia/artifacts/6095fcd268ea712c0f786f5ff1a45bf0eb7b005e/lib/libavdevice.58.13.100.dylib, 0x0001): Library not loaded: @rpath/libssl.3.dylib
  Referenced from: <5CE352A0-5EC6-3D2D-BDBF-A9642EF62321> /Users/liujinguo/.julia/artifacts/6095fcd268ea712c0f786f5ff1a45bf0eb7b005e/lib/libavdevice.58.13.100.dylib
  Reason: tried: '/Users/liujinguo/.julia/artifacts/6095fcd268ea712c0f786f5ff1a45bf0eb7b005e/lib/./libssl.3.dylib' (no such file), '/Users/liujinguo/.julia/artifacts/6095fcd268ea712c0f786f5ff1a45bf0eb7b005e/lib/./libssl.3.dylib' (no such file), '/Users/liujinguo/.julia/juliaup/julia-1.10.3+0.aarch64.apple.darwin14/lib/julia/libssl.3.dylib' (no such file), '/Users/liujinguo/.julia/juliaup/julia-1.10.3+0.aarch64.apple.darwin14/lib/julia/../libssl.3.dylib' (no such file), '/Users/liujinguo/.julia/juliaup/julia-1.10.3+0.aarch64.apple.darwin14/lib/libssl.3.dylib' (no such file), '/usr/local/lib/libssl.3.dylib' (no such file), '/usr/lib/libssl.3.dylib' (no such file, not in dyld cache)
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:117
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:116
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/pG9bm/src/products/library_generators.jl:63 [inlined]
  [4] __init__()
    @ FFMPEG_jll ~/.julia/packages/FFMPEG_jll/wpaSV/src/wrappers/aarch64-apple-darwin.jl:39

It seems the required library is not found.

Temporary Solution

Hope the following temporary solution can help users having the same compiling issue.

brew install openssl
sudo ln -s /opt/homebrew/opt/openssl/lib/libssl.3.dylib /usr/local/lib/
sudo ln -s /opt/homebrew/opt/openssl/lib/libcrypto.3.dylib /usr/local/lib/

FFMPEG.ffmpeg_exe failed because of ERROR: failed process

FFMPEG.ffmpeg_exe failed with ERROR: failed process. Although the use of ffmpeg through FFMPEG.jl failed, I can use it with appropriate LD_LIBRARY_PATH.

Do you have any advice or workaround?

> uname -srm         
Linux 5.11.16-arch1-1 x86_64

> julia
 ...
(@v1.6) pkg> st
      Status `~/.julia/environments/v1.6/Project.toml`
  [c87230d0] FFMPEG v0.4.0
  [98e50ef6] JuliaFormatter v0.13.10
  [2b0e0bc5] LanguageServer v3.2.0
  [91a5bcdd] Plots v1.12.0
  [295af30f] Revise v3.1.15
  [b3cc710f] StaticLint v4.5.0
  [cf896787] SymbolServer v5.1.1
...

julia> import FFMPEG

julia> FFMPEG.ffmpeg_exe(`-version`)
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8.1.0 (GCC)
configuration: --enable-cross-compile --cross-prefix=/opt/x86_64-linux-gnu/bin/x86_64-linux-gnu- --arch=x86_64 --target-os=linux --cc=cc --cxx=c++ --dep-cc=cc --ar=ar --nm=nm --objcc=objc --sysinclude=/workspace/destdir/include --pkg-config=/usr/bin/pkg-config --pkg-config-flags=--static --prefix=/workspace/destdir --sysroot=/opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root --extra-libs=-lpthread --enable-gpl --enable-version3 --enable-nonfree --disable-static --enable-shared --enable-pic --disable-debug --disable-doc --enable-avresample --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libvpx --enable-encoders --enable-decoders --enable-muxers --enable-demuxers --enable-parsers --enable-openssl --disable-schannel --extra-cflags=-I/workspace/destdir/include --extra-ldflags=-L/workspace/destdir/lib --enable-nvenc --enable-cuda-llvm
libavutil      56. 51.100 / 56. 70.100
libavcodec     58. 91.100 / 58.134.100
libavformat    58. 45.100 / 58. 76.100
libavdevice    58. 10.100 / 58. 13.100
libavfilter     7. 85.100 /  7.110.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  7.100 /  5.  9.100
libswresample   3.  7.100 /  3.  9.100
libpostproc    55.  7.100 / 55.  9.100
Process(`/home/akira/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/ffmpeg -version`, ProcessExited(0))

julia> FFMPEG.ffmpeg_exe(`-v 0 -framerate 15 -i /home/akira/materials-for-FFMPEG/%06d.png -i /home/akira/matrials-for-FFMPEG/palette.bmp -lavfi paletteuse=dither=sierra2_4a -loop 0 -y anim_fps15.gif`)
ERROR: failed process: Process(`/home/akira/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/ffmpeg -v 0 -framerate 15 -i /home/akira/materials-for-FFMPEG/%06d.png -i /home/akira/matrials-for-FFMPEG/palette.bmp -lavfi paletteuse=dither=sierra2_4a -loop 0 -y anim_fps15.gif`, ProcessSignaled(11)) [0]

Stacktrace:
  [1] run
    @ ./process.jl:438 [inlined]
  [2] (::FFMPEG.var"#4#6"{Cmd})(command_path::String)
    @ FFMPEG ~/.julia/packages/FFMPEG/aazvf/src/FFMPEG.jl:114
  [3] (::JLLWrappers.var"#2#3"{FFMPEG.var"#4#6"{Cmd}, String})()
    @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:49
  [4] withenv(::JLLWrappers.var"#2#3"{FFMPEG.var"#4#6"{Cmd}, String}, ::Pair{String, String}, ::Vararg{Pair{String, String}, N} where N)
    @ Base ./env.jl:161
  [5] withenv_executable_wrapper(f::Function, executable_path::String, PATH::String, LIBPATH::String, adjust_PATH::Bool, adjust_LIBPATH::Bool)
    @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:48
  [6] ffmpeg(f::Function; adjust_PATH::Bool, adjust_LIBPATH::Bool)
    @ FFMPEG_jll ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7
  [7] ffmpeg(f::Function)
    @ FFMPEG_jll ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7
  [8] #exe#2
    @ ~/.julia/packages/FFMPEG/aazvf/src/FFMPEG.jl:113 [inlined]
  [9] ffmpeg_exe(args::Cmd)
    @ FFMPEG ~/.julia/packages/FFMPEG/aazvf/src/FFMPEG.jl:125
 [10] top-level scope
    @ REPL[2]:1

julia> exit()

# Use ffmpeg with appropriate LD_LIBRARY_PATH
> LD_LIBRARY_PATH=/home/akira/.julia/artifacts/8a08e0194be328a41baaccd251d9b94e0918be75/lib/:${HOME}/.julia/artifacts/dae09e29891a3b2652c65300c5921ea90d2f3f08/lib:${LD_LIBRARY_PATH} /home/akira/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/ffmpeg -v 16 -framerate 15 -i /home/akira/materials-for-FFMPEG/%06d.png -i /home/akira/materials-for-FFMPEG/palette.bmp -lavfi paletteuse=dither=sierra2_4a -loop 0 -y anim_fps15.gif

Build issue on Windows

Seems similar to issue #27 but the message is not the same:

pkg> build FFMPEG
   Building FFMPEG → `C:\Users\Jeremy\.julia\packages\FFMPEG\guN1x\deps\build.log`
┌ Error: Error building `FFMPEG`:
│ ERROR: LoadError: LoadError: LibraryProduct(nothing, ["libbz2"], :libbzip2, "Prefix(C:\\Users\\Jeremy\\.julia\\packages\\FFMPEG\\guN1x\\deps\\usr)") is not satisfied, cannot generate deps.jl!
│ Stacktrace:
│  [1] error(::String) at .\error.jl:33
│  [2] write_deps_file(::String, ::Array{LibraryProduct,1}; verbose::Bool, isolate::Bool) at C:\Users\Jeremy\.julia\packages\BinaryProvider\GeAtj\src\Products.jl:419
│  [3] top-level scope at C:\Users\Jeremy\.julia\packages\FFMPEG\guN1x\deps\build_Bzip2.v1.0.6.jl:48
│  [4] include(::Module, ::String) at .\Base.jl:377
│  [5] include(::String) at C:\Users\Jeremy\.julia\packages\FFMPEG\guN1x\deps\build.jl:44
│  [6] top-level scope at C:\Users\Jeremy\.julia\packages\FFMPEG\guN1x\deps\build.jl:45
│  [7] include(::String) at .\client.jl:439
│  [8] top-level scope at none:5
│ in expression starting at C:\Users\Jeremy\.julia\packages\FFMPEG\guN1x\deps\build_Bzip2.v1.0.6.jl:48
│ in expression starting at C:\Users\Jeremy\.julia\packages\FFMPEG\guN1x\deps\build.jl:38
└ @ Pkg.Operations D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.4\Pkg\src\Operations.jl:892

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

ERROR: LoadError: UndefVarError: ffmpeg not defined

julia> using FFMPEG
[ Info: Precompiling FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a]
ERROR: LoadError: UndefVarError: ffmpeg not defined
Stacktrace:
 [1] top-level scope at none:0
 [2] include at .\boot.jl:326 [inlined]
 [3] include_relative(::Module, ::String) at .\loading.jl:1038
 [4] include(::Module, ::String) at .\sysimg.jl:29
 [5] top-level scope at none:2
 [6] eval at .\boot.jl:328 [inlined]
 [7] eval(::Expr) at .\client.jl:404
 [8] top-level scope at .\none:3
in expression starting at C:\Users\fuyaf\.julia\packages\FFMPEG\9JQpZ\src\FFMPEG.jl:55
ERROR: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a] to C:\Users\fuyaf\.julia\compiled\v1.1\FFMPEG\TGvga.ji.
Stacktrace:
 [1] compilecache(::Base.PkgId, ::String) at .\loading.jl:1197
 [2] _require(::Base.PkgId) at .\loading.jl:960
 [3] require(::Base.PkgId) at .\loading.jl:858
 [4] require(::Module, ::Symbol) at .\loading.jl:853

(v1.1) pkg> st FFMPEG
    Status `C:\Users\fuyaf\.julia\environments\v1.1\Project.toml`
  [c87230d0] FFMPEG v0.2.2

julia> versioninfo()
Julia Version 1.1.1
Commit 55e36cc308 (2019-05-16 04:10 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
  JULIA_EDITOR = "C:\Users\fuyaf\AppData\Local\atom\app-1.39.1\atom.exe"  -a
  JULIA_NUM_THREADS = 4

C:\Users\fuyaf> ffmpeg
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Unable to find a suitable output format

This simple frame extraction:

FFMPEG.exe("-i", "/home/yakir/coffeesource/In_T2_HalfV_OTA2.MP4", "-vframes", "1", "tmp.jpg")

returned this error:

[NULL @ 0x18f10c0] Unable to find a suitable output format for '/home/yakir/.julia/packages/FFMPEG/aEyFi/deps/usr/bin/ffmpeg'
/home/yakir/.julia/packages/FFMPEG/aEyFi/deps/usr/bin/ffmpeg: Invalid argument
ERROR: failed process: Process(`/home/yakir/.julia/packages/FFMPEG/aEyFi/deps/usr/bin/ffmpeg /home/yakir/.julia/packages/FFMPEG/aEyFi/deps/usr/bin/ffmpeg -i /home/yakir/coffeesource/In_T2_HalfV_OTA2.MP4 -vframes 1 tmp.jpg`, ProcessExited(1)) [1]

also this:

FFMPEG.exe("-i", "/home/yakir/coffeesource/In_T2_HalfV_OTA2.MP4", "-t", "1", "-vcodec", "copy", "tmp.MP4")
[NULL @ 0x1f71cc0] Unable to find a suitable output format for '/home/yakir/.julia/packages/FFMPEG/aEyFi/deps/usr/bin/ffmpeg'
/home/yakir/.julia/packages/FFMPEG/aEyFi/deps/usr/bin/ffmpeg: Invalid argument

ffplay

How much heavier would it be to include ffplay as well (as ffprobe which is also included)?

Depwarn caused by non-deprecated entry point `exe`

With --depwarn=yes

julia> FFMPEG.exe("-version")
┌ Warning: ffmpeg() is deprecated, use the non-do-block form
│   caller = ip:0x0
└ @ Core :-1
...

With --depwarn=error

julia> FFMPEG.exe("-version")
ERROR: ffmpeg() is deprecated, use the non-do-block form
Stacktrace:
 [1] depwarn(msg::String, funcsym::String; force::Bool)
   @ Base ./deprecated.jl:124
 [2] depwarn(msg::String, funcsym::String)
   @ Base ./deprecated.jl:121
 [3] ffmpeg(f::Function; adjust_PATH::Bool, adjust_LIBPATH::Bool)
   @ FFMPEG_jll ~/.julia/packages/JLLWrappers/pG9bm/src/products/executable_generators.jl:20
 [4] ffmpeg(f::Function)
   @ FFMPEG_jll ~/.julia/packages/JLLWrappers/pG9bm/src/products/executable_generators.jl:19
 [5] #exe#2
   @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:0 [inlined]
 [6] exe(args::String; command::Function, collect::Bool)
   @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:64
 [7] top-level scope
   @ REPL[9]:1

Also, I think this is more confusing than it needs to be JuliaPackaging/JLLWrappers.jl#59

UndefVarError: ffmpeg not defined

Hi,
I have a clean installation of Julia v1.7.0-beta4 on an arm64 MacBook Air, but I can't get FFMPEG.jl to work. In particular, I am trying to create a .gif using Plots.

I installed Plots via Pkg.add("Plots") and everything seems to have gone smoothly, with all dependencies being added, including FFMPEG and FFMPEG_jll.
However, when I try to run the following standard example:

using Plots

@userplot CirclePlot
@recipe function f(cp::CirclePlot)
    x, y, i = cp.args
    n = length(x)
    inds = circshift(1:n, 1 - i)
    linewidth --> range(0, 10, length = n)
    seriesalpha --> range(0, 1, length = n)
    aspect_ratio --> 1
    label --> false
    x[inds], y[inds]
end

n = 150
t = range(0, 2π, length = n)
x = sin.(t)
y = cos.(t)

anim = @animate for i ∈ 1:n
    circleplot(x, y, i)
end
gif(anim, "anim_fps15.gif", fps = 15)

I get the following error in the last step (gif(...)):

ERROR: UndefVarError: ffmpeg not defined
Stacktrace:
 [1] ffmpeg_exe(args::Cmd)
   @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:123
 [2] buildanimation(anim::Animation, fn::String, is_animated_gif::Bool; fps::Int64, loop::Int64, variable_palette::Bool, verbose::Bool, show_msg::Bool)
   @ Plots ~/.julia/packages/Plots/Di0Qb/src/animation.jl:100
 [3] #gif#250
   @ ~/.julia/packages/Plots/Di0Qb/src/animation.jl:64 [inlined]
 [4] top-level scope
   @ REPL[9]:1

However, ffmpeg is correctly installed through brew. When I run ffmpeg on a terminal, I obtain this output:

% ffmpeg
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple clang version 12.0.5 (clang-1205.0.22.9)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/4.4_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-avresample --enable-videotoolbox
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Moreover: if in a Julia session I run: run(FFMPEG -version) I get essentially the same:

ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with Apple clang version 12.0.5 (clang-1205.0.22.9)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/4.4_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-avresample --enable-videotoolbox
libavutil      56. 70.100 / 56. 70.100
libavcodec     58.134.100 / 58.134.100
libavformat    58. 76.100 / 58. 76.100
libavdevice    58. 13.100 / 58. 13.100
libavfilter     7.110.100 /  7.110.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  9.100 /  5.  9.100
libswresample   3.  9.100 /  3.  9.100
libpostproc    55.  9.100 / 55.  9.100
Process(`FFMPEG -version`, ProcessExited(0))

On the other hand: running using FFMPEG and FFMPEG.versioninfo() gives an error:

Using ffmpeg
ERROR: UndefVarError: libavcodec not defined
Stacktrace:
 [1] _avcodec_version
   @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:7 [inlined]
 [2] versioninfo()
   @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:18
 [3] top-level scope
   @ REPL[9]:1

In any case, I am still unable to create a gif. If use de @gif macro:

@gif for i ∈ 1:n
           circleplot(x, y, i)
       end

I get the same error:

ERROR: UndefVarError: ffmpeg not defined
Stacktrace:
 [1] ffmpeg_exe(args::Cmd)
   @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:123
 [2] buildanimation(anim::Animation, fn::String, is_animated_gif::Bool; fps::Int64, loop::Int64, variable_palette::Bool, verbose::Bool, show_msg::Bool)
   @ Plots ~/.julia/packages/Plots/Di0Qb/src/animation.jl:100
 [3] buildanimation (repeats 2 times)
   @ ~/.julia/packages/Plots/Di0Qb/src/animation.jl:82 [inlined]
 [4] #gif#250
   @ ~/.julia/packages/Plots/Di0Qb/src/animation.jl:64 [inlined]
 [5] gif (repeats 2 times)
   @ ~/.julia/packages/Plots/Di0Qb/src/animation.jl:64 [inlined]
 [6] top-level scope
   @ ~/.julia/packages/Plots/Di0Qb/src/animation.jl:199

Finally, if I run ]add build FFMPEG... no output is shown.

Any idea what the problem may be?

Thanks in advance!

Old version installed

I tried installing Plots on codeocean with Ubuntu 18.04 and Julia v1.5.3, It tries to install FFMPEG v0.2.4 (instead of the new v0.4.0) and runs into the following error:

│ ERROR: LoadError: LoadError: Could not unpack /root/.julia/packages/FFMPEG/guN1x/deps/usr/downloads/Bzip2.v1.0.6.x86_64-linux-gnu.tar.gz into /root/.julia/packages/FFMPEG/guN1x/deps/usr
│ Stacktrace:
│  [1] error(::String) at ./error.jl:33
│  [2] unpack(::String, ::String; verbose::Bool) at /root/.julia/packages/BinaryProvider/U2dKK/src/PlatformEngines.jl:787
│  [3] install(::String, ::String; prefix::Prefix, tarball_path::String, force::Bool, ignore_platform::Bool, verbose::Bool) at /root/.julia/packages/BinaryProvider/U2dKK/src/Prefix.jl:347
│  [4] top-level scope at /root/.julia/packages/FFMPEG/guN1x/deps/build_Bzip2.v1.0.6.jl:44
│  [5] include(::Function, ::Module, ::String) at ./Base.jl:380
│  [6] include at ./Base.jl:368 [inlined]
│  [7] include(::String) at /root/.julia/packages/FFMPEG/guN1x/deps/build.jl:44
│  [8] top-level scope at /root/.julia/packages/FFMPEG/guN1x/deps/build.jl:45
│  [9] include(::String) at ./client.jl:457
│  [10] top-level scope at none:5
│ in expression starting at /root/.julia/packages/FFMPEG/guN1x/deps/build_Bzip2.v1.0.6.jl:42
│ in expression starting at /root/.julia/packages/FFMPEG/guN1x/deps/build.jl:38
│ caused by [exception 1]
│ 
│ Stacktrace:
│  [1] error() at ./error.jl:42
│  [2] unpack(::String, ::String; verbose::Bool) at /root/.julia/packages/BinaryProvider/U2dKK/src/PlatformEngines.jl:781
│  [3] install(::String, ::String; prefix::Prefix, tarball_path::String, force::Bool, ignore_platform::Bool, verbose::Bool) at /root/.julia/packages/BinaryProvider/U2dKK/src/Prefix.jl:347
│  [4] top-level scope at /root/.julia/packages/FFMPEG/guN1x/deps/build_Bzip2.v1.0.6.jl:44
│  [5] include(::Function, ::Module, ::String) at ./Base.jl:380
│  [6] include at ./Base.jl:368 [inlined]
│  [7] include(::String) at /root/.julia/packages/FFMPEG/guN1x/deps/build.jl:44
│  [8] top-level scope at /root/.julia/packages/FFMPEG/guN1x/deps/build.jl:45
│  [9] include(::String) at ./client.jl:457
│  [10] top-level scope at none:5
│ [02:59:13] 
[02:59:13] ######################################################################## 100.0%
[02:59:13] ######################################################################## 100.0%
│ tar: ./bin/bunzip2: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzcat: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzcmp: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzdiff: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzegrep: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzfgrep: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzgrep: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzip2: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzip2recover: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzless: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin/bzmore: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./bin: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./include/bzlib.h: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./include: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./lib/libbz2.a: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./lib/libbz2.so: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./lib/libbz2.so.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./lib/libbz2.so.1.0: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./lib/libbz2.so.1.0.6: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./lib/pkgconfig/bzip2.pc: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./lib/pkgconfig: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./lib: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./logs/Bzip2.log: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./logs: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1/bzcmp.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1/bzdiff.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1/bzegrep.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1/bzfgrep.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1/bzgrep.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1/bzip2.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1/bzless.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1/bzmore.1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man/man1: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: ./man: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: .: Cannot change ownership to uid 261840, gid 261840: Invalid argument
│ tar: Exiting with failure status due to previous errors
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:949

Cannot use FFMPEG in Julia (1.4 or 1.5)

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.

Undefined symbol `FT_Get_Transform` from libharfbuzz

Using Plots.jl, I get this error when saving a GIF to a file:

julia> using Plots

julia> @gif for i in 1:1
         heatmap(rand(100, 100))
       end
/home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/ffmpeg: symbol lookup error: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Get_Transform
ERROR: failed process: Process(`/home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/ffmpeg -v 16 -i /tmp/jl_Yq3vHj/%06d.png -vf palettegen=stats_mode=full -y /tmp/jl_Yq3vHj/palette.bmp`, ProcessExited(127)) [127]

It seems like FFMPEG uses my system libharfbuzz, and fails because libharfbuzz expects a symbol to be defined in the FreeType2 library. Looking at the BinaryBuilder recipe, FreeType2 is listed as a dependency, but not libharfbuzz.

This was using Plots 1.38.10 with FFMPEG 0.4.1. The version of the harfbuzz installed on my system (Manjaro linux) is 7.1.0.

ldd shows

$ ldd /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/ffmpeg
        linux-vdso.so.1 (0x00007ffd5dbfc000)
        libavdevice.so.58 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libavdevice.so.58 (0x00007f092cb95000)
        libavfilter.so.7 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libavfilter.so.7 (0x00007f092c600000)
        libavformat.so.58 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libavformat.so.58 (0x00007f092c200000)
        libavcodec.so.58 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libavcodec.so.58 (0x00007f092aa00000)
        libavresample.so.4 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libavresample.so.4 (0x00007f092cb73000)
        libpostproc.so.55 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libpostproc.so.55 (0x00007f092cb52000)
        libswresample.so.3 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libswresample.so.3 (0x00007f092cb33000)
        libswscale.so.5 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libswscale.so.5 (0x00007f092ca9e000)
        libavutil.so.56 => /home/belmant/.julia/artifacts/b409c0eafb4254a980f9e730f6fbe56867890f6a/bin/../lib/libavutil.so.56 (0x00007f092a600000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f092c518000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f092ca58000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f092a419000)
        libass.so.9 => /usr/lib/libass.so.9 (0x00007f092ca20000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f092c123000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f092c505000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f092c4eb000)
        libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f092c08e000)
        libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f092a000000)
        libiconv.so.2 => not found
        libiconv.so.2 => not found
        libaom.so.3 => /usr/lib/libaom.so.3 (0x00007f0929600000)
        libfdk-aac.so.2 => /usr/lib/libfdk-aac.so.2 (0x00007f0929eb5000)
        libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00007f092c473000)
        libopus.so.0 => /usr/lib/libopus.so.0 (0x00007f092a9a6000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f092c060000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007f092a8fb000)
        libx264.so.163 => not found
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f092ca17000)
        libx265.so.199 => /usr/lib/libx265.so.199 (0x00007f0928200000)
        librt.so.1 => /usr/lib/librt.so.1 (0x00007f092c05b000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f092cba8000)
        libfribidi.so.0 => /usr/lib/libfribidi.so.0 (0x00007f092a8db000)
        libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f092a31e000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f09295b1000)
        libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f092a2e5000)
        libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1 (0x00007f092c04d000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f092c042000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f0927e00000)
        libmvec.so.1 => /usr/lib/libmvec.so.1 (0x00007f0928107000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f0927cb5000)
        libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f0929e92000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f0929586000)
        libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1 (0x00007f0929563000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f092a8bb000)
        libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f092806c000)

$ ldd /usr/lib/libharfbuzz.so 
        linux-vdso.so.1 (0x00007ffc6ae5d000)
        /usr/lib/libstdc++.so.6 (0x00007f996ea00000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f996e918000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f996e83b000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f996e6f0000)
        libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f996ec9f000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f996e509000)
        /usr/lib64/ld-linux-x86-64.so.2 (0x00007f996edfe000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f996ec7d000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f996ec63000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f996ec50000)
        libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f996e4d0000)
        libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1 (0x00007f996ec42000)
        libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f996e435000)
        libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1 (0x00007f996e412000)

and the version of my system FreeType2 is 2.13.0.

Troubleshooting on the internet revealed that such errors have happened in the past where the FreeType2 library was too old or an unsupported fork, but my FreeType2 and HarfBuzz system packages are the latest from the official Arch repositories.

I don't really have a clue as to why this is happening. I searched for related issues on Plots.jl, HarfBuzz and FreeType2, but couldn't find anything. Any help would be greatly appreciated!

FFMPEG recompilation failure (libavformat)

Hi, since my last system update this morning (Arch Linux), FFMPEG precompilation fails with the following linker error:

ERROR: The following 1 direct dependency failed to precompile:

FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a]

ERROR: LoadError: InitError: could not load library "/home/gipert/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/lib/libavdevice.so"
/usr/lib/libavformat.so.58: undefined symbol: avpriv_packet_list_free, version LIBAVCODEC_58
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:114
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:114
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/products/library_generators.jl:54 [inlined]
  [4] __init__()
    @ FFMPEG_jll ~/.julia/packages/FFMPEG_jll/xCSqL/src/wrappers/x86_64-linux-gnu.jl:47
  [5] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:674
  [6] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:760
  [7] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:998
  [8] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:914
  [9] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:901
 [10] include
    @ ./Base.jl:386 [inlined]
 [11] 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:1213
 [12] top-level scope
    @ none:1
 [13] eval
    @ ./boot.jl:360 [inlined]
 [14] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [15] top-level scope
    @ none:1
during initialization of module FFMPEG_jll
in expression starting at /home/gipert/.julia/packages/FFMPEG/aazvf/src/FFMPEG.jl:1
Stacktrace:
 [1] pkgerror(msg::String)
   @ Pkg.Types /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:55
 [2] precompile(ctx::Pkg.Types.Context; internal_call::Bool, strict::Bool, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Pkg.API /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:1244
 [3] precompile
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:920 [inlined]
 [4] #precompile#196
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:918 [inlined]
 [5] precompile()
   @ Pkg.API /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:918
 [6] top-level scope
   @ REPL[49]:1

I've also tried downloading again the artifact but no luck. Ideas?

Initialization error with artifacts on mac

If I load PyPlot (via Conda) before FFMPEG, I am seeing the following issue on mac on Julia 1.3/1.4:

julia> using PyPlot

julia> using FFMPEG
ERROR: InitError: could not load library "/tmp/1.4b/artifacts/c2e7a063ae3397a1972d5878e4b838b1b1da822c/lib/libass.9.dylib"
dlopen(/tmp/1.4b/artifacts/c2e7a063ae3397a1972d5878e4b838b1b1da822c/lib/libass.9.dylib, 1): Library not loaded: @rpath/libfreetype.6.dylib
  Referenced from: /private/tmp/1.4b/artifacts/c2e7a063ae3397a1972d5878e4b838b1b1da822c/lib/libass.9.dylib
  Reason: Incompatible library version: libass.9.dylib requires version 24.0.0 or later, but libfreetype.6.dylib provides version 23.0.0
Stacktrace:
 [1] dlopen(::String, ::UInt32; throw_error::Bool) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109
 [2] dlopen at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
 [3] __init__() at /tmp/1.4b/packages/libass_jll/LMbUb/src/wrappers/x86_64-apple-darwin14.jl:42
 [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
 [5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:781
 [6] _tryrequire_from_serialized(::Base.PkgId, ::UInt64, ::String) at ./loading.jl:712
 [7] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:770
 [8] _require(::Base.PkgId) at ./loading.jl:1006
 [9] require(::Base.PkgId) at ./loading.jl:927
 [10] require(::Module, ::Symbol) at ./loading.jl:922
during initialization of module libass_jll

If I switch the order of the imports then it works fine. It seems like PyPlot is loading its own version of libfreetype that is getting in the way of the one used by libass?

As expected, I don't get this by downgrading to FFMPEG 0.2.4. For now I can workaround by rearranging the load order of the packages

(I realise this is not strictly about this repo but figured it might get eyes here from someone that might understand how to fix it)

artifact not found

I hope this is useful, but feel free to close the issue if not :)

When I use Plots (with FFMPEG.jl) from the global package environment, everything is fine. This time I activated a new package environment and installed Plots there, and I got this error on using Plots. The versions of FFMPEG and FFMPEG_jll are the same.

      From worker 2:    ERROR: LoadError: InitError: could not load library "/home/fons/.julia/artifacts/08ab4b2de494e1d61e581ab1fbd610b0b4d1876f/lib/libavdevice.so"
      From worker 2:    libx264.so.157: cannot open shared object file: No such file or directory
      From worker 2:    Stacktrace:
      From worker 2:     [1] dlopen(::String, ::UInt32; throw_error::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109
      From worker 2:     [2] dlopen at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
      From worker 2:     [3] __init__() at /home/fons/.julia/packages/FFMPEG_jll/tCUYA/src/wrappers/x86_64-linux-gnu.jl:231
      From worker 2:     [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
      From worker 2:     [5] _require_from_serialized(::String) at ./loading.jl:749
      From worker 2:     [6] _require(::Base.PkgId) at ./loading.jl:1040
      From worker 2:     [7] require(::Base.PkgId) at ./loading.jl:928
      From worker 2:     [8] require(::Module, ::Symbol) at ./loading.jl:923
      From worker 2:     [9] include(::Function, ::Module, ::String) at ./Base.jl:380
      From worker 2:     [10] include(::Module, ::String) at ./Base.jl:368
      From worker 2:     [11] top-level scope at none:2
      From worker 2:     [12] eval at ./boot.jl:331 [inlined]
      From worker 2:     [13] eval(::Expr) at ./client.jl:467
      From worker 2:     [14] top-level scope at ./none:3
      From worker 2:    during initialization of module FFMPEG_jll
      From worker 2:    in expression starting at /home/fons/.julia/packages/FFMPEG/vocw2/src/FFMPEG.jl:3
      From worker 2:    ERROR: LoadError: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a] to /home/fons/.julia/compiled/v1.5/FFMPEG/TGvga_286Vo.ji.
      From worker 2:    Stacktrace:
      From worker 2:     [1] error(::String) at ./error.jl:33
      From worker 2:     [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1290
      From worker 2:     [3] _require(::Base.PkgId) at ./loading.jl:1030
      From worker 2:     [4] require(::Base.PkgId) at ./loading.jl:928
      From worker 2:     [5] require(::Module, ::Symbol) at ./loading.jl:923
      From worker 2:     [6] include(::Function, ::Module, ::String) at ./Base.jl:380
      From worker 2:     [7] include(::Module, ::String) at ./Base.jl:368
      From worker 2:     [8] top-level scope at none:2
      From worker 2:     [9] eval at ./boot.jl:331 [inlined]
      From worker 2:     [10] eval(::Expr) at ./client.jl:467
      From worker 2:     [11] top-level scope at ./none:3
      From worker 2:    in expression starting at /home/fons/.julia/packages/Plots/LWw1t/src/Plots.jl:15
      From worker 2:    ERROR: LoadError: InitError: could not load library "/home/fons/.julia/artifacts/08ab4b2de494e1d61e581ab1fbd610b0b4d1876f/lib/libavdevice.so"
      From worker 2:    libx264.so.157: cannot open shared object file: No such file or directory
      From worker 2:    Stacktrace:
      From worker 2:     [1] dlopen(::String, ::UInt32; throw_error::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109
      From worker 2:     [2] dlopen at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
      From worker 2:     [3] __init__() at /home/fons/.julia/packages/FFMPEG_jll/tCUYA/src/wrappers/x86_64-linux-gnu.jl:231
      From worker 2:     [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
      From worker 2:     [5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:782
      From worker 2:     [6] _require(::Base.PkgId) at ./loading.jl:1007
      From worker 2:     [7] require(::Base.PkgId) at ./loading.jl:928
      From worker 2:     [8] require(::Module, ::Symbol) at ./loading.jl:923
      From worker 2:     [9] include(::Function, ::Module, ::String) at ./Base.jl:380
      From worker 2:     [10] include(::Module, ::String) at ./Base.jl:368
      From worker 2:     [11] top-level scope at none:2
      From worker 2:     [12] eval at ./boot.jl:331 [inlined]
      From worker 2:     [13] eval(::Expr) at ./client.jl:467
      From worker 2:     [14] top-level scope at ./none:3
      From worker 2:    during initialization of module FFMPEG_jll
      From worker 2:    in expression starting at /home/fons/.julia/packages/FFMPEG/vocw2/src/FFMPEG.jl:3
      From worker 2:    ERROR: LoadError: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a] to /home/fons/.julia/compiled/v1.5/FFMPEG/TGvga_286Vo.ji.
      From worker 2:    Stacktrace:
      From worker 2:     [1] error(::String) at ./error.jl:33
      From worker 2:     [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1290
      From worker 2:     [3] _require(::Base.PkgId) at ./loading.jl:1030
      From worker 2:     [4] require(::Base.PkgId) at ./loading.jl:928
      From worker 2:     [5] require(::Module, ::Symbol) at ./loading.jl:923
      From worker 2:     [6] include(::Function, ::Module, ::String) at ./Base.jl:380
      From worker 2:     [7] include(::Module, ::String) at ./Base.jl:368
      From worker 2:     [8] top-level scope at none:2
      From worker 2:     [9] eval at ./boot.jl:331 [inlined]
      From worker 2:     [10] eval(::Expr) at ./client.jl:467
      From worker 2:     [11] top-level scope at ./none:3
      From worker 2:    in expression starting at /home/fons/.julia/packages/Plots/LWw1t/src/Plots.jl:15
      From worker 2:    ERROR: LoadError: InitError: could not load library "/home/fons/.julia/artifacts/08ab4b2de494e1d61e581ab1fbd610b0b4d1876f/lib/libavdevice.so"
      From worker 2:    libx264.so.157: cannot open shared object file: No such file or directory
      From worker 2:    Stacktrace:
      From worker 2:     [1] dlopen(::String, ::UInt32; throw_error::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109
      From worker 2:     [2] dlopen at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
      From worker 2:     [3] __init__() at /home/fons/.julia/packages/FFMPEG_jll/tCUYA/src/wrappers/x86_64-linux-gnu.jl:231
      From worker 2:     [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
      From worker 2:     [5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:782
      From worker 2:     [6] _require(::Base.PkgId) at ./loading.jl:1007
      From worker 2:     [7] require(::Base.PkgId) at ./loading.jl:928
      From worker 2:     [8] require(::Module, ::Symbol) at ./loading.jl:923
      From worker 2:     [9] include(::Function, ::Module, ::String) at ./Base.jl:380
      From worker 2:     [10] include(::Module, ::String) at ./Base.jl:368
      From worker 2:     [11] top-level scope at none:2
      From worker 2:     [12] eval at ./boot.jl:331 [inlined]
      From worker 2:     [13] eval(::Expr) at ./client.jl:467
      From worker 2:     [14] top-level scope at ./none:3
      From worker 2:    during initialization of module FFMPEG_jll
      From worker 2:    in expression starting at /home/fons/.julia/packages/FFMPEG/vocw2/src/FFMPEG.jl:3
      From worker 2:    ERROR: LoadError: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a] to /home/fons/.julia/compiled/v1.5/FFMPEG/TGvga_286Vo.ji.
      From worker 2:    Stacktrace:
      From worker 2:     [1] error(::String) at ./error.jl:33
      From worker 2:     [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1290
      From worker 2:     [3] _require(::Base.PkgId) at ./loading.jl:1030
      From worker 2:     [4] require(::Base.PkgId) at ./loading.jl:928
      From worker 2:     [5] require(::Module, ::Symbol) at ./loading.jl:923
      From worker 2:     [6] include(::Function, ::Module, ::String) at ./Base.jl:380
      From worker 2:     [7] include(::Module, ::String) at ./Base.jl:368
      From worker 2:     [8] top-level scope at none:2
      From worker 2:     [9] eval at ./boot.jl:331 [inlined]
      From worker 2:     [10] eval(::Expr) at ./client.jl:467
      From worker 2:     [11] top-level scope at ./none:3
      From worker 2:    in expression starting at /home/fons/.julia/packages/Plots/LWw1t/src/Plots.jl:15
      From worker 2:    ERROR: LoadError: InitError: could not load library "/home/fons/.julia/artifacts/08ab4b2de494e1d61e581ab1fbd610b0b4d1876f/lib/libavdevice.so"
      From worker 2:    libx264.so.157: cannot open shared object file: No such file or directory
      From worker 2:    Stacktrace:
      From worker 2:     [1] dlopen(::String, ::UInt32; throw_error::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109
      From worker 2:     [2] dlopen at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
      From worker 2:     [3] __init__() at /home/fons/.julia/packages/FFMPEG_jll/tCUYA/src/wrappers/x86_64-linux-gnu.jl:231
      From worker 2:     [4] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
      From worker 2:     [5] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:782
      From worker 2:     [6] _require(::Base.PkgId) at ./loading.jl:1007
      From worker 2:     [7] require(::Base.PkgId) at ./loading.jl:928
      From worker 2:     [8] require(::Module, ::Symbol) at ./loading.jl:923
      From worker 2:     [9] include(::Function, ::Module, ::String) at ./Base.jl:380
      From worker 2:     [10] include(::Module, ::String) at ./Base.jl:368
      From worker 2:     [11] top-level scope at none:2
      From worker 2:     [12] eval at ./boot.jl:331 [inlined]
      From worker 2:     [13] eval(::Expr) at ./client.jl:467
      From worker 2:     [14] top-level scope at ./none:3
      From worker 2:    during initialization of module FFMPEG_jll
      From worker 2:    in expression starting at /home/fons/.julia/packages/FFMPEG/vocw2/src/FFMPEG.jl:3
      From worker 2:    ERROR: LoadError: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a] to /home/fons/.julia/compiled/v1.5/FFMPEG/TGvga_286Vo.ji.
      From worker 2:    Stacktrace:
      From worker 2:     [1] error(::String) at ./error.jl:33
      From worker 2:     [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1290
      From worker 2:     [3] _require(::Base.PkgId) at ./loading.jl:1030
      From worker 2:     [4] require(::Base.PkgId) at ./loading.jl:928
      From worker 2:     [5] require(::Module, ::Symbol) at ./loading.jl:923
      From worker 2:     [6] include(::Function, ::Module, ::String) at ./Base.jl:380
      From worker 2:     [7] include(::Module, ::String) at ./Base.jl:368
      From worker 2:     [8] top-level scope at none:2
      From worker 2:     [9] eval at ./boot.jl:331 [inlined]
      From worker 2:     [10] eval(::Expr) at ./client.jl:467
      From worker 2:     [11] top-level scope at ./none:3
      From worker 2:    in expression starting at /home/fons/.julia/packages/Plots/LWw1t/src/Plots.jl:15

`using PyPlot` before `using FFMPEG`: Could not load library libobject-2.0.so.0

Meta

This is similar to #25, but about another library and persists for julia v1.6.2, FFMPEG v0.4.1, PyPlot v2.10.0. That issue is also over a year old and has not got any replies.
Feel free to point me to an issue where this is closed in case I missed it.

The issue

In short, the issue is that using FFMPEG has to be executed before using PyPlot, otherwise there is an LoadError: InitError: could not load library.

The stacktrace:

ERROR: LoadError: InitError: could not load library "/home/[USER]/.julia/artifacts/e086922a5a3c20ca3e6866a33e42d8ec4689553e/lib/libgio-2.0.so"
/home/[USER]/.julia/artifacts/e086922a5a3c20ca3e6866a33e42d8ec4689553e/lib/libgobject-2.0.so.0: undefined symbol: g_uri_ref
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:114
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:114
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/products/library_generators.jl:54 [inlined]
  [4] __init__()
    @ Glib_jll ~/.julia/packages/Glib_jll/nSLTF/src/wrappers/x86_64-linux-gnu.jl:18
  [5] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:696
  [6] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:782
  [7] _tryrequire_from_serialized(modkey::Base.PkgId, build_id::UInt64, modpath::String)
    @ Base ./loading.jl:711
  [8] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:771
  [9] _tryrequire_from_serialized(modkey::Base.PkgId, build_id::UInt64, modpath::String)
    @ Base ./loading.jl:711
 [10] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:771
 [11] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1020
 [12] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:936
 [13] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:923
during initialization of module Glib_jll

with my username [USER].

This also has the consequence that packages using PyPlot and FFMPEG can precompile successfully with the correct order, but cannot be used themselves. At least that is my experience right now with my own package/module.

I have tried

  • LD_LIBRARY_PATH="" julia issue_MWE.jl with issue_MWE.jl supplied below.
  • LD_LIBRARY_PATH="/home/[USER]/.julia/artifacts/e086922a5a3c20ca3e6866a33e42d8ec4689553e/lib" julia issue_MWE.jl
  • re-ordering the using's in my package

Minimal (not) working example

cd(mktempdir())

import Pkg
Pkg.activate(".")
Pkg.add("FFMPEG")
Pkg.add("PyPlot")

using PyPlot
using FFMPEG

# I never get to see this :(
println("Congrats, you got here!")

Julia v1.4 failed to precompile plots on windows 7 x64

I have a clean install of Julia v1.4 on windows 7.
I was unable to create any plot. Please see the error message below.

julia> using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]
ERROR: LoadError: LoadError: InitError: could not load library "C:\Users[user-name].j
ulia\artifacts\8cd86f24947687d38f279aaceeb1970ff65183c4\bin\libbz2-1.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.4\Libdl\src\Libdl.jl:109
[2] dlopen at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.
4\Libdl\src\Libdl.jl:109 [inlined] (repeats 2 times)
[3] init() at C:\Users[user-name].julia\packages\Bzip2_jll\MUgvY\src\wrappers\x8
6_64-w64-mingw32.jl:37
[4] _include_from_serialized(::String, ::Array{Any,1}) at .\loading.jl:697
[5] _require_search_from_serialized(::Base.PkgId, ::String) at .\loading.jl:781

[6] _require(::Base.PkgId) at .\loading.jl:1006
[7] require(::Base.PkgId) at .\loading.jl:927
[8] require(::Module, ::Symbol) at .\loading.jl:922
[9] include(::Module, ::String) at .\Base.jl:377
[10] include(::String) at C:\Users[user-name].julia\packages\FreeType2_jll\SETsF\src
\FreeType2_jll.jl:1
[11] top-level scope at C:\Users[user-name].julia\packages\FreeType2_jll\SETsF\src\F
reeType2_jll.jl:50
[12] include(::Module, ::String) at .\Base.jl:377
[13] top-level scope at none:2
[14] eval at .\boot.jl:331 [inlined]
[15] eval(::Expr) at .\client.jl:449
[16] top-level scope at .\none:3
during initialization of module Bzip2_jll
in expression starting at C:\Users[user-name].julia\packages\FreeType2_jll\SETsF\src
wrappers\x86_64-w64-mingw32.jl:4
in expression starting at C:\Users[user-name].julia\packages\FreeType2_jll\SETsF\src
FreeType2_jll.jl:43
ERROR: LoadError: LoadError: Failed to precompile FreeType2_jll [d7e528f0-a631-5
988-bf34-fe36492bcfd7] to C:\Users[user-name].julia\compiled\v1.4\FreeType2_jll\AzWNe
_whFRm.ji.
Stacktrace:
[1] error(::String) at .\error.jl:33
[2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1272
[3] _require(::Base.PkgId) at .\loading.jl:1029
[4] require(::Base.PkgId) at .\loading.jl:927
[5] require(::Module, ::Symbol) at .\loading.jl:922
[6] include(::Module, ::String) at .\Base.jl:377
[7] include(::String) at C:\Users[user-name].julia\packages\libass_jll\Ty9Kb\src\lib
ass_jll.jl:1
[8] top-level scope at C:\Users[user-name].julia\packages\libass_jll\Ty9Kb\src\libas
s_jll.jl:50
[9] include(::Module, ::String) at .\Base.jl:377
[10] top-level scope at none:2
[11] eval at .\boot.jl:331 [inlined]
[12] eval(::Expr) at .\client.jl:449
[13] top-level scope at .\none:3
in expression starting at C:\Users[user-name].julia\packages\libass_jll\Ty9Kb\src\wra
ppers\x86_64-w64-mingw32.jl:4
in expression starting at C:\Users[user-name].julia\packages\libass_jll\Ty9Kb\src\lib
ass_jll.jl:43
ERROR: LoadError: LoadError: Failed to precompile libass_jll [0ac62f75-1d6f-5e53
-bd7c-93b484bb37c0] to C:\Users[user-name].julia\compiled\v1.4\libass_jll\JqZi8_whFRm
.ji.
Stacktrace:
[1] error(::String) at .\error.jl:33
[2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1272
[3] _require(::Base.PkgId) at .\loading.jl:1029
[4] require(::Base.PkgId) at .\loading.jl:927
[5] require(::Module, ::Symbol) at .\loading.jl:922
[6] include(::Module, ::String) at .\Base.jl:377
[7] include(::String) at C:\Users[user-name].julia\packages\FFMPEG_jll\1XNMx\src\FFM
PEG_jll.jl:1
[8] top-level scope at C:\Users[user-name].julia\packages\FFMPEG_jll\1XNMx\src\FFMPE
G_jll.jl:47
[9] include(::Module, ::String) at .\Base.jl:377
[10] top-level scope at none:2
[11] eval at .\boot.jl:331 [inlined]
[12] eval(::Expr) at .\client.jl:449
[13] top-level scope at .\none:3
in expression starting at C:\Users[user-name].julia\packages\FFMPEG_jll\1XNMx\src\wra
ppers\x86_64-w64-mingw32.jl:4
in expression starting at C:\Users[user-name].julia\packages\FFMPEG_jll\1XNMx\src\FFM
PEG_jll.jl:43
ERROR: LoadError: Failed to precompile FFMPEG_jll [b22a6f82-2f65-5046-a5b2-351ab
43fb4e5] to C:\Users[user-name].julia\compiled\v1.4\FFMPEG_jll\uSD0T_whFRm.ji.
Stacktrace:
[1] error(::String) at .\error.jl:33
[2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1272
[3] _require(::Base.PkgId) at .\loading.jl:1029
[4] require(::Base.PkgId) at .\loading.jl:927
[5] require(::Module, ::Symbol) at .\loading.jl:922
[6] include(::Module, ::String) at .\Base.jl:377
[7] top-level scope at none:2
[8] eval at .\boot.jl:331 [inlined]
[9] eval(::Expr) at .\client.jl:449
[10] top-level scope at .\none:3
in expression starting at C:\Users[user-name].julia\packages\FFMPEG\vocw2\src\FFMPEG.
jl:3
ERROR: LoadError: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e75
70a] to C:\Users[user-name].julia\compiled\v1.4\FFMPEG\TGvga_whFRm.ji.
Stacktrace:
[1] error(::String) at .\error.jl:33
[2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1272
[3] _require(::Base.PkgId) at .\loading.jl:1029
[4] require(::Base.PkgId) at .\loading.jl:927
[5] require(::Module, ::Symbol) at .\loading.jl:922
[6] include(::Module, ::String) at .\Base.jl:377
[7] top-level scope at none:2
[8] eval at .\boot.jl:331 [inlined]
[9] eval(::Expr) at .\client.jl:449
[10] top-level scope at .\none:3
in expression starting at C:\Users[user-name].julia\packages\Plots\NVH6y\src\Plots.jl
:15
ERROR: Failed to precompile Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80] to C:\U
sers[user-name].julia\compiled\v1.4\Plots\ld3vC_whFRm.ji.
Stacktrace:
[1] error(::String) at .\error.jl:33
[2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1272
[3] _require(::Base.PkgId) at .\loading.jl:1029
[4] require(::Base.PkgId) at .\loading.jl:927
[5] require(::Module, ::Symbol) at .\loading.jl:922

ENOENT linker error starting ffmpeg executable in "test FFMPEG" on NixOS

FFMPEG selftest is failing on my NixOS Linux machine. Any ideas how to correct this?

Julia-level error

(@v1.6) pkg> test FFMPEG
     Testing FFMPEG
      Status `/tmp/jl_VWJOrx/Project.toml`
  [c87230d0] FFMPEG v0.4.1
  [b22a6f82] FFMPEG_jll v4.3.1+4
  [8dfed614] Test `@stdlib/Test`
      Status `/tmp/jl_VWJOrx/Manifest.toml`
  [c87230d0] FFMPEG v0.4.1
  [692b3bcd] JLLWrappers v1.3.0
  [21216c6a] Preferences v1.2.2
  [6e34b625] Bzip2_jll v1.0.6+5
  [b22a6f82] FFMPEG_jll v4.3.1+4
  [d7e528f0] FreeType2_jll v2.10.1+5
  [559328eb] FriBidi_jll v1.0.10+0
  [c1c5ebd0] LAME_jll v3.100.1+0
  [dd192d2f] LibVPX_jll v1.10.0+0
  [e7412a2a] Ogg_jll v1.3.5+0
  [458c3c95] OpenSSL_jll v1.1.10+0
  [91d4177d] Opus_jll v1.3.2+0
  [0ac62f75] libass_jll v0.14.0+4
  [f638f0a6] libfdk_aac_jll v0.1.6+4
  [f27f6e37] libvorbis_jll v1.3.7+0
  [1270edf5] x264_jll v2020.7.14+2
  [dfaa095f] x265_jll v3.0.0+3
  [0dad84c5] ArgTools `@stdlib/ArgTools`
  [56f22d72] Artifacts `@stdlib/Artifacts`
  [2a0f44e3] Base64 `@stdlib/Base64`
  [ade2ca70] Dates `@stdlib/Dates`
  [f43a241f] Downloads `@stdlib/Downloads`
  [b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
  [b27032c2] LibCURL `@stdlib/LibCURL`
  [76f85450] LibGit2 `@stdlib/LibGit2`
  [8f399da3] Libdl `@stdlib/Libdl`
  [56ddb016] Logging `@stdlib/Logging`
  [d6f4376e] Markdown `@stdlib/Markdown`
  [ca575930] NetworkOptions `@stdlib/NetworkOptions`
  [44cfe95a] Pkg `@stdlib/Pkg`
  [de0858da] Printf `@stdlib/Printf`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [ea8e919c] SHA `@stdlib/SHA`
  [9e88b42a] Serialization `@stdlib/Serialization`
  [6462fe0b] Sockets `@stdlib/Sockets`
  [fa267f1f] TOML `@stdlib/TOML`
  [a4e569a6] Tar `@stdlib/Tar`
  [8dfed614] Test `@stdlib/Test`
  [cf7118a7] UUIDs `@stdlib/UUIDs`
  [4ec0a83e] Unicode `@stdlib/Unicode`
  [deac9b47] LibCURL_jll `@stdlib/LibCURL_jll`
  [29816b5a] LibSSH2_jll `@stdlib/LibSSH2_jll`
  [c8ffd9c3] MbedTLS_jll `@stdlib/MbedTLS_jll`
  [14a3606d] MozillaCACerts_jll `@stdlib/MozillaCACerts_jll`
  [83775a58] Zlib_jll `@stdlib/Zlib_jll`
  [8e850ede] nghttp2_jll `@stdlib/nghttp2_jll`
  [3f19e933] p7zip_jll `@stdlib/p7zip_jll`
     Testing Running tests...
Using ffmpeg
AVCodecs version 58.91.100
AVFormat version 58.45.100
AVUtil version 56.51.100
SWScale version 5.7.100
AVDevice version 58.10.100
AVFilters version 7.85.100
AVResample version 4.0.0
SWResample version 3.7.100
FFMPEG.jl: Error During Test at /home/luke/.julia/packages/FFMPEG/OUpap/test/runtests.jl:13
  Got exception outside of a @test
  IOError: could not spawn `/home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/ffmpeg -version`: no such file or directory (ENOENT)
  Stacktrace:
    [1] _spawn_primitive(file::String, cmd::Cmd, stdio::Vector{Any})
      @ Base ./process.jl:99
    [2] #637
      @ ./process.jl:112 [inlined]
    [3] setup_stdios(f::Base.var"#637#638"{Cmd}, stdios::Vector{Any})
      @ Base ./process.jl:196
    [4] _spawn
      @ ./process.jl:111 [inlined]
    [5] _spawn(::Base.CmdRedirect, ::Vector{Any}) (repeats 2 times)
      @ Base ./process.jl:139
    [6] open(cmds::Base.CmdRedirect, stdio::Base.DevNull; write::Bool, read::Bool)
      @ Base ./process.jl:370
    [7] open (repeats 2 times)
      @ ./process.jl:361 [inlined]
    [8] readexecoutput(exec::Cmd)
      @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:85
    [9] collectexecoutput
      @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:72 [inlined]
   [10] (::FFMPEG.var"#3#5"{Cmd})(command_path::String)
      @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:108
   [11] (::JLLWrappers.var"#2#3"{FFMPEG.var"#3#5"{Cmd}, String})()
      @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:49
   [12] withenv(::JLLWrappers.var"#2#3"{FFMPEG.var"#3#5"{Cmd}, String}, ::Pair{String, String}, ::Vararg{Pair{String, String}, N} where N)
      @ Base ./env.jl:161
   [13] withenv_executable_wrapper(f::Function, executable_path::String, PATH::String, LIBPATH::String, adjust_PATH::Bool, adjust_LIBPATH::Bool)
      @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:48
   [14] invokelatest(::Any, ::Any, ::Vararg{Any, N} where N; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
      @ Base ./essentials.jl:708
   [15] invokelatest(::Any, ::Any, ::Vararg{Any, N} where N)
      @ Base ./essentials.jl:706
   [16] ffmpeg(f::Function; adjust_PATH::Bool, adjust_LIBPATH::Bool)
      @ FFMPEG_jll ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7
   [17] ffmpeg(f::Function)
      @ FFMPEG_jll ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7
   [18] #exe#2
      @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:107 [inlined]
   [19] macro expansion
      @ ~/.julia/packages/FFMPEG/OUpap/test/runtests.jl:17 [inlined]
   [20] macro expansion
      @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
   [21] top-level scope
      @ ~/.julia/packages/FFMPEG/OUpap/test/runtests.jl:14
   [22] include(fname::String)
      @ Base.MainInclude ./client.jl:444
   [23] top-level scope
      @ none:6
   [24] eval
      @ ./boot.jl:360 [inlined]
   [25] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:261
   [26] _start()
      @ Base ./client.jl:485
Test Summary: | Error  Total
FFMPEG.jl     |     1      1
ERROR: LoadError: Some tests did not pass: 0 passed, 0 failed, 1 errored, 0 broken.
in expression starting at /home/luke/.julia/packages/FFMPEG/OUpap/test/runtests.jl:13
ERROR: Package FFMPEG errored during testing

ldd output

$ ldd .julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/ffmpeg
	linux-vdso.so.1 (0x00007ffd083fa000)
	libavdevice.so.58 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libavdevice.so.58 (0x00007f83b33db000)
	libavfilter.so.7 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libavfilter.so.7 (0x00007f83b3014000)
	libavformat.so.58 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libavformat.so.58 (0x00007f83b2da1000)
	libavcodec.so.58 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libavcodec.so.58 (0x00007f83b155c000)
	libavresample.so.4 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libavresample.so.4 (0x00007f83b1539000)
	libpostproc.so.55 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libpostproc.so.55 (0x00007f83b1517000)
	libswresample.so.3 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libswresample.so.3 (0x00007f83b14f7000)
	libswscale.so.5 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libswscale.so.5 (0x00007f83b1465000)
	libavutil.so.56 => /home/luke/.julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/../lib/libavutil.so.56 (0x00007f83b11ad000)
	libm.so.6 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib/libm.so.6 (0x00007f83b106a000)
	libpthread.so.0 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib/libpthread.so.0 (0x00007f83b1047000)
	libc.so.6 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib/libc.so.6 (0x00007f83b0e86000)
	libass.so.9 => not found
	libfreetype.so.6 => not found
	libbz2.so.1.0 => not found
	libz.so.1 => not found
	libssl.so.1.1 => not found
	libcrypto.so.1.1 => not found
	libz.so.1 => not found
	libfdk-aac.so.1 => not found
	libmp3lame.so.0 => not found
	libopus.so.0 => not found
	libvorbis.so.0 => not found
	libvorbisenc.so.2 => not found
	libx264.so.161 => not found
	libdl.so.2 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib/libdl.so.2 (0x00007f83b0e7d000)
	libx265.so.169 => not found
	librt.so.1 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib/librt.so.1 (0x00007f83b0e70000)
	/lib64/ld-linux-x86-64.so.2 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib64/ld-linux-x86-64.so.2 (0x00007f83b33f3000)

ldd output with supplemented LD_LIBRARY_PATH

$ LD_LIBRARY_PATH=$HOME/.nix-profile/lib ldd .julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/ffmpeg
	linux-vdso.so.1 (0x00007ffedf2a6000)
	libavdevice.so.58 => /home/luke/.nix-profile/lib/libavdevice.so.58 (0x00007f4827e9d000)
	libavfilter.so.7 => /home/luke/.nix-profile/lib/libavfilter.so.7 (0x00007f482743b000)
	libavformat.so.58 => /home/luke/.nix-profile/lib/libavformat.so.58 (0x00007f48271cc000)
	libavcodec.so.58 => /home/luke/.nix-profile/lib/libavcodec.so.58 (0x00007f4825e7d000)
	libavresample.so.4 => /home/luke/.nix-profile/lib/libavresample.so.4 (0x00007f4825e5a000)
	libpostproc.so.55 => /home/luke/.nix-profile/lib/libpostproc.so.55 (0x00007f4825e37000)
	libswresample.so.3 => /home/luke/.nix-profile/lib/libswresample.so.3 (0x00007f4825e15000)
	libswscale.so.5 => /home/luke/.nix-profile/lib/libswscale.so.5 (0x00007f4825d7f000)
	libavutil.so.56 => /home/luke/.nix-profile/lib/libavutil.so.56 (0x00007f4825abe000)
	libm.so.6 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib/libm.so.6 (0x00007f482597b000)
	libpthread.so.0 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib/libpthread.so.0 (0x00007f482595a000)
	libc.so.6 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib/libc.so.6 (0x00007f4825799000)
	libjack.so.0 => /nix/store/31mvpdl3si8335q81sbqhf9fznl1qw64-libjack2-1.9.17/lib/libjack.so.0 (0x00007f4825745000)
	libopenal.so.1 => /nix/store/53xp5vgscgnw72nphzv3b0rd35swvlvi-openal-soft-1.19.1/lib/libopenal.so.1 (0x00007f482564d000)
	libxcb.so.1 => /nix/store/509ygjk6nsww804npqwwb3f7c9b62cvd-libxcb-1.14/lib/libxcb.so.1 (0x00007f482561f000)
	libxcb-shm.so.0 => /nix/store/509ygjk6nsww804npqwwb3f7c9b62cvd-libxcb-1.14/lib/libxcb-shm.so.0 (0x00007f482561a000)
	libxcb-shape.so.0 => /nix/store/509ygjk6nsww804npqwwb3f7c9b62cvd-libxcb-1.14/lib/libxcb-shape.so.0 (0x00007f4825614000)
	libxcb-xfixes.so.0 => /nix/store/509ygjk6nsww804npqwwb3f7c9b62cvd-libxcb-1.14/lib/libxcb-xfixes.so.0 (0x00007f482560a000)
	libdc1394.so.25 => /nix/store/wxdzxa9mqkj41968f0amzy5ijdzkbvns-libdc1394-2.2.6/lib/libdc1394.so.25 (0x00007f4825592000)
	libasound.so.2 => /nix/store/2zmiq75913swkdk6y73qwcyjf3ycnzqy-alsa-lib-1.2.5/lib/libasound.so.2 (0x00007f4825488000)
	libpulse.so.0 => /nix/store/m1k5d4kbqmkx60y2d88dblz8g72ln07c-libpulseaudio-14.2/lib/libpulse.so.0 (0x00007f4825431000)
	libSDL2-2.0.so.0 => /nix/store/wrsslzrkhpkgmmnssmmyw6rwlg9z7s1k-SDL2-2.0.14/lib/libSDL2-2.0.so.0 (0x00007f4825278000)
	libv4l2.so.0 => /nix/store/fwkh5xrvgxpaqw2pvxkyld53nwrwwvr7-v4l-utils-1.20.0/lib/libv4l2.so.0 (0x00007f4825268000)
	libXv.so.1 => /nix/store/99wva2d95p84v6ysz7nwyllzlz9rjx9x-libXv-1.0.11/lib/libXv.so.1 (0x00007f4825260000)
	libX11.so.6 => /home/luke/.nix-profile/lib/libX11.so.6 (0x00007f482511d000)
	libXext.so.6 => /nix/store/r6z7yk1pgsajcc9l90g3nnd0ifnx1c6s-libXext-1.3.4/lib/libXext.so.6 (0x00007f4825108000)
	libbs2b.so.0 => /nix/store/77sm0imakyps3mklv3h2b282sg6rvm32-libbs2b-3.1.0/lib/libbs2b.so.0 (0x00007f48250ff000)
	libmysofa.so.1 => /nix/store/0f8c7vghsqnlvz56pjmlbd128af9fzkj-libmysofa-1.2/lib/libmysofa.so.1 (0x00007f48250eb000)
	libfribidi.so.0 => /nix/store/5724b5ay4ydf6ljgnvzbwdlk65vx7f5z-fribidi-1.0.10/lib/libfribidi.so.0 (0x00007f48250ca000)
	libvmaf.so.1 => /nix/store/ps6ds9qyg3z09fbkpibd4yfspp0qagwn-libvmaf-2.1.1/lib/libvmaf.so.1 (0x00007f482503a000)
	libvulkan.so.1 => /nix/store/dsv6wz5fv9jd04ggmakkh7l6mf4a93cq-vulkan-loader-1.2.162.0/lib/libvulkan.so.1 (0x00007f4824fd9000)
	libstdc++.so.6 => /nix/store/d9mfvhvksvsx0ar8pmxwhgwd9my045rp-gcc-10.3.0-lib/lib/libstdc++.so.6 (0x00007f4824e04000)
	libass.so.9 => /home/luke/.nix-profile/lib/libass.so.9 (0x00007f4824dd4000)
	libva.so.2 => /nix/store/62km0pac3c0q1sqhygybc93rnwxy7q7l-libva-2.12.0/lib/libva.so.2 (0x00007f4824da6000)
	libvidstab.so.1.1 => /nix/store/jna53i83qsixv9jrgdq28c36mkbqymp0-vid.stab-1.1.0/lib/libvidstab.so.1.1 (0x00007f4824d8e000)
	libzmq.so.5 => /nix/store/kqdj2cfjymrhllwzlrcnjn9qdxqsdyn3-zeromq-4.3.4/lib/libzmq.so.5 (0x00007f4824ca5000)
	libfontconfig.so.1 => /nix/store/36xhw53am9kvd064hb6239i974xri4kb-fontconfig-2.13.92-lib/lib/libfontconfig.so.1 (0x00007f4824c5b000)
	libfreetype.so.6 => /home/luke/.nix-profile/lib/libfreetype.so.6 (0x00007f4824b97000)
	libdl.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libdl.so.2 (0x00007f4824b92000)
	libmfx.so.1 => /nix/store/q3grbyv4hlysy2k6vf8fy0y7kvwa3phx-intel-media-sdk-21.2.2/lib/libmfx.so.1 (0x00007f4824b84000)
	libgcc_s.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libgcc_s.so.1 (0x00007f4824b68000)
	libbz2.so.1 => /nix/store/alm923rykl5ccjqj0qn77nh48al4jvm0-bzip2-1.0.6.0.2/lib/libbz2.so.1 (0x00007f4824b55000)
	libgme.so.0 => /nix/store/ygs16l6k57drxly0wh5njc2srxq9d26z-game-music-emu-0.6.3/lib/libgme.so.0 (0x00007f4824711000)
	libmodplug.so.1 => /nix/store/5pz8nfsbj7k0sxwjwch700sax08g4p7s-libmodplug-0.8.9.0/lib/libmodplug.so.1 (0x00007f482457e000)
	libbluray.so.2 => /nix/store/nw0q1cljl2pqspwyh0bcmk8v9x2391ja-libbluray-1.2.1/lib/libbluray.so.2 (0x00007f482452c000)
	libz.so.1 => /home/luke/.nix-profile/lib/libz.so.1 (0x00007f482450f000)
	libgnutls.so.30 => /nix/store/wzlcv438bp17df7q9s3j0ryb5qzbx2ls-gnutls-3.7.2/lib/libgnutls.so.30 (0x00007f482430c000)
	librtmp.so.1 => /nix/store/assc13q6199x7a97vlj3isgk4h7g51b5-rtmpdump-2019-03-30/lib/librtmp.so.1 (0x00007f48242ec000)
	libsrt.so.1.4 => /nix/store/7w4avqggymay1g1vjixifp7yvwm9yyfm-srt-1.4.3/lib64/libsrt.so.1.4 (0x00007f4824218000)
	libssh.so.4 => /nix/store/nyxl9yd82gjv4n5n2prsjzn74pf2in0p-libssh-0.8.9/lib/libssh.so.4 (0x00007f482418e000)
	libvpx.so.6 => /nix/store/fhsdblw1p0msc0z62jqcdjsng5pwcczy-libvpx-1.10.0/lib/libvpx.so.6 (0x00007f4823e8c000)
	libwebpmux.so.3 => /nix/store/jdjhv0hdpk1gq6vpvjzsmmpk1xfccsdq-libwebp-1.1.0/lib/libwebpmux.so.3 (0x00007f4823e80000)
	libwebp.so.7 => /nix/store/jdjhv0hdpk1gq6vpvjzsmmpk1xfccsdq-libwebp-1.1.0/lib/libwebp.so.7 (0x00007f4823e12000)
	liblzma.so.5 => /nix/store/ajm0wiln2qfh5r6js25zm7450fjf0nlw-xz-5.2.5/lib/liblzma.so.5 (0x00007f4823de8000)
	libcelt0.so.2 => /nix/store/q3ag69c17dbm43sp4jck75sy1lq88x8r-celt-0.11.3/lib/libcelt0.so.2 (0x00007f4823dcd000)
	libdav1d.so.5 => /nix/store/3si8mn13pnb6nh74s0qbarz7gn6vxjjv-dav1d-0.9.0/lib/libdav1d.so.5 (0x00007f4823c72000)
	librsvg-2.so.2 => /nix/store/wx2kqalxzqhax1xfhjnnyr3fvd8m1ibm-librsvg-2.50.6/lib/librsvg-2.so.2 (0x00007f4823254000)
	libgobject-2.0.so.0 => /nix/store/9yzan8v1bks4284xzk7858n9392rpd18-glib-2.68.2/lib/libgobject-2.0.so.0 (0x00007f48231f9000)
	libglib-2.0.so.0 => /nix/store/9yzan8v1bks4284xzk7858n9392rpd18-glib-2.68.2/lib/libglib-2.0.so.0 (0x00007f48230c3000)
	libcairo.so.2 => /nix/store/v1dvn3kkmn7m2swbckwmgnvmpnyhqkqi-cairo-1.16.0/lib/libcairo.so.2 (0x00007f4822f86000)
	libaom.so.3 => /nix/store/6z46bjw3hlvfmd31v7gzpm34nvn6brln-libaom-3.1.1/lib/libaom.so.3 (0x00007f4822826000)
	libgsm.so => /nix/store/jl2xvib4vbj20f3jbxxylm9j642haij1-gsm-1.0.19/lib/libgsm.so (0x00007f4822817000)
	libmp3lame.so.0 => /nix/store/z6rf3k2m80x2gsrcbq54v3qzdz203c26-lame-3.100-lib/lib/libmp3lame.so.0 (0x00007f482279f000)
	libopencore-amrnb.so.0 => /nix/store/aivl9izlkbkz2lda71js5av418s31b67-opencore-amr-0.1.5/lib/libopencore-amrnb.so.0 (0x00007f4822774000)
	libopenjp2.so.7 => /nix/store/m3ph700m44byhxdx9x3y5fs45plmx4k4-openjpeg-2.4.0/lib/libopenjp2.so.7 (0x00007f4822713000)
	libopus.so.0 => /home/luke/.nix-profile/lib/libopus.so.0 (0x00007f48226b4000)
	libspeex.so.1 => /nix/store/vxwp2y3hfrmlqkj56n3s0r2hvvjwi1ws-speex-1.2.0/lib/libspeex.so.1 (0x00007f4822695000)
	libSvtAv1Enc.so.0 => /nix/store/q5ix79r6619i8v5g9vm4lnjpvjx9hyqa-svt-av1-0.8.6/lib/libSvtAv1Enc.so.0 (0x00007f4821702000)
	libtheoraenc.so.1 => /nix/store/wj2fqi3l2zfyqqfx1jbjq11pfvam2yn4-libtheora-1.1.1/lib/libtheoraenc.so.1 (0x00007f48216c3000)
	libtheoradec.so.1 => /nix/store/wj2fqi3l2zfyqqfx1jbjq11pfvam2yn4-libtheora-1.1.1/lib/libtheoradec.so.1 (0x00007f48216a4000)
	libvo-amrwbenc.so.0 => /nix/store/hlc8b47yx53d48kgjfwfbfds7j4xkicc-vo-amrwbenc-0.1.3/lib/libvo-amrwbenc.so.0 (0x00007f4821688000)
	libvorbis.so.0 => /home/luke/.nix-profile/lib/libvorbis.so.0 (0x00007f4821650000)
	libvorbisenc.so.2 => /home/luke/.nix-profile/lib/libvorbisenc.so.2 (0x00007f48215a1000)
	libx264.so.157 => /nix/store/gjn2qv4ihfndwr6j8wc6111c9yx3rmww-x264-20191217-2245-lib/lib/libx264.so.157 (0x00007f4821283000)
	libx265.so.192 => /nix/store/bngwlws6jfnyf7wpx94r181bzhpvmx55-x265-3.4/lib/libx265.so.192 (0x00007f481ffec000)
	libxavs.so.1 => /nix/store/8fhlgrizl5k1x00ff1p5q0b6ivrzwfk0-xavs-55/lib/libxavs.so.1 (0x00007f481ff7c000)
	libxvidcore.so.4 => /nix/store/dig8z5hpir83r0sf2g9zqjimvcii6fzi-xvidcore-1.3.5/lib/libxvidcore.so.4 (0x00007f481fe6f000)
	libsoxr.so.0 => /nix/store/m8nd2knn8rslplzmsrqxdnapqjq4ykdr-soxr-0.1.3/lib/libsoxr.so.0 (0x00007f481fdf1000)
	libva-drm.so.2 => /nix/store/62km0pac3c0q1sqhygybc93rnwxy7q7l-libva-2.12.0/lib/libva-drm.so.2 (0x00007f481fdec000)
	libva-x11.so.2 => /nix/store/62km0pac3c0q1sqhygybc93rnwxy7q7l-libva-2.12.0/lib/libva-x11.so.2 (0x00007f481fde3000)
	libvdpau.so.1 => /nix/store/y5c4h5rfgn7x9xpiap27qp8zvc7vjgfv-libvdpau-1.4/lib/libvdpau.so.1 (0x00007f481fddc000)
	/lib64/ld-linux-x86-64.so.2 => /nix/store/v8q6nxyppy1myi3rxni2080bv8s9jxiy-glibc-2.32-40/lib64/ld-linux-x86-64.so.2 (0x00007f4827ec4000)
	librt.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/librt.so.1 (0x00007f481fdcf000)
	libdbus-1.so.3 => /nix/store/2sj9356vfl46qbihp9dsqk7jj108ppqw-dbus-1.12.20-lib/lib/libdbus-1.so.3 (0x00007f481fd79000)
	libatomic.so.1 => /nix/store/d9mfvhvksvsx0ar8pmxwhgwd9my045rp-gcc-10.3.0-lib/lib/libatomic.so.1 (0x00007f481fd6f000)
	libXau.so.6 => /nix/store/6bllk7jd3m08vvsqvi6znihwp2lqsfxf-libXau-1.0.9/lib/libXau.so.6 (0x00007f481fd6a000)
	libXdmcp.so.6 => /nix/store/z0imd926y9z6rbjf54swfwvdkw87zpyw-libXdmcp-1.1.3/lib/libXdmcp.so.6 (0x00007f481fd62000)
	libraw1394.so.11 => /nix/store/5zwl54r7kwd6289ggnqscl67i9sbn8fp-libraw1394-2.1.2/lib/libraw1394.so.11 (0x00007f481fd4e000)
	libpulsecommon-14.2.so => /nix/store/m1k5d4kbqmkx60y2d88dblz8g72ln07c-libpulseaudio-14.2/lib/pulseaudio/libpulsecommon-14.2.so (0x00007f481fcc9000)
	libsndfile.so.1 => /nix/store/8kkz0pp0mmamrv557ln9lg00bhs01xn3-libsndfile-1.0.30/lib/libsndfile.so.1 (0x00007f481fc45000)
	libcap.so.2 => /nix/store/041lqf8pqp8ix06zrg7iwckkls64h7nh-libcap-2.48-lib/lib/libcap.so.2 (0x00007f481fc3a000)
	libXcursor.so.1 => /home/luke/.nix-profile/lib/libXcursor.so.1 (0x00007f481fc2c000)
	libXinerama.so.1 => /home/luke/.nix-profile/lib/libXinerama.so.1 (0x00007f481fc27000)
	libXi.so.6 => /home/luke/.nix-profile/lib/libXi.so.6 (0x00007f481fc14000)
	libXrandr.so.2 => /home/luke/.nix-profile/lib/libXrandr.so.2 (0x00007f481fc07000)
	libXss.so.1 => /nix/store/4sjbb0l16hi6nk33jpz6z0zaxv5p7f0c-libXScrnSaver-1.2.3/lib/libXss.so.1 (0x00007f481fc00000)
	libXxf86vm.so.1 => /home/luke/.nix-profile/lib/libXxf86vm.so.1 (0x00007f481fbf8000)
	libv4lconvert.so.0 => /nix/store/fwkh5xrvgxpaqw2pvxkyld53nwrwwvr7-v4l-utils-1.20.0/lib/libv4lconvert.so.0 (0x00007f481fb7c000)
	libharfbuzz.so.0 => /nix/store/azw8ixqngmrlaln4309fsw8ps0ckmz37-harfbuzz-2.8.1/lib/libharfbuzz.so.0 (0x00007f481fa90000)
	libpng16.so.16 => /nix/store/ynjkmlzkgsn39bfvc23s60hsssclyv2c-libpng-apng-1.6.37/lib/libpng16.so.16 (0x00007f481fa56000)
	libgomp.so.1 => /nix/store/d9mfvhvksvsx0ar8pmxwhgwd9my045rp-gcc-10.3.0-lib/lib/libgomp.so.1 (0x00007f481fa19000)
	libsodium.so.23 => /nix/store/sbxf7dn904h7wndd0w32h1ycdsjvygq5-libsodium-1.0.18/lib/libsodium.so.23 (0x00007f481f9bd000)
	libexpat.so.1 => /nix/store/5pxlh9lc8nm68kh5d5l8g0alrhf73rgc-expat-2.4.1/lib/libexpat.so.1 (0x00007f481f98a000)
	libubsan.so.1 => /nix/store/d9mfvhvksvsx0ar8pmxwhgwd9my045rp-gcc-10.3.0-lib/lib/libubsan.so.1 (0x00007f481f01e000)
	libxml2.so.2 => /nix/store/j9af3y4n3viladi76xmpnaz7cps68hcd-libxml2-2.9.12/lib/libxml2.so.2 (0x00007f481eeb0000)
	libp11-kit.so.0 => /nix/store/db4agc3cihq7qcylzyxq24gzidn5zds5-p11-kit-0.23.22/lib/libp11-kit.so.0 (0x00007f481ed79000)
	libunistring.so.2 => /nix/store/jlz466np275y4myx4vbmab3w7mq6ph8w-libunistring-0.9.10/lib/libunistring.so.2 (0x00007f481ebf6000)
	libtasn1.so.6 => /nix/store/gf0hraphxfch4ad3p160phl8bnqi1bfm-libtasn1-4.17.0/lib/libtasn1.so.6 (0x00007f481ebe0000)
	libnettle.so.8 => /nix/store/b3a86g1nfqnwmjg110wpc1zv9hbm5mpp-nettle-3.7.3/lib/libnettle.so.8 (0x00007f481eb97000)
	libhogweed.so.6 => /nix/store/b3a86g1nfqnwmjg110wpc1zv9hbm5mpp-nettle-3.7.3/lib/libhogweed.so.6 (0x00007f481eb4d000)
	libgmp.so.10 => /nix/store/0s2igdiwbg67pyggg4a7wsbfph8sq8ah-gmp-6.2.1/lib/libgmp.so.10 (0x00007f481eaa9000)
	libssl.so.1.1 => /nix/store/hsi52np49n9g2fdg86mmw6vz6y2y7vg0-openssl-1.1.1k/lib/libssl.so.1.1 (0x00007f481ea12000)
	libcrypto.so.1.1 => /nix/store/hsi52np49n9g2fdg86mmw6vz6y2y7vg0-openssl-1.1.1k/lib/libcrypto.so.1.1 (0x00007f481e726000)
	libcairo-gobject.so.2 => /nix/store/v1dvn3kkmn7m2swbckwmgnvmpnyhqkqi-cairo-1.16.0/lib/libcairo-gobject.so.2 (0x00007f481e718000)
	libgdk_pixbuf-2.0.so.0 => /nix/store/ahk5g9mdra2vqb3nk8v39pijsb4hjycs-gdk-pixbuf-2.42.6/lib/libgdk_pixbuf-2.0.so.0 (0x00007f481e6ea000)
	libgio-2.0.so.0 => /nix/store/9yzan8v1bks4284xzk7858n9392rpd18-glib-2.68.2/lib/libgio-2.0.so.0 (0x00007f481e514000)
	libpangocairo-1.0.so.0 => /nix/store/rywq4m4ad9gslv4r41mzyply6yal234m-pango-1.48.4/lib/libpangocairo-1.0.so.0 (0x00007f481e503000)
	libpangoft2-1.0.so.0 => /nix/store/rywq4m4ad9gslv4r41mzyply6yal234m-pango-1.48.4/lib/libpangoft2-1.0.so.0 (0x00007f481e4e8000)
	libpango-1.0.so.0 => /nix/store/rywq4m4ad9gslv4r41mzyply6yal234m-pango-1.48.4/lib/libpango-1.0.so.0 (0x00007f481e493000)
	libffi.so.7 => /nix/store/qv3b7pswf4j9c03dchr96p4r27700ph5-libffi-3.3/lib/libffi.so.7 (0x00007f481e486000)
	libpcre.so.1 => /nix/store/q40gjaqpcjh6w00774j3jqkxz0jzpl0g-pcre-8.44/lib/libpcre.so.1 (0x00007f481e40d000)
	libpixman-1.so.0 => /nix/store/44w53x09grab3zkp9vvk4435sswjf41j-pixman-0.38.4/lib/libpixman-1.so.0 (0x00007f481e363000)
	libEGL.so.1 => /home/luke/.nix-profile/lib/libEGL.so.1 (0x00007f481e34b000)
	libxcb-render.so.0 => /nix/store/509ygjk6nsww804npqwwb3f7c9b62cvd-libxcb-1.14/lib/libxcb-render.so.0 (0x00007f481e33b000)
	libXrender.so.1 => /nix/store/ga4js7a2srxddwm4kflazyr1xibch8mm-libXrender-0.9.10/lib/libXrender.so.1 (0x00007f481e32e000)
	libGL.so.1 => /home/luke/.nix-profile/lib/libGL.so.1 (0x00007f481e2a0000)
	libogg.so.0 => /nix/store/3123ja355l8sfn5z4pvhz80hnz17shrr-libogg-1.3.4/lib/libogg.so.0 (0x00007f481e295000)
	libmvec.so.1 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libmvec.so.1 (0x00007f481e267000)
	libnuma.so.1 => /nix/store/v38nx8sp4cn2z5fdj764klkb5x5yfpnr-numactl-2.0.14/lib/libnuma.so.1 (0x00007f481e258000)
	libdrm.so.2 => /nix/store/nqkfqc1pflfwl7qz9j1xlgkxs8g565cd-libdrm-2.4.106/lib/libdrm.so.2 (0x00007f481e243000)
	libXfixes.so.3 => /nix/store/2s23mc52wclip9zs6p3cw4xr00jr2bpz-libXfixes-6.0.0/lib/libXfixes.so.3 (0x00007f481e23a000)
	libsystemd.so.0 => /nix/store/m82y9l76ygpnfjaqshrqh1l4xyfjdan2-systemd-247.6/lib/libsystemd.so.0 (0x00007f481e168000)
	libFLAC.so.8 => /nix/store/pf5p593i6d2vfxg3a5j548gz4swsvy05-flac-1.3.3/lib/libFLAC.so.8 (0x00007f481e0fc000)
	libjpeg.so.62 => /nix/store/mccn25qwwqfi5q6p6wlmk5w3msxicz16-libjpeg-turbo-2.1.0/lib/libjpeg.so.62 (0x00007f481e04d000)
	libgraphite2.so.3 => /nix/store/95fjhxalwzbmmvawg5hw7ci8qx9f7lqf-graphite2-1.3.14/lib/libgraphite2.so.3 (0x00007f481e021000)
	libgmodule-2.0.so.0 => /nix/store/9yzan8v1bks4284xzk7858n9392rpd18-glib-2.68.2/lib/libgmodule-2.0.so.0 (0x00007f481e01a000)
	libmount.so.1 => /nix/store/p09aa1i9q82jbyzdhidwcafz7l4sihs9-util-linux-2.36.2/lib/libmount.so.1 (0x00007f481dfbc000)
	libselinux.so.1 => /nix/store/ijx4ljzv9rpr5zhxv0hsa500044dwmkm-libselinux-3.0/lib/libselinux.so.1 (0x00007f481df8d000)
	libresolv.so.2 => /nix/store/adxc893j47gxx3xjw403zdf0liiddvw2-glibc-2.32-48/lib/libresolv.so.2 (0x00007f481df75000)
	libthai.so.0 => /nix/store/832v86za17cvwgy6ivv8jjr5jin902fh-libthai-0.1.28/lib/libthai.so.0 (0x00007f481df69000)
	libGLdispatch.so.0 => /home/luke/.nix-profile/lib/libGLdispatch.so.0 (0x00007f481deb0000)
	libGLX.so.0 => /home/luke/.nix-profile/lib/libGLX.so.0 (0x00007f481de79000)
	liblz4.so.1 => /nix/store/slxw3xfvv4nga8bxg6pw0l23c6ksr5xb-lz4-1.9.3/lib/liblz4.so.1 (0x00007f481de45000)
	libgcrypt.so.20 => /nix/store/7aq130h9lwbh5p579yigz2lxmd8lwnqa-libgcrypt-1.9.3/lib/libgcrypt.so.20 (0x00007f481dd09000)
	libblkid.so.1 => /nix/store/p09aa1i9q82jbyzdhidwcafz7l4sihs9-util-linux-2.36.2/lib/libblkid.so.1 (0x00007f481dcb7000)
	libdatrie.so.1 => /nix/store/5rvmmhnyn8zp65mdhsps27yi486rd26b-libdatrie-2019-12-20-lib/lib/libdatrie.so.1 (0x00007f481dcab000)
	libgpg-error.so.0 => /nix/store/65yyc70vs1r0c5w0i5iwgd4fd2br7709-libgpg-error-1.41/lib/libgpg-error.so.0 (0x00007f481dc84000)

Execution fails also with LD_LIBRARY_PATH

$ LD_LIBRARY_PATH=$HOME/.nix-profile/lib .julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/ffmpeg
bash: .julia/artifacts/7f40eeb66d90d3026ae5fb68761c263b57adb840/bin/ffmpeg: No such file or directory

Package is unsupported on Apple Silicon (M1/M2 chips)

This package relies on BinaryProvider - which is more-or-less a deprecated package that hasn't been updated since 2020. Thus, it does not support any of the recent Apple silicon platforms (using M1/M2 chips). It fails to build with the following exception:

ERROR: Error building `FFMPEG`:
┌ Warning: Platform `arm64-apple-darwin22.4.0` is not an officially supported platform
└ @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:450
ERROR: LoadError: KeyError: key "unknown" not found

FFMPEG_jll.jl has no [compat] entry for OpenSSL_jll.jl

FFMPEG_jll.jl is holding us back from getting the newest release of HDF5_jll.jl (v1.14.0+0) because there is no [compat] entry of OpenSSL_jll.jl in the Project.toml of FFMPEG_jll.jl . MWE:

(@v1.9) pkg> activate --temp
  Activating new project at `/tmp/jl_1riE7b`

(jl_1riE7b) pkg> add FFMPEG_jll
   Resolving package versions...
    Updating `/tmp/jl_1riE7b/Project.toml`
  [b22a6f82] + FFMPEG_jll v4.4.2+2
    Updating `/tmp/jl_1riE7b/Manifest.toml`
[...]
(jl_1riE7b) pkg> add HDF5_jll
   Resolving package versions...
    Updating `/tmp/jl_1riE7b/Project.toml`
⌃ [0234f1f7] + HDF5_jll v1.12.2+2
    Updating `/tmp/jl_1riE7b/Manifest.toml`
⌃ [0234f1f7] + HDF5_jll v1.12.2+2
        Info Packages marked with ⌃ have new versions available and may be upgradable.

(jl_1riE7b) pkg> st -m -o
Status `/tmp/jl_1riE7b/Manifest.toml`
⌃ [0234f1f7] HDF5_jll v1.12.2+2 (<v1.14.0+0)
⌅ [e9f186c6] Libffi_jll v3.2.2+1 (<v3.4.4+0): Glib_jll, HarfBuzz_jll
⌅ [458c3c95] OpenSSL_jll v1.1.21+0 (<v3.0.9+0): FFMPEG_jll, HDF5_jll

(jl_1riE7b) pkg> add HDF5_jll@1.14
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package OpenSSL_jll [458c3c95]:
 OpenSSL_jll [458c3c95] log:
 ├─possible versions are: 1.1.1-3.0.9 or uninstalled
 ├─restricted by compatibility requirements with FFMPEG_jll [b22a6f82] to versions: 1.1.10-1.1.21
 │ └─FFMPEG_jll [b22a6f82] log:
 │   ├─possible versions are: 4.1.0-4.4.2 or uninstalled
 │   └─restricted to versions * by an explicit requirement, leaving only versions: 4.1.0-4.4.2
 └─restricted by compatibility requirements with HDF5_jll [0234f1f7] to versions: 3.0.8-3.0.9 — no versions left
   └─HDF5_jll [0234f1f7] log:
     ├─possible versions are: 1.10.5-1.14.0 or uninstalled
     └─restricted to versions 1.14 by an explicit requirement, leaving only versions: 1.14.0

cc @ranocha

Error precompiling FFMPEG

julia> versioninfo()
Julia Version 1.5.0
Commit 96786e22cc (2020-08-01 23:44 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, skylake)

(@ffmpeg) pkg> st
Status `~/.julia/environments/ffmpeg/Project.toml` (empty project)

(@ffmpeg) pkg> add FFMPEG
  Resolving package versions...
Updating `~/.julia/environments/ffmpeg/Project.toml`
  [c87230d0] + FFMPEG v0.3.0
Updating `~/.julia/environments/ffmpeg/Manifest.toml`
  [6e34b625] + Bzip2_jll v1.0.6+2
  [c87230d0] + FFMPEG v0.3.0
  [b22a6f82] + FFMPEG_jll v4.1.0+3
  [d7e528f0] + FreeType2_jll v2.10.1+2
  [559328eb] + FriBidi_jll v1.0.5+3
  [c1c5ebd0] + LAME_jll v3.100.0+1
  [dd192d2f] + LibVPX_jll v1.8.1+1
  [e7412a2a] + Ogg_jll v1.3.4+0
  [458c3c95] + OpenSSL_jll v1.1.1+4
  [91d4177d] + Opus_jll v1.3.1+1
  [83775a58] + Zlib_jll v1.2.11+14
  [0ac62f75] + libass_jll v0.14.0+2
  [f638f0a6] + libfdk_aac_jll v0.1.6+2
  [f27f6e37] + libvorbis_jll v1.3.6+4
  [1270edf5] + x264_jll v2020.7.14+0
  [dfaa095f] + x265_jll v3.0.0+1
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [b77e0a4c] + InteractiveUtils
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [6462fe0b] + Sockets
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode

(@ffmpeg) pkg> build

julia> using FFMPEG
[ Info: Precompiling FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a]
ERROR: LoadError: InitError: could not load library "/home/daniel/.julia/artifacts/08ab4b2de494e1d61e581ab1fbd610b0b4d1876f/lib/libavdevice.so"
libx264.so.157: cannot open shared object file: No such file or directory
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/daniel/.julia/packages/FFMPEG_jll/tCUYA/src/wrappers/x86_64-linux-gnu.jl:231
 [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/daniel/.julia/packages/FFMPEG/vocw2/src/FFMPEG.jl:3
ERROR: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a] to /home/daniel/.julia/compiled/v1.5/FFMPEG/TGvga_BTMtA.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1290
 [3] _require(::Base.PkgId) at ./loading.jl:1030
 [4] require(::Base.PkgId) at ./loading.jl:928
 [5] require(::Module, ::Symbol) at ./loading.jl:923

See also: JuliaPlots/Plots.jl#2886

Upgrading FFMPEG downgrades e.g. Plots v1.0.14 ⇒ v0.27.1

First the good news:

julia> @time using FFMPEG
  1.954532 seconds (1.67 M allocations: 95.600 MiB, 1.70% gc time)

Hopefully faster than even, I was checking, my PR for JLLs was applied to your FFMPEG_jll.

However, while I could do this before, updating to get there got me v0.3 (and error) and I had to do:

(@v1.6) pkg> add [email protected]
  Resolving package versions...
ERROR: Unsatisfiable requirements detected for package FFMPEG_jll [b22a6f82]:
 FFMPEG_jll [b22a6f82] log:
 ├─possible versions are: 4.1.0 or uninstalled
 ├─FFMPEG_jll [b22a6f82] is fixed to version 4.1.0+3
 └─found to have no compatible versions left with FFMPEG [c87230d0] 
   └─FFMPEG [c87230d0] log:
     ├─possible versions are: [0.1.0, 0.2.0-0.2.4, 0.3.0, 0.4.0] or uninstalled
     └─restricted to versions 0.4 by an explicit requirement, leaving only versions 0.4.0

I've often seen such, but here for the first time only one dependency, and never this "fixed to version" (that I recall).

I do not recall doing that, only maybe adding FFMPEG_jll manually myself.

To fix that I get an avalance of changes, downgrades, upgrades, dropped packages and installed packages (full log at bottom):

(@v1.6) pkg> add [email protected]

Updating `~/.julia/environments/v1.6/Project.toml`

  [ee78f7c6] ↓ Makie v0.10.0 ⇒ v0.9.5
  [91a5bcdd] ↓ Plots v1.0.14 ⇒ v0.27.1

Updating `~/.julia/environments/v1.6/Manifest.toml`

  [85c772de] - AbstractNumbers v0.2.1
  [537997a7] ↓ AbstractPlotting v0.10.6 ⇒ v0.9.10

  [c87230d0] ↑ FFMPEG v0.3.0 ⇒ v0.4.0
  [b22a6f82] ~ FFMPEG_jll v4.1.0+3 `~/.julia/dev/FFMPEG_jll` ⇒ v4.3.1+1

  [38e38edf] - GLM v1.3.10
  [e9467ef8] ↓ GLMakie v0.1.2 ⇒ v0.0.8

  [ee78f7c6] ↓ Makie v0.10.0 ⇒ v0.9.5

  [86f7a689] + NamedArrays v0.9.4

  [91a5bcdd] ↓ Plots v1.0.14 ⇒ v0.27.1

  [01d81517] - RecipesPipeline v0.1.11

  [65257c39] - ShaderAbstractions v0.2.2
  [65254759] ↓ StatsMakie v0.2.3 ⇒ v0.0.6

Full log:

(@v1.6) pkg> rm FFMPEG_jll
Updating `~/.julia/environments/v1.6/Project.toml`
  [b22a6f82] - FFMPEG_jll v4.1.0+3 `~/.julia/dev/FFMPEG_jll`
No Changes to `~/.julia/environments/v1.6/Manifest.toml`

(@v1.6) pkg> add [email protected]
  Resolving package versions...
  Installed LoadFlint ────────── v0.3.3
  Installed VectorizationBase ── v0.12.31
  Installed Infinity ─────────── v0.2.3
  Installed PicoQuant ────────── v0.1.1
  Installed MLStyle ──────────── v0.4.5
  Installed DataFrames ───────── v0.21.6
  Installed SQLite ───────────── v1.0.5
  Installed MKL_jll ──────────── v2020.2.254+0
  Installed Makie ────────────── v0.9.5
  Installed SIMDPirates ──────── v0.8.24
  Installed TimeSeries ───────── v0.19.1
  Installed Polynomials ──────── v1.1.4
  Installed VectorizedRNG ────── v0.1.12
  Installed MozillaCACerts_jll ─ v2020.7.22+0
  Installed Atom ─────────────── v0.12.19
  Installed DiffEqBase ───────── v6.42.0
  Installed Runner ───────────── v0.2.0
  Installed Nemo ─────────────── v0.18.0
  Installed JuliaFormatter ───── v0.6.9
  Installed Antic_jll ────────── v0.2.2+0
  Installed BSplines ─────────── v0.2.5
  Installed NamedArrays ──────── v0.9.4
  Installed FreqTables ───────── v0.4.0
  Installed Arb_jll ──────────── v2.18.1+0
  Installed StatsMakie ───────── v0.0.6
  Installed AbstractAlgebra ──── v0.10.0
  Installed CSV ──────────────── v0.7.7
  Installed GLMakie ──────────── v0.0.8
  Installed GMT ──────────────── v0.23.0
  Installed Jaynes ───────────── v0.1.8
  Installed LoopVectorization ── v0.8.23
  Installed AbstractPlotting ─── v0.9.10
Downloading artifact: MozillaCACerts
--2020-08-14 10:34:53--  https://pkg.julialang.org/artifact/bb24cbe35cf50be29d24135e8236a069533cca3a
Resolving pkg.julialang.org (pkg.julialang.org)... 151.101.62.217
Connecting to pkg.julialang.org (pkg.julialang.org)|151.101.62.217|:443... connected.
HTTP request sent, awaiting response... 301 EU internal redirect trigger
Location: https://eu-central.pkg.julialang.org/artifact/bb24cbe35cf50be29d24135e8236a069533cca3a [following]
--2020-08-14 10:34:54--  https://eu-central.pkg.julialang.org/artifact/bb24cbe35cf50be29d24135e8236a069533cca3a
Resolving eu-central.pkg.julialang.org (eu-central.pkg.julialang.org)... 18.157.163.169
Connecting to eu-central.pkg.julialang.org (eu-central.pkg.julialang.org)|18.157.163.169|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 133672 (131K) [application/tar]
Saving to: ‘/tmp/jl_VEqeKW-download.gz’

/tmp/jl_VEqeKW-download.gz                100%[====================================================================================>] 130,54K   686KB/s    in 0,2s    

2020-08-14 10:34:54 (686 KB/s) - ‘/tmp/jl_VEqeKW-download.gz’ saved [133672/133672]
Downloading artifact: Antic
--2020-08-14 10:34:54--  https://pkg.julialang.org/artifact/3d33405696a2563df5271440b62cce32cefbc134
Resolving pkg.julialang.org (pkg.julialang.org)... 151.101.62.217
Connecting to pkg.julialang.org (pkg.julialang.org)|151.101.62.217|:443... connected.
HTTP request sent, awaiting response... 301 EU internal redirect trigger
Location: https://eu-central.pkg.julialang.org/artifact/3d33405696a2563df5271440b62cce32cefbc134 [following]
--2020-08-14 10:34:54--  https://eu-central.pkg.julialang.org/artifact/3d33405696a2563df5271440b62cce32cefbc134
Resolving eu-central.pkg.julialang.org (eu-central.pkg.julialang.org)... 18.157.163.169
Connecting to eu-central.pkg.julialang.org (eu-central.pkg.julialang.org)|18.157.163.169|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 234275 (229K) [application/tar]
Saving to: ‘/tmp/jl_Jvudyv-download.gz’

/tmp/jl_Jvudyv-download.gz                100%[====================================================================================>] 228,78K   710KB/s    in 0,3s    

2020-08-14 10:34:55 (710 KB/s) - ‘/tmp/jl_Jvudyv-download.gz’ saved [234275/234275]
Downloading artifact: Arb
--2020-08-14 10:34:55--  https://pkg.julialang.org/artifact/1f4e5762991b4f836993de3fc70599603880c0da
Resolving pkg.julialang.org (pkg.julialang.org)... 151.101.62.217
Connecting to pkg.julialang.org (pkg.julialang.org)|151.101.62.217|:443... connected.
HTTP request sent, awaiting response... 301 EU internal redirect trigger
Location: https://eu-central.pkg.julialang.org/artifact/1f4e5762991b4f836993de3fc70599603880c0da [following]
--2020-08-14 10:34:57--  https://eu-central.pkg.julialang.org/artifact/1f4e5762991b4f836993de3fc70599603880c0da
Resolving eu-central.pkg.julialang.org (eu-central.pkg.julialang.org)... 18.157.163.169
Connecting to eu-central.pkg.julialang.org (eu-central.pkg.julialang.org)|18.157.163.169|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5509042 (5,3M) [application/tar]
Saving to: ‘/tmp/jl_9TPsI8-download.gz’

/tmp/jl_9TPsI8-download.gz                100%[====================================================================================>]   5,25M  1,85MB/s    in 2,8s    

2020-08-14 10:35:01 (1,85 MB/s) - ‘/tmp/jl_9TPsI8-download.gz’ saved [5509042/5509042]
Updating `~/.julia/environments/v1.6/Project.toml`
  [c52e3926] ↑ Atom v0.12.18 ⇒ v0.12.19
  [488c2830] ↑ BSplines v0.2.4 ⇒ v0.2.5
  [336ed68f] ↑ CSV v0.7.6 ⇒ v0.7.7
  [a93c6f00] ↑ DataFrames v0.21.4 ⇒ v0.21.6
  [864edb3b] ↑ DataStructures v0.17.19 ⇒ v0.17.20
  [2b5f629d] ↑ DiffEqBase v6.40.9 ⇒ v6.42.0
  [31c24e10] ↑ Distributions v0.23.5 ⇒ v0.23.8
  [c87230d0] ↑ FFMPEG v0.3.0 ⇒ v0.4.0
  [6a86dc24] ↑ FiniteDiff v2.5.1 ⇒ v2.5.2
  [5752ebe1] ↑ GMT v0.22.0 ⇒ v0.23.0
  [28b8d3ca] ↑ GR v0.48.0 ⇒ v0.51.0
  [cd3eb016] ↑ HTTP v0.8.16 ⇒ v0.8.17
  [a303e19e] ↑ Infinity v0.2.1 ⇒ v0.2.3
  [a2015381] ↑ Jaynes v0.1.5 ⇒ v0.1.8
  [98e50ef6] ↑ JuliaFormatter v0.6.7 ⇒ v0.6.9
  [e5e0dc1b] ↑ Juno v0.8.2 ⇒ v0.8.3
  [472f376f] ↑ LoadFlint v0.3.0 ⇒ v0.3.3
  [856f044c] ↑ MKL_jll v2020.1.216+0 ⇒ v2020.2.254+0
  [d8e11817] ↑ MLStyle v0.4.1 ⇒ v0.4.5
  [ee78f7c6] ↓ Makie v0.10.0 ⇒ v0.9.5
  [14a3606d] ↑ MozillaCACerts_jll v2020.0.0-07-22+1 ⇒ v2020.7.22+0
  [2edaba10] ↑ Nemo v0.17.0 ⇒ v0.18.0
  [2db47837] ↑ PicoQuant v0.1.0 ⇒ v0.1.1
  [91a5bcdd] ↓ Plots v1.0.14 ⇒ v0.27.1
  [f27b6e38] ↑ Polynomials v1.1.3 ⇒ v1.1.4
  [847b7089] ↑ Runner v0.1.0 ⇒ v0.2.0
  [21efa798] ↑ SIMDPirates v0.8.17 ⇒ v0.8.24
  [0aa819cd] ↑ SQLite v1.0.4 ⇒ v1.0.5
  [9e3dc215] ↑ TimeSeries v0.18.0 ⇒ v0.19.1
  [3d5dd08c] ↑ VectorizationBase v0.12.26 ⇒ v0.12.31
  [33b4df10] ↑ VectorizedRNG v0.1.10 ⇒ v0.1.12
  [112f6efa] ↑ VegaLite v2.2.0 ⇒ v2.3.0
  [fdbf4ff8] ↑ XLSX v0.7.2 ⇒ v0.7.3
Updating `~/.julia/environments/v1.6/Manifest.toml`
  [c3fe647b] ↑ AbstractAlgebra v0.9.2 ⇒ v0.10.0
  [85c772de] - AbstractNumbers v0.2.1
  [537997a7] ↓ AbstractPlotting v0.10.6 ⇒ v0.9.10
  [e21ec000] + Antic_jll v0.2.2+0
  [d9960996] + Arb_jll v2.18.1+0
  [c52e3926] ↑ Atom v0.12.18 ⇒ v0.12.19
  [488c2830] ↑ BSplines v0.2.4 ⇒ v0.2.5
  [336ed68f] ↑ CSV v0.7.6 ⇒ v0.7.7
  [a93c6f00] ↑ DataFrames v0.21.4 ⇒ v0.21.6
  [864edb3b] ↑ DataStructures v0.17.19 ⇒ v0.17.20
  [2b5f629d] ↑ DiffEqBase v6.40.9 ⇒ v6.42.0
  [31c24e10] ↑ Distributions v0.23.5 ⇒ v0.23.8
  [c87230d0] ↑ FFMPEG v0.3.0 ⇒ v0.4.0
  [b22a6f82] ~ FFMPEG_jll v4.1.0+3 `~/.julia/dev/FFMPEG_jll` ⇒ v4.3.1+1
  [6a86dc24] ↑ FiniteDiff v2.5.1 ⇒ v2.5.2
  [da1fdf0e] + FreqTables v0.4.0
  [38e38edf] - GLM v1.3.10
  [e9467ef8] ↓ GLMakie v0.1.2 ⇒ v0.0.8
  [5752ebe1] ↑ GMT v0.22.0 ⇒ v0.23.0
  [28b8d3ca] ↑ GR v0.48.0 ⇒ v0.51.0
  [cd3eb016] ↑ HTTP v0.8.16 ⇒ v0.8.17
  [a303e19e] ↑ Infinity v0.2.1 ⇒ v0.2.3
  [a2015381] ↑ Jaynes v0.1.5 ⇒ v0.1.8
  [98e50ef6] ↑ JuliaFormatter v0.6.7 ⇒ v0.6.9
  [e5e0dc1b] ↑ Juno v0.8.2 ⇒ v0.8.3
  [472f376f] ↑ LoadFlint v0.3.0 ⇒ v0.3.3
  [bdcacae8] ↑ LoopVectorization v0.8.19 ⇒ v0.8.23
  [856f044c] ↑ MKL_jll v2020.1.216+0 ⇒ v2020.2.254+0
  [d8e11817] ↑ MLStyle v0.4.1 ⇒ v0.4.5
  [ee78f7c6] ↓ Makie v0.10.0 ⇒ v0.9.5
  [14a3606d] ↑ MozillaCACerts_jll v2020.0.0-07-22+1 ⇒ v2020.7.22+0
  [86f7a689] + NamedArrays v0.9.4
  [2edaba10] ↑ Nemo v0.17.0 ⇒ v0.18.0
  [2db47837] ↑ PicoQuant v0.1.0 ⇒ v0.1.1
  [91a5bcdd] ↓ Plots v1.0.14 ⇒ v0.27.1
  [f27b6e38] ↑ Polynomials v1.1.3 ⇒ v1.1.4
  [01d81517] - RecipesPipeline v0.1.11
  [847b7089] ↑ Runner v0.1.0 ⇒ v0.2.0
  [21efa798] ↑ SIMDPirates v0.8.17 ⇒ v0.8.24
  [0aa819cd] ↑ SQLite v1.0.4 ⇒ v1.0.5
  [65257c39] - ShaderAbstractions v0.2.2
  [65254759] ↓ StatsMakie v0.2.3 ⇒ v0.0.6
  [9e3dc215] ↑ TimeSeries v0.18.0 ⇒ v0.19.1
  [3d5dd08c] ↑ VectorizationBase v0.12.26 ⇒ v0.12.31
  [33b4df10] ↑ VectorizedRNG v0.1.10 ⇒ v0.1.12
  [239c3e63] ↑ Vega v1.0.0 ⇒ v2.0.0
  [112f6efa] ↑ VegaLite v2.2.0 ⇒ v2.3.0
  [fdbf4ff8] ↑ XLSX v0.7.2 ⇒ v0.7.3
   Building PicoQuant → `~/.julia/packages/PicoQuant/Zh4cZ/deps/build.log`
   Building SQLite ───→ `~/.julia/packages/SQLite/LjMUn/deps/build.log`
   Building LoadFlint → `~/.julia/packages/LoadFlint/10o48/deps/build.log`
   Building Nemo ─────→ `~/.julia/packages/Nemo/QLQ7k/deps/build.log`
   Building GLMakie ──→ `~/.julia/packages/GLMakie/5wmnA/deps/build.log`

libfdk-aac.so.1: cannot open shared object file

I'm getting an error trying to run FFMPEG (through Plots.jl) - it seems that FFMPEG isn't finding a library it's looking for.

The error I get in Julia is just

failed process: Process(`/home/sfr/.julia/artifacts/3c41de0860295a9627f2819e7d2e27275796b308/bin/ffmpeg -v 0 -framerate 10 -loop 0 -i /tmp/tmp.9vaJqzM4Lz/jl_eWbBeU/%06d.png -pix_fmt yuv420p -y /home/sfr/Dropbox/projects/papers/Dissertation/plot_gen/slf_anim.mp4`, ProcessExited(1)) [1]

pipeline_error at process.jl:525 [inlined]
#run#565(::Bool, ::typeof(run), ::Cmd) at process.jl:440
run at process.jl:438 [inlined]
(::FFMPEG.var"#4#6"{Cmd})(::String) at FFMPEG.jl:114
(::FFMPEG_jll.var"#11#12"{FFMPEG.var"#4#6"{Cmd}})() at x86_64-linux-gnu.jl:162
withenv(::FFMPEG_jll.var"#11#12"{FFMPEG.var"#4#6"{Cmd}}, ::Pair{String,String}, ::Vararg{Pair{String,String},N} where N) at env.jl:161
#ffmpeg#10(::Bool, ::Bool, ::typeof(FFMPEG_jll.ffmpeg), ::FFMPEG.var"#4#6"{Cmd}) at x86_64-linux-gnu.jl:161
ffmpeg at x86_64-linux-gnu.jl:145 [inlined]
#exe#2 at FFMPEG.jl:113 [inlined]
#exe at none:0 [inlined]
ffmpeg_exe at FFMPEG.jl:125 [inlined]
#buildanimation#269(::Int64, ::Int64, ::Bool, ::Bool, ::typeof(Plots.buildanimation), ::Animation, ::String, ::Bool) at animation.jl:95
#buildanimation at none:0 [inlined]
#mp4#268 at animation.jl:65 [inlined]
(::Plots.var"#kw##mp4")(::NamedTuple{(:fps,),Tuple{Int64}}, ::typeof(mp4), ::Animation, ::String) at none:0
top-level scope at defense.jl:289

Which isn't very informative as to what the actual error is, but if I run the same command from the terminal I get

$ /home/sfr/.julia/artifacts/3c41de0860295a9627f2819e7d2e27275796b308/bin/ffmpeg -v 0 -framerate 10 -loop 0 -i /tmp/tmp.9vaJqzM4Lz/jl_eWbBeU/%06d.png -pix_fmt yuv420p -y /home/sfr/Dropbox/projects/papers/Dissertation/plot_gen/slf_anim.mp4
/home/sfr/.julia/artifacts/3c41de0860295a9627f2819e7d2e27275796b308/bin/ffmpeg: error while loading shared libraries: libfdk-aac.so.1: cannot open shared object file: No such file or directory

I'm not actually sure that the error I'm getting when it's invoked from Julia is the same as the error I get when it's invoked from the shell, but it's not clear how to find out what the error from Julia is.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.