Yggdrasil icon indicating copy to clipboard operation
Yggdrasil copied to clipboard

FFMPEG Incompatible library version OSX

Open agerlach opened this issue 4 years ago • 29 comments

When trying to use FFMPEG.jl I get the following error:

julia> using FFMPEG
julia> FFMPEG.exe("-version")
dyld: Library not loaded: @rpath/libbz2.1.0.6.dylib
  Referenced from: /Users/gerlacar/.julia/artifacts/c28cdc80b48b1077c8fc57d8e94e6eb9c1a4a776/bin/ffmpeg
  Reason: Incompatible library version: ffmpeg requires version 1.0.0 or later, but libbz2.1.0.6.dylib provides version 0.0.0
ERROR: failed process: Process(`/Users/gerlacar/.julia/artifacts/c28cdc80b48b1077c8fc57d8e94e6eb9c1a4a776/bin/ffmpeg -version`, ProcessSignaled(6)) [0]

I am using the official v1.6.0 binary:

julia> versioninfo()
Julia Version 1.6.0
Commit f9720dc2eb (2021-03-24 12:55 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.6.0)
  CPU: Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
Environment:
  JULIA_EDITOR = code

In a slack discussion with @giordano and @staticfloat we checked the following:

./julia --startup-file=no

julia> using Libdl; filter!(lib -> occursin("bz2", lib), dllist())
1-element Vector{String}:
 "/usr/lib/libbz2.1.0.dylib"

julia> using FFMPEG; FFMPEG.exe("--version")
dyld: Library not loaded: @rpath/libbz2.1.0.6.dylib
  Referenced from: /Users/gerlacar/.julia/artifacts/c28cdc80b48b1077c8fc57d8e94e6eb9c1a4a776/bin/ffmpeg
  Reason: Incompatible library version: ffmpeg requires version 1.0.0 or later, but libbz2.1.0.6.dylib provides version 0.0.0
ERROR: failed process: Process(`/Users/gerlacar/.julia/artifacts/c28cdc80b48b1077c8fc57d8e94e6eb9c1a4a776/bin/ffmpeg --version`, ProcessSignaled(6)) [0]

Stacktrace:...

julia> filter!(lib -> occursin("bz2", lib), dllist())
2-element Vector{String}:
 "/usr/lib/libbz2.1.0.dylib"
 "/Users/gerlacar/.julia/artifacts/9e6461415f744a3748a3157a0c3db6b138dbea87/lib/libbz2.1.0.6.dylib"

along with

./julia --startup-file=no

julia> using Libdl; println.(sort(dllist()));
/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
/System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
/System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
/System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
/System/Library/Frameworks/Security.framework/Versions/A/Security
/System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
/System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
/System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
/System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
/System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
/System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
/System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
/System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
/System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
/System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
/System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
/System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
/System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
/System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libLLVM.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libamd.2.4.6.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libcamd.2.4.6.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libccolamd.2.9.6.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libcholmod.3.0.13.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libcolamd.2.9.6.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libcurl.4.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libgcc_s.1.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libgfortran.4.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libgmp.10.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libjulia-internal.1.6.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libmbedcrypto.2.24.0.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libmbedtls.2.24.0.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libmbedx509.2.24.0.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libmpfr.6.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libnghttp2.14.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libopenblas64_.0.3.10.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libopenlibm.3.0.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libosxunwind.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libpcre2-8.0.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libquadmath.0.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libssh2.1.0.1.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libsuitesparse_wrapper.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libsuitesparseconfig.5.4.0.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/libz.1.2.11.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/julia/sys.dylib
/Users/gerlacar/Applications/Julia-1.6.app/Contents/Resources/julia/lib/libjulia.1.6.dylib
/usr/lib/libCRFSuite.dylib
/usr/lib/libChineseTokenizer.dylib
/usr/lib/libDiagnosticMessagesClient.dylib
/usr/lib/libSystem.B.dylib
/usr/lib/libThaiTokenizer.dylib
/usr/lib/libapple_nghttp2.dylib
/usr/lib/libarchive.2.dylib
/usr/lib/libauto.dylib
/usr/lib/libbsm.0.dylib
/usr/lib/libbz2.1.0.dylib
/usr/lib/libc++.1.dylib
/usr/lib/libc++abi.dylib
/usr/lib/libcharset.1.dylib
/usr/lib/libcmph.dylib
/usr/lib/libcompression.dylib
/usr/lib/libcoretls.dylib
/usr/lib/libcoretls_cfhelpers.dylib
/usr/lib/libenergytrace.dylib
/usr/lib/libfakelink.dylib
/usr/lib/libgermantok.dylib
/usr/lib/libiconv.2.dylib
/usr/lib/libicucore.A.dylib
/usr/lib/liblangid.dylib
/usr/lib/liblzma.5.dylib
/usr/lib/libmecab.dylib
/usr/lib/libmecabra.dylib
/usr/lib/libnetwork.dylib
/usr/lib/libobjc.A.dylib
/usr/lib/libpam.2.dylib
/usr/lib/libpcap.A.dylib
/usr/lib/libsqlite3.dylib
/usr/lib/libutil.dylib
/usr/lib/libxar.1.dylib
/usr/lib/libxml2.2.dylib
/usr/lib/libxslt.1.dylib
/usr/lib/libz.1.dylib
/usr/lib/system/libcache.dylib
/usr/lib/system/libcommonCrypto.dylib
/usr/lib/system/libcompiler_rt.dylib
/usr/lib/system/libcopyfile.dylib
/usr/lib/system/libcorecrypto.dylib
/usr/lib/system/libdispatch.dylib
/usr/lib/system/libdyld.dylib
/usr/lib/system/libkeymgr.dylib
/usr/lib/system/libkxld.dylib
/usr/lib/system/liblaunch.dylib
/usr/lib/system/libmacho.dylib
/usr/lib/system/libquarantine.dylib
/usr/lib/system/libremovefile.dylib
/usr/lib/system/libsystem_asl.dylib
/usr/lib/system/libsystem_blocks.dylib
/usr/lib/system/libsystem_c.dylib
/usr/lib/system/libsystem_configuration.dylib
/usr/lib/system/libsystem_coreservices.dylib
/usr/lib/system/libsystem_darwin.dylib
/usr/lib/system/libsystem_dnssd.dylib
/usr/lib/system/libsystem_featureflags.dylib
/usr/lib/system/libsystem_info.dylib
/usr/lib/system/libsystem_kernel.dylib
/usr/lib/system/libsystem_m.dylib
/usr/lib/system/libsystem_malloc.dylib
/usr/lib/system/libsystem_networkextension.dylib
/usr/lib/system/libsystem_notify.dylib
/usr/lib/system/libsystem_platform.dylib
/usr/lib/system/libsystem_pthread.dylib
/usr/lib/system/libsystem_sandbox.dylib
/usr/lib/system/libsystem_secinit.dylib
/usr/lib/system/libsystem_symptoms.dylib
/usr/lib/system/libsystem_trace.dylib
/usr/lib/system/libunwind.dylib
/usr/lib/system/libxpc.dylib

agerlach avatar Apr 08 '21 12:04 agerlach

From the slack discussion it seemed that that concern was that the following was this entry in a fresh Julia instance

julia> using Libdl; filter!(lib -> occursin("bz2", lib), dllist())
1-element Vector{String}:
 "/usr/lib/libbz2.1.0.dylib"

