最近更新到 Mavericks 10.9.5 后,我安装的 ffmpeg 出现了问题
错误:
dyld: Library not loaded: /usr/local/lib/libx264.142.dylib
Referenced from: /usr/local/bin/ffmpeg
Reason: image not found
Trace/BPT trap: 5
有什么想法吗?我不太熟悉手动编译,我通过 Homebrew 安装了 ffmpeg。
我尝试卸载并执行以下操作:
brew install ffmpeg --HEAD
brew install ffmpeg --build-from-source
但它返回一个 ./configure 错误
==> ./configure --prefix=/usr/local/Cellar/ffmpeg/2.4.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.
READ THIS: https://github.com/Homebrew/homebrew/wiki/troubleshooting
These open issues may also help:
gpac 0.5.0 doesn't build against ffmpeg 2.4.1 (https://github.com/Homebrew/homebrew/issues/32978)
经过一番摆弄后我的解决方案。
brew uninstall ffmpeg
brew doctor
然后它告诉我我有一个未链接的 ffmpeg 并且我有一些依赖项
brew install faac lame xvid
brew doctor
然后它告诉我我只是有一个未链接的项目。
brew install ffmpeg
并且成功了。
brew upgrade ffmpeg
为我工作
我认为正如詹姆斯所指出的,这是值得分享的。我遇到了类似的问题,并且能够通过查看 /usr/local/lib/ 库的位置来修复我的问题
dyld: Library not loaded: /usr/local/lib/libx264.142.dylib
$ ls -lsha /usr/local/lib/libx264.*
就我而言,我发现我安装了 libx264,但与 ffmpeg 正在寻找的版本不同。我发现
/usr/local/lib/libx264.152.dylib
这是指向实际安装位置的符号链接
/usr/local/Cellar/x264/r2854/lib/libx264.152.dylib
请注意,这只是版本号的差异,因此,我必须创建一个指向 ffmpeg 所需版本的符号链接。使用下面的命令,我能够在 MacOS 10.13 上解决这个问题
sudo ln -s /usr/local/Cellar/x264/r2854/lib/libx264.152.dylib /usr/local/lib/libx264.148.dylib
我期望的唯一问题是不兼容问题,例如功能折旧(因为我使用的是较新的版本),但它没有发生。我希望这也会对某人有所帮助。如果您的系统中的版本与我的不同,您将需要使用准确的版本。
我运行了brew reinstall libvmaf来重新安装libvmaf,因为我自己的错误是
Library not loaded: /usr/local/opt/libvmaf/lib/libvmaf.1.dylib
我也遇到了这个错误
'/usr/local/opt/libvmaf/lib/libvmaf.1.dylib' (no such file),
但是跑步之后
brew reinstall libvmaf
它解决了我的问题
对于 High Sierra (macOS 10.13),我尝试了 chrisallick 答案中的卸载 ffmpeg 方法,但它没有为我解决问题。我最终更进一步,完全删除并重新安装了我的自制程序。
自行承担风险。
第1步.卸载Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
第2步.安装Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
第3步.安装ffmpeg
brew install ffmpeg
显然,如果您选择此选项,则必须重新安装通过自制程序安装的任何其他应用程序。
这种方法实际上对我在 High Sierra 有效。可能有更直接的方法,在有人发布之前,请考虑这样做。再说一次,chrisallick 更直接的方法实际上并不适合我的情况。