However, I see now that the libbz version that is error does not match this one, but the one in the ffmpeg artifact. This states

Incompatible library version: ffmpeg requires version 1.0.0 or later, but libbz2.1.0.6.dylib provides version 0.0.0

This does not match libbz2.1.0.dylib which is initially loaded.

agerlach avatar Apr 08 '21 12:04 agerlach

@agerlach okay it took me some time to figure out how to get around some of the changes in macOS since they started locking everything down, but I have finally figured out how to see what ffmpeg is attempting to do. Can you please share the output of this snippet:

using FFMPEG_jll
mktempdir() do dir
    # copy `bash` over and remove codesigning to defeat SIP
    bash = joinpath(dir, "bash")
    cp("/bin/bash", bash)
    run(`codesign --remove-signature $(bash)`)

    # Create wrapper script to reliably set `DYLD_LIBRARY_PATH` despite `sudo`, `dtruss`, etc.. trying to strip it out
    script = joinpath(dir, "script")
    open(script, "w") do io
        println(io, """
        #!$(bash)        
        DYLD_LIBRARY_PATH=$(FFMPEG_jll.LIBPATH[]) $(FFMPEG_jll.ffmpeg().exec[1]) -version
        """)
    end
    chmod(script, 0o755)

    # Run `dtruss` on our script, asking it to follow child processes
    run(pipeline(`sudo dtruss -f $script`, stderr="output.log"))
    @info("$(length(readlines("output.log"))) lines of output in $(pwd())/output.log")
end

Note that this may be a lot of output, so you may need to gist it. As an example, here's what it looks like on my machine.

staticfloat avatar Apr 15 '21 18:04 staticfloat

Unfortunately, I cannot. I do not have sudo rights.

agerlach avatar Apr 16 '21 12:04 agerlach

Is this still an issue?

ViralBShah avatar Aug 22 '21 20:08 ViralBShah

It still has issues, but now with a different lib

./julia --startup-file=no
using FFMPEG; FFMPEG.exe("--version")
[ Info: Precompiling FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a]
dyld: Library not loaded: @rpath/libglib-2.0.0.dylib
  Referenced from: /Users/gerlacar/.julia/artifacts/d30bf8e9f9b903de5e42ffdad9e1118722c08cd8/bin/ffmpeg
  Reason: Incompatible library version: ffmpeg requires version 6801.0.0 or later, but libglib-2.0.0.dylib provides version 5307.0.0
ERROR: failed process: Process(`/Users/gerlacar/.julia/artifacts/d30bf8e9f9b903de5e42ffdad9e1118722c08cd8/bin/ffmpeg --version`, ProcessSignaled(6)) [0]
julia> versioninfo()
Julia Version 1.6.2
Commit 1b93d53fc4 (2021-07-14 15:36 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin18.7.0)
  CPU: Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
(FFMPEG) pkg> st
      Status `~/Documents/Julia/FFMPEG/Project.toml`
  [b22a6f82] FFMPEG_jll v4.4.0+0

agerlach avatar Aug 30 '21 13:08 agerlach

Resurrecting this since I seem to be having the same issue when I try to save a gif from Plots.jl on mac.

julia> FFMPEG.exe("-version")
dyld: Library not loaded: @rpath/libharfbuzz.0.dylib
  Referenced from: /Users/cbkeller/.julia/artifacts/d30bf8e9f9b903de5e42ffdad9e1118722c08cd8/bin/ffmpeg
  Reason: Incompatible library version: ffmpeg requires version 20801.0.0 or later, but libharfbuzz.0.dylib provides version 20705.0.0
ERROR: failed process: Process(`/Users/cbkeller/.julia/artifacts/d30bf8e9f9b903de5e42ffdad9e1118722c08cd8/bin/ffmpeg -version`, ProcessSignaled(6)) [0]

Stacktrace:
  [1] pipeline_error
    @ ./process.jl:531 [inlined]
  [2] run(::Cmd; wait::Bool)
    @ Base ./process.jl:446
  [3] run
    @ ./process.jl:444 [inlined]
  [4] (::FFMPEG.var"#4#6"{Cmd})(command_path::String)
    @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:112
  [5] (::JLLWrappers.var"#2#3"{FFMPEG.var"#4#6"{Cmd}, String})()
    @ JLLWrappers ~/.julia/packages/JLLWrappers/bkwIo/src/runtime.jl:49
  [6] withenv(::JLLWrappers.var"#2#3"{FFMPEG.var"#4#6"{Cmd}, String}, ::Pair{String, String}, ::Vararg{Pair{String, String}})
    @ Base ./env.jl:172
  [7] 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
  [8] #invokelatest#2
    @ ./essentials.jl:716 [inlined]
  [9] invokelatest
    @ ./essentials.jl:714 [inlined]
 [10] #ffmpeg#7
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7 [inlined]
 [11] ffmpeg
    @ ~/.julia/packages/JLLWrappers/bkwIo/src/products/executable_generators.jl:7 [inlined]
 [12] #exe#2
    @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:111 [inlined]
 [13] #exe#1
    @ ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:64 [inlined]
 [14] exe(args::String)
    @ FFMPEG ~/.julia/packages/FFMPEG/OUpap/src/FFMPEG.jl:64
 [15] top-level scope
    @ none:1

brenhinkeller avatar Nov 12 '21 19:11 brenhinkeller

In the same session of julia AFTER you get that error, what's the output of

using Libdl
filter(l -> contains(lib, "libharfbuzz"), dllist())

giordano avatar Nov 12 '21 19:11 giordano

Here's the output from @staticfloat's script on my machine as a gist: output.log

(minus the codesign --remove-signature line since I'm on macos 10.12 which doesn't seem to have that exact option, but is old enough that I can still just entirely disable SIP with csrutil disable :)

brenhinkeller avatar Nov 12 '21 19:11 brenhinkeller

Mosè -- here's what I get for that one-liner:

julia> filter(lib -> contains(lib, "libharfbuzz"), dllist())
3-element Vector{String}:
 "/Users/cbkeller/.julia/artifact" ⋯ 35 bytes ⋯ "2080523/lib/libharfbuzz.0.dylib"
 "/Users/cbkeller/.julia/artifact" ⋯ 43 bytes ⋯ "lib/libharfbuzz-gobject.0.dylib"
 "/Users/cbkeller/.julia/artifact" ⋯ 42 bytes ⋯ "/lib/libharfbuzz-subset.0.dylib"

brenhinkeller avatar Nov 12 '21 19:11 brenhinkeller

Can you please show the packages in the environment? ]st -m

giordano avatar Nov 12 '21 19:11 giordano

Quite a bit:

(@v1.7) pkg> st -m
      Status `~/.julia/environments/v1.7/Manifest.toml`
  [621f4979] AbstractFFTs v1.0.1
  [1520ce14] AbstractTrees v0.3.4
  [79e6a3ab] Adapt v3.3.1
  [27a7e980] Animations v0.4.1
  [4fba245c] ArrayInterface v3.1.34
  [bf4720bc] AssetRegistry v0.1.0
  [c52e3926] Atom v0.12.35
  [67c07d97] Automa v0.8.2
  [13072b0f] AxisAlgorithms v1.0.1
  [6e4b80f9] BenchmarkTools v1.2.0
  [62783981] BitTwiddlingConvenienceFunctions v0.1.1
  [a74b3585] Blosc v0.7.1
  [fa961155] CEnum v0.4.1
  [2a0fbf3d] CPUSummary v0.1.6
  [00ebfdb7] CSTParser v2.5.0
  [159f3aea] Cairo v1.0.5
  [13f3f980] CairoMakie v0.6.6
  [49dc2e85] Calculus v0.5.1
  [082447d4] ChainRules v1.12.1
  [d360d2e6] ChainRulesCore v1.11.1
  [68885b1f] Chron v0.2.1
  [53a63b46] CodeTools v0.7.1
  [da1fd8a2] CodeTracking v1.0.6
  [a2cac450] ColorBrewer v0.4.0
  [35d6a980] ColorSchemes v3.15.0
  [3da002f7] ColorTypes v0.11.0
  [c3611d14] ColorVectorSpace v0.9.7
  [5ae59095] Colors v0.12.8
  [a80b9123] CommonMark v0.8.3
  [bbf7d656] CommonSubexpressions v0.3.0
  [34da2185] Compat v3.40.0
  [d38c429a] Contour v0.5.7
  [a8cc5b0e] Crayons v4.0.4
  [717857b8] DSP v0.7.3
  [9a962f9c] DataAPI v1.9.0
  [864edb3b] DataStructures v0.18.10
  [e2d170a0] DataValueInterfaces v1.0.0
  [163ba53b] DiffResults v1.0.3
  [b552c78f] DiffRules v1.4.0
  [b4f34e82] Distances v0.10.6
  [31c24e10] Distributions v0.25.23
  [33d173f1] DocSeeker v0.4.3
  [ffbed154] DocStringExtensions v0.8.6
  [e30172f5] Documenter v0.26.3
  [da5c29d0] EllipsisNotation v1.1.1
  [e2ba6199] ExprTools v0.1.6
  [c87230d0] FFMPEG v0.4.1
  [7a1cc6ca] FFTW v1.4.5
  [5789e2e9] FileIO v1.11.2
  [1a297f60] FillArrays v0.12.7
  [6a86dc24] FiniteDiff v2.8.1
  [53c48c17] FixedPointNumbers v0.8.4
  [08572546] FlameGraphs v0.2.6
  [59287772] Formatting v0.4.2
  [f6369f11] ForwardDiff v0.10.21
  [b38be410] FreeType v4.0.0
  [663a7486] FreeTypeAbstraction v0.9.2
  [de31a74c] FunctionalCollections v0.5.0
  [fb4132e2] FuzzyCompletions v0.4.3
  [f7f18e0c] GLFW v3.4.1
  [e9467ef8] GLMakie v0.4.7
  [28b8d3ca] GR v0.57.5
  [5c1252a2] GeometryBasics v0.4.1
  [a2bd30eb] Graphics v1.1.1
  [3955a311] GridLayoutBase v0.6.1
  [42e2da0e] Grisu v1.0.2
  [f67ccb44] HDF5 v0.15.7
  [cd3eb016] HTTP v0.9.16
  [9fb69e20] Hiccup v0.2.2
  [3e5b6fbb] HostCPUFeatures v0.1.5
  [0e44f5e4] Hwloc v2.0.0
  [b5f81e59] IOCapture v0.1.1
  [7869d1d1] IRTools v0.4.3
  [615f187c] IfElse v0.1.1
  [a09fc81d] ImageCore v0.9.3
  [82e4d734] ImageIO v0.5.9
  [9b13fd28] IndirectArrays v0.5.1
  [d25df0c9] Inflate v0.1.2
  [83e8ac13] IniFile v0.5.0
  [842dd82b] InlineStrings v1.0.1
  [a98d9a8b] Interpolations v0.13.4
  [8197267c] IntervalSets v0.5.3
  [d8418881] Intervals v1.5.0
  [3587e190] InverseFunctions v0.1.1
  [92d709cd] IrrationalConstants v0.1.1
  [f1662d9f] Isoband v0.1.1
  [c8e1da08] IterTools v1.3.0
  [82899510] IteratorInterfaceExtensions v1.0.0
  [692b3bcd] JLLWrappers v1.3.0
  [682c06a0] JSON v0.21.2
  [98e50ef6] JuliaFormatter v0.13.7
  [aa1ae85d] JuliaInterpreter v0.8.21
  [e5e0dc1b] Juno v0.8.4
  [5ab0869b] KernelDensity v0.6.3
  [7c4cb9fa] LNR v0.2.1
  [b964fa9f] LaTeXStrings v1.3.0
  [23fbe1c1] Latexify v0.15.9
  [50d2b5c4] Lazy v0.15.1
  [1d6d02ad] LeftChildRightSiblingTrees v0.1.2
  [2ab3a3ac] LogExpFunctions v0.3.4
  [bdcacae8] LoopVectorization v0.12.65
  [2fda8390] LsqFit v0.12.1
  [1914dd2f] MacroTools v0.5.9
  [ee78f7c6] Makie v0.15.3
  [20f20a25] MakieCore v0.1.3
  [d125e4d3] ManualMemory v0.1.6
  [dbb5928d] MappedArrays v0.4.1
  [7eb4fadd] Match v1.1.0
  [0a4f8689] MathTeXEngine v0.2.1
  [739be429] MbedTLS v1.0.3
  [eff96d63] Measurements v2.6.0
  [442fdcdd] Measures v0.3.1
  [e89f7d12] Media v0.5.0
  [7269a6da] MeshIO v0.4.9
  [e1d29d7a] Missings v1.0.2
  [78c3b35d] Mocking v0.7.3
  [66fc600b] ModernGL v1.1.3
  [e94cdb99] MosaicViews v0.3.3
  [ffc61752] Mustache v1.0.10
  [d8a4904e] MutableArithmetics v0.2.22
  [d41bc354] NLSolversBase v7.8.2
  [77ba4419] NaNMath v0.3.5
  [b946abbf] NaNStatistics v0.5.4
  [f09324ee] Netpbm v1.0.2
  [510215fc] Observables v0.4.0
  [6fd5a793] Octavian v0.3.1
  [6fe1bfb0] OffsetArrays v1.10.7
  [52e1d378] OpenEXR v0.3.2
  [87e2bd06] OptimBase v2.0.2
  [bac558e1] OrderedCollections v1.4.1
  [90014a1f] PDMats v0.11.2
  [f57f5aa1] PNGFiles v0.3.11
  [19eb6ba3] Packing v0.4.2
  [5432bcbf] PaddedViews v0.5.10
  [d96e819e] Parameters v0.12.3
  [69de0a69] Parsers v2.1.2
  [fa939f87] Pidfile v1.2.0
  [14b8a8f1] PkgTemplates v0.7.23
  [eebad327] PkgVersion v0.1.1
  [ccf2f8ad] PlotThemes v2.0.1
  [995b91a9] PlotUtils v1.0.15
  [91a5bcdd] Plots v1.22.5
  [f517fe37] Polyester v0.3.9
  [647866c9] PolygonOps v0.1.2
  [f27b6e38] Polynomials v2.0.17
  [21216c6a] Preferences v1.2.2
  [92933f4c] ProgressMeter v1.7.1
  [1fd47b50] QuadGK v2.4.2
  [c84ed2f1] Ratios v0.4.2
  [c1ae055f] RealDot v0.1.0
  [3cdcf5f2] RecipesBase v1.1.2
  [01d81517] RecipesPipeline v0.4.1
  [189a3867] Reexport v1.2.2
  [05181044] RelocatableFolders v0.1.2
  [ae029012] Requires v1.1.3
  [79098fc4] Rmath v0.7.0
  [fdea26ae] SIMD v3.3.1
  [476501e8] SLEEFPirates v0.6.28
  [7b38b023] ScanByte v0.3.0
  [6c6a2e73] Scratch v1.1.0
  [65257c39] ShaderAbstractions v0.2.8
  [992d4aef] Showoff v1.0.3
  [73760f76] SignedDistanceFields v0.4.0
  [a2af1166] SortingAlgorithms v1.0.1
  [276daf66] SpecialFunctions v1.8.1
  [cae243ae] StackViews v0.1.1
  [df4de05a] StatGeochem v0.2.1
  [61e559cd] StatGeochemBase v0.2.2
  [aedffcd0] Static v0.3.3
  [90137ffa] StaticArrays v1.2.13
  [82ae8749] StatsAPI v1.0.0
  [2913bbd2] StatsBase v0.33.12
  [4c63d2b9] StatsFuns v0.9.12
  [d1fa6d79] StrideArrays v0.1.13
  [7792a7ef] StrideArraysCore v0.1.18
  [88034a9c] StringDistances v0.10.0
  [09ab397b] StructArrays v0.6.3
  [3783bdb8] TableTraits v1.0.1
  [bd369af6] Tables v1.6.0
  [62fd8b95] TensorCore v0.1.1
  [8290d209] ThreadingUtilities v0.4.6
  [731e570b] TiffImages v0.5.1
  [f269a46b] TimeZones v1.6.2
  [0796e94c] Tokenize v0.5.21
  [3bb67fe8] TranscodingStreams v0.9.6
  [a2a6695c] TreeViews v0.3.0
  [30578b45] URIParser v0.4.1
  [5c2747f8] URIs v1.3.0
  [3a884ed6] UnPack v1.0.2
  [1cfade01] UnicodeFun v0.4.1
  [3d5dd08c] VectorizationBase v0.20.38
  [33b4df10] VectorizedRNG v0.2.13
  [3b853605] VectorizedStatistics v0.2.0
  [0f1e0344] WebIO v0.8.16
  [104b5d7c] WebSockets v1.5.9
  [cc8bc4a8] Widgets v0.6.4
  [efce3f68] WoodburyMatrices v0.5.5
  [e88e6eb3] Zygote v0.6.29
  [700de1a5] ZygoteRules v0.2.2
  [0b7ba130] Blosc_jll v1.21.0+0
  [6e34b625] Bzip2_jll v1.0.8+0
  [83423d85] Cairo_jll v1.16.1+0
  [5ae413db] EarCut_jll v2.2.3+0
  [2e619515] Expat_jll v2.2.10+0
  [b22a6f82] FFMPEG_jll v4.4.0+0
  [f5851436] FFTW_jll v3.3.10+0
  [a3f928ae] Fontconfig_jll v2.13.93+0
  [d7e528f0] FreeType2_jll v2.10.4+0
  [559328eb] FriBidi_jll v1.0.10+0
  [0656b61e] GLFW_jll v3.3.5+1
  [d2c73de3] GR_jll v0.62.0+0
  [78b55507] Gettext_jll v0.21.0+0
  [7746bdde] Glib_jll v2.68.3+0
  [3b182d85] Graphite2_jll v1.3.14+0
  [0234f1f7] HDF5_jll v1.12.0+1
  [2e76f6c2] HarfBuzz_jll v2.8.1+0
  [e33a78d0] Hwloc_jll v2.5.0+0
  [905a6f67] Imath_jll v3.1.2+0
  [1d5cc7b8] IntelOpenMP_jll v2018.0.3+2
  [aacddb02] JpegTurbo_jll v2.1.0+0
  [c1c5ebd0] LAME_jll v3.100.1+0
  [dd4b983a] LZO_jll v2.10.1+0
  [e9f186c6] Libffi_jll v3.2.2+0
  [d4300ac3] Libgcrypt_jll v1.8.7+0
  [7e76a0d4] Libglvnd_jll v1.3.0+3
  [7add5ba3] Libgpg_error_jll v1.42.0+0
  [94ce4f54] Libiconv_jll v1.16.1+1
  [4b2f31a3] Libmount_jll v2.35.0+0
  [89763e89] Libtiff_jll v4.3.0+0
  [38a345b3] Libuuid_jll v2.36.0+0
  [5ced341a] Lz4_jll v1.9.3+0
  [856f044c] MKL_jll v2021.1.1+2
  [e7412a2a] Ogg_jll v1.3.5+0
  [18a262bb] OpenEXR_jll v3.1.1+0
  [458c3c95] OpenSSL_jll v1.1.10+0
  [efe28fd5] OpenSpecFun_jll v0.5.5+0
  [91d4177d] Opus_jll v1.3.2+0
  [2f80f16e] PCRE_jll v8.44.0+0
  [36c8627f] Pango_jll v1.47.0+0
  [30392449] Pixman_jll v0.40.1+0
  [ea2cea3b] Qt5Base_jll v5.15.3+0
  [f50d1b31] Rmath_jll v0.3.0+0
  [a2964d1f] Wayland_jll v1.19.0+0
  [2381bf8a] Wayland_protocols_jll v1.18.0+4
  [02c8fc9c] XML2_jll v2.9.12+0
  [aed1982a] XSLT_jll v1.1.34+0
  [4f6342f7] Xorg_libX11_jll v1.6.9+4
  [0c0b7dd1] Xorg_libXau_jll v1.0.9+4
  [935fb764] Xorg_libXcursor_jll v1.2.0+4
  [a3789734] Xorg_libXdmcp_jll v1.1.3+4
  [1082639a] Xorg_libXext_jll v1.3.4+4
  [d091e8ba] Xorg_libXfixes_jll v5.0.3+4
  [a51aa0fd] Xorg_libXi_jll v1.7.10+4
  [d1454406] Xorg_libXinerama_jll v1.1.4+4
  [ec84b674] Xorg_libXrandr_jll v1.5.2+4
  [ea2f1a96] Xorg_libXrender_jll v0.9.10+4
  [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
  [c7cfdc94] Xorg_libxcb_jll v1.13.0+3
  [cc61e674] Xorg_libxkbfile_jll v1.1.0+4
  [12413925] Xorg_xcb_util_image_jll v0.4.0+1
  [2def613f] Xorg_xcb_util_jll v0.4.0+1
  [975044d2] Xorg_xcb_util_keysyms_jll v0.4.0+1
  [0d47668e] Xorg_xcb_util_renderutil_jll v0.3.9+1
  [c22f9ab0] Xorg_xcb_util_wm_jll v0.4.1+1
  [35661453] Xorg_xkbcomp_jll v1.4.2+4
  [33bec58e] Xorg_xkeyboard_config_jll v2.27.0+4
  [c5fb5394] Xorg_xtrans_jll v1.4.0+3
  [3161d3a3] Zstd_jll v1.5.0+0
  [9a68df92] isoband_jll v0.2.2+0
  [0ac62f75] libass_jll v0.15.1+0
  [f638f0a6] libfdk_aac_jll v2.0.2+0
  [b53b4c65] libpng_jll v1.6.38+0
  [f27f6e37] libvorbis_jll v1.3.7+0
  [1270edf5] x264_jll v2021.5.5+0
  [dfaa095f] x265_jll v3.5.0+0
  [d8fb68d0] xkbcommon_jll v0.9.1+5
  [0dad84c5] ArgTools
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [f43a241f] Downloads
  [7b1f6079] FileWatching
  [b77e0a4c] InteractiveUtils
  [4af54fe1] LazyArtifacts
  [b27032c2] LibCURL
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [ca575930] NetworkOptions
  [44cfe95a] Pkg
  [de0858da] Printf
  [9abbd945] Profile
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [4607b0f0] SuiteSparse
  [fa267f1f] TOML
  [a4e569a6] Tar
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll
  [deac9b47] LibCURL_jll
  [29816b5a] LibSSH2_jll
  [c8ffd9c3] MbedTLS_jll
  [14a3606d] MozillaCACerts_jll
  [4536629a] OpenBLAS_jll
  [05823500] OpenLibm_jll
  [83775a58] Zlib_jll
  [8e850b90] libblastrampoline_jll
  [8e850ede] nghttp2_jll
  [3f19e933] p7zip_jll

brenhinkeller avatar Nov 12 '21 19:11 brenhinkeller

Though I can reproduce the original error in a clean temporary environment

(@v1.7) pkg> activate temp
  Activating new project at `~/temp`

(temp) pkg> add FFMPEG
...
julia> using FFMPEG

julia> FFMPEG.exe("--version")
dyld: Library not loaded: @rpath/libharfbuzz.0.dylib
  Referenced from: /Users/cbkeller/.julia/artifacts/d30bf8e9f9b903de5e42ffdad9e1118722c08cd8/bin/ffmpeg
  Reason: Incompatible library version: ffmpeg requires version 20801.0.0 or later, but libharfbuzz.0.dylib provides version 20705.0.0
ERROR: failed process: Process(`/Users/cbkeller/.julia/artifacts/d30bf8e9f9b903de5e42ffdad9e1118722c08cd8/bin/ffmpeg --version`, ProcessSignaled(6)) [0]
...
etc.

in which case st -m is

(temp) pkg> st -m
      Status `~/temp/Manifest.toml`
  [c87230d0] FFMPEG v0.4.1
  [692b3bcd] JLLWrappers v1.3.0
  [21216c6a] Preferences v1.2.2
  [6e34b625] Bzip2_jll v1.0.8+0
  [83423d85] Cairo_jll v1.16.1+0
  [2e619515] Expat_jll v2.2.10+0
  [b22a6f82] FFMPEG_jll v4.4.0+0
  [a3f928ae] Fontconfig_jll v2.13.93+0
  [d7e528f0] FreeType2_jll v2.10.4+0
  [559328eb] FriBidi_jll v1.0.10+0
  [78b55507] Gettext_jll v0.21.0+0
  [7746bdde] Glib_jll v2.68.3+0
  [3b182d85] Graphite2_jll v1.3.14+0
  [2e76f6c2] HarfBuzz_jll v2.8.1+0
  [c1c5ebd0] LAME_jll v3.100.1+0
  [dd4b983a] LZO_jll v2.10.1+0
  [e9f186c6] Libffi_jll v3.2.2+0
  [d4300ac3] Libgcrypt_jll v1.8.7+0
  [7add5ba3] Libgpg_error_jll v1.42.0+0
  [94ce4f54] Libiconv_jll v1.16.1+1
  [4b2f31a3] Libmount_jll v2.35.0+0
  [38a345b3] Libuuid_jll v2.36.0+0
  [e7412a2a] Ogg_jll v1.3.5+0
  [458c3c95] OpenSSL_jll v1.1.10+0
  [91d4177d] Opus_jll v1.3.2+0
  [2f80f16e] PCRE_jll v8.44.0+0
  [30392449] Pixman_jll v0.40.1+0
  [02c8fc9c] XML2_jll v2.9.12+0
  [aed1982a] XSLT_jll v1.1.34+0
  [4f6342f7] Xorg_libX11_jll v1.6.9+4
  [0c0b7dd1] Xorg_libXau_jll v1.0.9+4
  [a3789734] Xorg_libXdmcp_jll v1.1.3+4
  [1082639a] Xorg_libXext_jll v1.3.4+4
  [ea2f1a96] Xorg_libXrender_jll v0.9.10+4
  [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
  [c7cfdc94] Xorg_libxcb_jll v1.13.0+3
  [c5fb5394] Xorg_xtrans_jll v1.4.0+3
  [0ac62f75] libass_jll v0.15.1+0
  [f638f0a6] libfdk_aac_jll v2.0.2+0
  [b53b4c65] libpng_jll v1.6.38+0
  [f27f6e37] libvorbis_jll v1.3.7+0
  [1270edf5] x264_jll v2021.5.5+0
  [dfaa095f] x265_jll v3.5.0+0
  [0dad84c5] ArgTools
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [f43a241f] Downloads
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL
  [76f85450] LibGit2
  [8f399da3] Libdl
  [56ddb016] Logging
  [d6f4376e] Markdown
  [ca575930] NetworkOptions
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [fa267f1f] TOML
  [a4e569a6] Tar
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll
  [deac9b47] LibCURL_jll
  [29816b5a] LibSSH2_jll
  [c8ffd9c3] MbedTLS_jll
  [14a3606d] MozillaCACerts_jll
  [83775a58] Zlib_jll
  [8e850ede] nghttp2_jll
  [3f19e933] p7zip_jll

brenhinkeller avatar Nov 12 '21 19:11 brenhinkeller

I can't reproduce. Intel:

julia> using FFMPEG

julia> FFMPEG.exe(`-version`);
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with clang version 11.0.1 (/home/ec2-user/.julia/dev/BinaryBuilderBase/deps/downloads/llvm-project.git 43ff75f2c3feef64f9d73328230d34dac8832a91)
configuration: --enable-cross-compile --cross-prefix=/opt/x86_64-apple-darwin14/bin/x86_64-apple-darwin14- --arch=x86_64 --target-os=darwin --cc=cc --cxx=c++ --dep-cc=cc --ar=ar --nm=nm --sysinclude=/workspace/destdir/include --pkg-config=/usr/bin/pkg-config --pkg-config-flags=--static --prefix=/workspace/destdir --sysroot=/opt/x86_64-apple-darwin14/x86_64-apple-darwin14/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 --objcc='cc -x objective-c'
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

julia> versioninfo()
Julia Version 1.6.1
Commit 6aaedecc44 (2021-04-23 05:59 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin18.7.0)
  CPU: Apple M1
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, westmere)

(jl_2aUMYa) pkg> st -m
      Status `/private/var/folders/v2/hmy3kzgj4tb3xsy8qkltxd0r0000gn/T/jl_2aUMYa/Manifest.toml`
  [c87230d0] FFMPEG v0.4.1
  [692b3bcd] JLLWrappers v1.3.0
  [21216c6a] Preferences v1.2.2
  [6e34b625] Bzip2_jll v1.0.8+0
  [83423d85] Cairo_jll v1.16.1+0
  [2e619515] Expat_jll v2.2.10+0
  [b22a6f82] FFMPEG_jll v4.4.0+0
  [a3f928ae] Fontconfig_jll v2.13.93+0
  [d7e528f0] FreeType2_jll v2.10.4+0
  [559328eb] FriBidi_jll v1.0.10+0
  [78b55507] Gettext_jll v0.21.0+0
  [7746bdde] Glib_jll v2.68.3+0
  [3b182d85] Graphite2_jll v1.3.14+0
  [2e76f6c2] HarfBuzz_jll v2.8.1+0
  [c1c5ebd0] LAME_jll v3.100.1+0
  [dd4b983a] LZO_jll v2.10.1+0
  [e9f186c6] Libffi_jll v3.2.2+0
  [d4300ac3] Libgcrypt_jll v1.8.7+0
  [7add5ba3] Libgpg_error_jll v1.42.0+0
  [94ce4f54] Libiconv_jll v1.16.1+1
  [4b2f31a3] Libmount_jll v2.35.0+0
  [38a345b3] Libuuid_jll v2.36.0+0
  [e7412a2a] Ogg_jll v1.3.5+0
  [458c3c95] OpenSSL_jll v1.1.10+0
  [91d4177d] Opus_jll v1.3.2+0
  [2f80f16e] PCRE_jll v8.44.0+0
  [30392449] Pixman_jll v0.40.1+0
  [02c8fc9c] XML2_jll v2.9.12+0
  [aed1982a] XSLT_jll v1.1.34+0
  [4f6342f7] Xorg_libX11_jll v1.6.9+4
  [0c0b7dd1] Xorg_libXau_jll v1.0.9+4
  [a3789734] Xorg_libXdmcp_jll v1.1.3+4
  [1082639a] Xorg_libXext_jll v1.3.4+4
  [ea2f1a96] Xorg_libXrender_jll v0.9.10+4
  [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
  [c7cfdc94] Xorg_libxcb_jll v1.13.0+3
  [c5fb5394] Xorg_xtrans_jll v1.4.0+3
  [0ac62f75] libass_jll v0.15.1+0
  [f638f0a6] libfdk_aac_jll v2.0.2+0
  [b53b4c65] libpng_jll v1.6.38+0
  [f27f6e37] libvorbis_jll v1.3.7+0
  [1270edf5] x264_jll v2021.5.5+0
  [dfaa095f] x265_jll v3.5.0+0
  [0dad84c5] ArgTools
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [f43a241f] Downloads
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL
  [76f85450] LibGit2
  [8f399da3] Libdl
  [56ddb016] Logging
  [d6f4376e] Markdown
  [ca575930] NetworkOptions
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [fa267f1f] TOML
  [a4e569a6] Tar
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll
  [deac9b47] LibCURL_jll
  [29816b5a] LibSSH2_jll
  [c8ffd9c3] MbedTLS_jll
  [14a3606d] MozillaCACerts_jll
  [83775a58] Zlib_jll
  [8e850ede] nghttp2_jll
  [3f19e933] p7zip_jll

M1:

julia> using FFMPEG

julia> FFMPEG.exe(`-version`);
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with clang version 11.0.1 (/home/ec2-user/.julia/dev/BinaryBuilderBase/deps/downloads/llvm-project.git 43ff75f2c3feef64f9d73328230d34dac8832a91)
configuration: --enable-cross-compile --cross-prefix=/opt/aarch64-apple-darwin20/bin/aarch64-apple-darwin20- --arch=aarch64 --target-os=darwin --cc=cc --cxx=c++ --dep-cc=cc --ar=ar --nm=nm --sysinclude=/workspace/destdir/include --pkg-config=/usr/bin/pkg-config --pkg-config-flags=--static --prefix=/workspace/destdir --sysroot=/opt/aarch64-apple-darwin20/aarch64-apple-darwin20/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 --objcc='cc -x objective-c'
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

julia> versioninfo()
Julia Version 1.8.0-DEV.897
Commit 4c6696ed4a (2021-11-06 08:08 UTC)
Platform Info:
  OS: macOS (arm64-apple-darwin20.6.0)
  CPU: Apple M1
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, cyclone)

(tmp) pkg> st -m
Status `/private/tmp/Manifest.toml`
  [c87230d0] FFMPEG v0.4.1
  [692b3bcd] JLLWrappers v1.3.0
  [21216c6a] Preferences v1.2.2
  [6e34b625] Bzip2_jll v1.0.8+0
  [83423d85] Cairo_jll v1.16.1+0
  [2e619515] Expat_jll v2.2.10+0
  [b22a6f82] FFMPEG_jll v4.4.0+0
  [a3f928ae] Fontconfig_jll v2.13.93+0
  [d7e528f0] FreeType2_jll v2.10.4+0
  [559328eb] FriBidi_jll v1.0.10+0
  [78b55507] Gettext_jll v0.21.0+0
  [7746bdde] Glib_jll v2.68.3+0
  [3b182d85] Graphite2_jll v1.3.14+0
  [2e76f6c2] HarfBuzz_jll v2.8.1+0
  [c1c5ebd0] LAME_jll v3.100.1+0
  [dd4b983a] LZO_jll v2.10.1+0
  [e9f186c6] Libffi_jll v3.2.2+0
  [d4300ac3] Libgcrypt_jll v1.8.7+0
  [7add5ba3] Libgpg_error_jll v1.42.0+0
  [94ce4f54] Libiconv_jll v1.16.1+1
  [4b2f31a3] Libmount_jll v2.35.0+0
  [38a345b3] Libuuid_jll v2.36.0+0
  [e7412a2a] Ogg_jll v1.3.5+0
  [458c3c95] OpenSSL_jll v1.1.10+0
  [91d4177d] Opus_jll v1.3.2+0
  [2f80f16e] PCRE_jll v8.44.0+0
  [30392449] Pixman_jll v0.40.1+0
  [02c8fc9c] XML2_jll v2.9.12+0
  [aed1982a] XSLT_jll v1.1.34+0
  [4f6342f7] Xorg_libX11_jll v1.6.9+4
  [0c0b7dd1] Xorg_libXau_jll v1.0.9+4
  [a3789734] Xorg_libXdmcp_jll v1.1.3+4
  [1082639a] Xorg_libXext_jll v1.3.4+4
  [ea2f1a96] Xorg_libXrender_jll v0.9.10+4
  [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
  [c7cfdc94] Xorg_libxcb_jll v1.13.0+3
  [c5fb5394] Xorg_xtrans_jll v1.4.0+3
  [0ac62f75] libass_jll v0.15.1+0
  [f638f0a6] libfdk_aac_jll v2.0.2+0
  [b53b4c65] libpng_jll v1.6.38+0
  [f27f6e37] libvorbis_jll v1.3.7+0
  [1270edf5] x264_jll v2021.5.5+0
  [dfaa095f] x265_jll v3.5.0+0
  [0dad84c5] ArgTools v1.1.1
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [f43a241f] Downloads v1.5.1
  [7b1f6079] FileWatching
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL v0.6.3
  [76f85450] LibGit2
  [8f399da3] Libdl
  [56ddb016] Logging
  [d6f4376e] Markdown
  [ca575930] NetworkOptions v1.2.0
  [44cfe95a] Pkg v1.8.0
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [fa267f1f] TOML v1.0.0
  [a4e569a6] Tar v1.10.0
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll v0.5.0+0
  [deac9b47] LibCURL_jll v7.73.0+4
  [29816b5a] LibSSH2_jll v1.9.1+2
  [c8ffd9c3] MbedTLS_jll v2.24.0+2
  [14a3606d] MozillaCACerts_jll v2020.7.22
  [83775a58] Zlib_jll v1.2.12+1
  [8e850ede] nghttp2_jll v1.41.0+1
  [3f19e933] p7zip_jll v16.2.1+1

The error you report is incredibly weird, because you have already the latest HarfBuzz we provide, which for me does have version 20801.0.0, as expected:

shell> otool -L $(HarfBuzz_jll.libharfbuzz_path)
/Users/mose/.julia/artifacts/68f70f7c75d00042ac4e84d5c08dd63312080523/lib/libharfbuzz.0.dylib:
	@rpath/libharfbuzz.0.dylib (compatibility version 20801.0.0, current version 20801.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
	@rpath/libfreetype.6.dylib (compatibility version 24.0.0, current version 24.4.0)
	@rpath/libgraphite2.3.dylib (compatibility version 3.0.0, current version 3.2.1)
	@rpath/libglib-2.0.0.dylib (compatibility version 6801.0.0, current version 6801.1.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1348.28.0)
	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1070.13.0)
	/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText (compatibility version 1.0.0, current version 1.0.0)

What do you get?

giordano avatar Nov 12 '21 22:11 giordano

Here's what I get for that:

shell> otool -L $(HarfBuzz_jll.libharfbuzz_path)
/Users/cbkeller/.julia/artifacts/68f70f7c75d00042ac4e84d5c08dd63312080523/lib/libharfbuzz.0.dylib:
    @rpath/libharfbuzz.0.dylib (compatibility version 20801.0.0, current version 20801.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
    @rpath/libfreetype.6.dylib (compatibility version 24.0.0, current version 24.4.0)
    @rpath/libgraphite2.3.dylib (compatibility version 3.0.0, current version 3.2.1)
    @rpath/libglib-2.0.0.dylib (compatibility version 6801.0.0, current version 6801.1.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1348.28.0)
    /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1070.13.0)
    /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText (compatibility version 1.0.0, current version 1.0.0)

which looks like the same versions if I'm seeing that right

I guess I could nuke .julia and try with a clean start.

For reference I'm on

julia> versioninfo()
Julia Version 1.7.0-rc2
Commit f23fc0d27a (2021-10-20 12:45 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.5.0)
  CPU: Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, haswell)
Environment:
  JULIA_NUM_THREADS = 4
  JULIA_MPI_BINARY = system

brenhinkeller avatar Nov 12 '21 22:11 brenhinkeller

Hmm, same results after nuking .julia for a clean start. I guess I'm on a pretty old OS though in case that's relevant.

brenhinkeller avatar Nov 13 '21 18:11 brenhinkeller

There error you get doesn't make any sense:

  Reason: Incompatible library version: ffmpeg requires version 20801.0.0 or later, but libharfbuzz.0.dylib provides version 20705.0.0

but then

shell> otool -L $(HarfBuzz_jll.libharfbuzz_path)
/Users/cbkeller/.julia/artifacts/68f70f7c75d00042ac4e84d5c08dd63312080523/lib/libharfbuzz.0.dylib:
    @rpath/libharfbuzz.0.dylib (compatibility version 20801.0.0, current version 20801.0.0)
    [...]

giordano avatar Nov 13 '21 18:11 giordano

Yeah, I know. Not sure where to go next for trying to debug though.

brenhinkeller avatar Nov 13 '21 18:11 brenhinkeller

Wait, you're running the FFMPEG executable, that doesn't look at the libraries loaded by Julia, which at least makes the error less stupid. What's the output of

using FFMPEG_jll
ffmpeg() do _
    ENV[FFMPEG_jll.JLLWrappers.LIBPATH_env]
end

giordano avatar Nov 13 '21 18:11 giordano

I get

julia> ffmpeg() do _
           ENV[FFMPEG_jll.JLLWrappers.LIBPATH_env]
       end
"/Users/cbkeller/.julia/artifacts/979f68ce65b087a39297a97d21aec04b1d4e9d24/lib:/Applications/Julia-1.7.app/Contents/Resources/julia/lib/julia:/Users/cbkeller/.julia/artifacts/efdd3b2e618e4acb959083d2af453a91551b04e9/lib:/Users/cbkeller/.julia/artifacts/946f590bc9f9b0b0b7978a8481f067c6e611c522/lib:/Users/c" ⋯ 1692 bytes ⋯ "e4f4495e3c7/lib:/Users/cbkeller/.julia/artifacts/a50227ae6f693d36e10f6515b7b5d601791f2d20/lib:/Users/cbkeller/.julia/artifacts/d30bf8e9f9b903de5e42ffdad9e1118722c08cd8/lib:/Applications/Julia-1.7.app/Contents/Resources/julia/bin/../lib/julia:/Applications/Julia-1.7.app/Contents/Resources/julia/bin/../lib"

brenhinkeller avatar Nov 13 '21 18:11 brenhinkeller

looks like the output string is getting truncated by the default display, so here's the full thing (from saving the result string to a variable and then printing it)

/Users/cbkeller/.julia/artifacts/979f68ce65b087a39297a97d21aec04b1d4e9d24/lib:/Applications/Julia-1.7.app/Contents/Resources/julia/lib/julia:/Users/cbkeller/.julia/artifacts/efdd3b2e618e4acb959083d2af453a91551b04e9/lib:/Users/cbkeller/.julia/artifacts/946f590bc9f9b0b0b7978a8481f067c6e611c522/lib:/Users/cbkeller/.julia/artifacts/571cdee3242d2dddfc82ce9b2b9a25ba523c78e9/lib:/Users/cbkeller/.julia/artifacts/8e8476452ea0e1216c95fbb186fb8c12d1cf5c27/lib:/Users/cbkeller/.julia/artifacts/177d0c3c85c9de270494ca5bb483d7a6d15b3ee8/lib:/Users/cbkeller/.julia/artifacts/397fee52d94fc3404c3e466a6a8277ad9fdde715/lib:/Users/cbkeller/.julia/artifacts/6cc472fe34dbba78d544b6ce97184589371a6665/lib:/Users/cbkeller/.julia/artifacts/716b0640f7ee0a3806b3da65d34a2eef9ea2f713/lib:/Users/cbkeller/.julia/artifacts/5d8d2f8a7579b33069ae2ae9079c4523d1947d13/lib:/Users/cbkeller/.julia/artifacts/9194d75745cbb36d5b00e2b1891b2ec6e8c1e2b5/lib:/Users/cbkeller/.julia/artifacts/d3cdfef027f1989b22b9b8b540872339aa1e2cbc/lib:/Users/cbkeller/.julia/artifacts/2cb0d96a63120d1a0868c905452895a59add9a0d/lib:/Users/cbkeller/.julia/artifacts/f9fc72c9167a476e5c5fec8942270c90e0ffc796/lib:/Users/cbkeller/.julia/artifacts/ed6b32736e29cb60fa5bf838e140f50a6f4e09e6/lib:/Users/cbkeller/.julia/artifacts/fb5ebcbea6d2f03cf79fe1bf6aa237f4929b1d2d/lib:/Users/cbkeller/.julia/artifacts/68f70f7c75d00042ac4e84d5c08dd63312080523/lib:/Users/cbkeller/.julia/artifacts/f9f9209aaba179c03a71fa49432487fbe41daac8/lib:/Users/cbkeller/.julia/artifacts/d4387ba5551f47f3733c2b041a7745c29b35c26e/lib:/Users/cbkeller/.julia/artifacts/fe0276d289339d47a28d300125365cc9bcd019b7/lib:/Users/cbkeller/.julia/artifacts/f356cb8a225f8562e4d62789a9efa010d153ed00/lib:/Users/cbkeller/.julia/artifacts/d1bb6c355786a6c7fa399909d4797ddb50dc8bef/lib:/Users/cbkeller/.julia/artifacts/966098580a6feebc43e729bf20dbb97848be4663/lib:/Users/cbkeller/.julia/artifacts/bbb69711f9eab313bab4f202da8fbae8c1914a96/lib:/Users/cbkeller/.julia/artifacts/5ebe398d0866c7cb913e36f6061f7e4f4495e3c7/lib:/Users/cbkeller/.julia/artifacts/a50227ae6f693d36e10f6515b7b5d601791f2d20/lib:/Users/cbkeller/.julia/artifacts/d30bf8e9f9b903de5e42ffdad9e1118722c08cd8/lib:/Applications/Julia-1.7.app/Contents/Resources/julia/bin/../lib/julia:/Applications/Julia-1.7.app/Contents/Resources/julia/bin/../lib

brenhinkeller avatar Nov 13 '21 18:11 brenhinkeller

I'm more and more confused. HarfBuzz is 68f70f7c75d00042ac4e84d5c08dd63312080523, here are the other directories that are before harfbuzz in the list:

/Users/cbkeller/.julia/artifacts/979f68ce65b087a39297a97d21aec04b1d4e9d24/lib # bzip2
/Applications/Julia-1.7.app/Contents/Resources/julia/lib/julia
/Users/cbkeller/.julia/artifacts/efdd3b2e618e4acb959083d2af453a91551b04e9/lib # Freetype2
/Users/cbkeller/.julia/artifacts/946f590bc9f9b0b0b7978a8481f067c6e611c522/lib # fribidi
/Users/cbkeller/.julia/artifacts/571cdee3242d2dddfc82ce9b2b9a25ba523c78e9/lib # libiconv
/Users/cbkeller/.julia/artifacts/8e8476452ea0e1216c95fbb186fb8c12d1cf5c27/lib # libffi
/Users/cbkeller/.julia/artifacts/177d0c3c85c9de270494ca5bb483d7a6d15b3ee8/lib # xml2
/Users/cbkeller/.julia/artifacts/397fee52d94fc3404c3e466a6a8277ad9fdde715/lib # gettext
/Users/cbkeller/.julia/artifacts/6cc472fe34dbba78d544b6ce97184589371a6665/lib # pcre
/Users/cbkeller/.julia/artifacts/716b0640f7ee0a3806b3da65d34a2eef9ea2f713/lib # glib
/Users/cbkeller/.julia/artifacts/5d8d2f8a7579b33069ae2ae9079c4523d1947d13/lib # pixman
/Users/cbkeller/.julia/artifacts/9194d75745cbb36d5b00e2b1891b2ec6e8c1e2b5/lib # libpng
/Users/cbkeller/.julia/artifacts/d3cdfef027f1989b22b9b8b540872339aa1e2cbc/lib # expat
/Users/cbkeller/.julia/artifacts/2cb0d96a63120d1a0868c905452895a59add9a0d/lib # fontconfig
/Users/cbkeller/.julia/artifacts/f9fc72c9167a476e5c5fec8942270c90e0ffc796/lib # lzo
/Users/cbkeller/.julia/artifacts/ed6b32736e29cb60fa5bf838e140f50a6f4e09e6/lib # cairo
/Users/cbkeller/.julia/artifacts/fb5ebcbea6d2f03cf79fe1bf6aa237f4929b1d2d/lib # graphite2

None of them contains libharfbuzz (as expected). I have little clue from where your libharfbuzz is being picked up, I also don't know what to suggest how to debug further, but my hunch is that you have some other harfbuzz in the system (homebrew?) that is being picked up. You should get rid of that one, or figure out why the dynamic loader likes it so much

giordano avatar Nov 13 '21 19:11 giordano

Ah, interesting! Ok, I'll see if there's one in my macports or something like that

brenhinkeller avatar Nov 13 '21 19:11 brenhinkeller

Yep, looks like that was the problem. I didn't realize libraries from outside Julia could interfere here, but that seems to be what was happening.

brenhinkeller avatar Nov 13 '21 22:11 brenhinkeller

I didn't realize libraries from outside Julia could interfere here, but that seems to be what was happening.

They shouldn't: we set DYLD_FALLBACK_LIBRARY_PATH exactly to avoid this issue. But for some reasons that I don't understand on your system that wasn't working. Do you set DYLD_FALLBACK_LIBRARY_PATH (or any other DYLD* vars) by any chance?

giordano avatar Nov 13 '21 22:11 giordano

Hmm, I've never done anything with DYLD_FALLBACK_LIBRARY_PATH, but I do have things in my terminal $LD_LIBRARY_PATH which I think gets read by Julia (IIRC, to let MPI.jl find my system MPI).

brenhinkeller avatar Nov 13 '21 23:11 brenhinkeller

On macOS? Is LD_LIBRARY_PATH used at all on that platform?

giordano avatar Nov 13 '21 23:11 giordano

Not by default I don't believe -- I think it's only set on my system because I had to figure out how to get MPI.jl to use a system-provided MPI in the same way that I need it to on clusters.

brenhinkeller avatar Nov 13 '21 23:11 brenhinkeller

At one point I think that must have been in the docs for using mpi.jl with system mpi, though looks like it's not the recommended way anymore.

brenhinkeller avatar Nov 13 '21 23:11 brenhinkeller

This works for me, on an M1 Mac:

julia> using FFMPEG

julia> FFMPEG.exe("-version")
ffmpeg version 4.4.2 Copyright (c) 2000-2021 the FFmpeg developers
built with clang version 13.0.1 (/home/mose/.julia/dev/BinaryBuilderBase/deps/downloads/clones/llvm-project.git-1df819a03ecf6890e3787b27bfd4f160aeeeeacd50a98d003be8b0893f11a9be 75e33f71c2dae584b13a7d1186ae0a038ba98838)
configuration: --enable-cross-compile --cross-prefix=/opt/aarch64-apple-darwin20/bin/aarch64-apple-darwin20- --arch=aarch64 --target-os=darwin --cc=cc --cxx=c++ --dep-cc=cc --ar=ar --nm=nm --sysinclude=/workspace/destdir/include --pkg-config=/usr/bin/pkg-config --pkg-config-flags=--static --prefix=/workspace/destdir --sysroot=/opt/aarch64-apple-darwin20/aarch64-apple-darwin20/sys-root --extra-libs=-lpthread --enable-gpl --enable-version3 --enable-nonfree --disable-static --enable-shared --enable-pic --disable-debug --disable-doc --enable-avresample --enable-libaom --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 --objcc='cc -x objective-c'
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(`/Users/mhorn/.julia/artifacts/bf37190b92ac2fc3dd5e7073ff7ec7bbfd10343f/bin/ffmpeg -version`, ProcessExited(0))

julia> versioninfo()
Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: macOS (arm64-apple-darwin22.4.0)
  CPU: 10 × Apple M1 Max
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, apple-m1)
  Threads: 1 on 8 virtual cores

fingolfin avatar Jun 30 '23 12:06 fingolfin

Please reopen if still an issue.

ViralBShah avatar Oct 03 '24 05:10 ViralBShah