记录mbedtls库的在终端上重新安装的步骤
ffmpeg -version
dyld[17464]: Library not loaded: '/usr/local/opt/mbedtls/lib/libmbedcrypto.14.dylib'
Referenced from: '/usr/local/Cellar/librist/0.2.7_3/lib/librist.4.dylib'
Reason: tried: '/usr/local/opt/mbedtls/lib/libmbedcrypto.14.dylib' (no such file), '/usr/local/lib/libmbedcrypto.14.dylib' (no such file), '/usr/lib/libmbedcrypto.14.dylib' (no such file), '/usr/local/Cellar/mbedtls/3.5.1/lib/libmbedcrypto.14.dylib' (no such file), '/usr/local/lib/libmbedcrypto.14.dylib' (no such file), '/usr/lib/libmbedcrypto.14.dylib' (no such file)
Abort trap: 6
原因:看起来问题仍然与找不到
libmbedcrypto.14.dylib
文件有关。这可能是由于库文件版本的不匹配或链接问题引起的。
使用以下命令查看依赖于 librist
的软件:
brew uses --installed librist
ffmpeg ffmpeg@4 opencv
这会列出使用(依赖) librist
的所有已安装软件。请注意,这可能包括一些间接依赖关系,因为某些软件可能依赖于其他使用 librist
的软件。
如果您看到列出的软件,尝试先卸载 librist
,然后重新安装相关软件。
尝试以下步骤来解决问题:
重新安装 mbedtls:
强制卸载 mbedtls 并重新安装:
brew uninstall --ignore-dependencies mbedtls
brew install mbedtls
重新安装 librist 和 ffmpeg:
重新安装 librist 和 ffmpeg:
brew uninstall librist
brew uninstall ffmpeg
brew install librist
brew install ffmpeg
更新链接:
执行以下命令重新链接 librist:
brew unlink librist && brew link librist
手动创建软链接:
尝试手动创建软链接,将现有的 libmbedcrypto
链接到 libmbedcrypto.14.dylib
:
ln -s /usr/local/opt/mbedtls/lib/libmbedcrypto.dylib /usr/local/opt/mbedtls/lib/libmbedcrypto.14.dylib
检查动态库路径:
确保系统中的动态库路径正确,可以通过以下命令检查:
echo $DYLD_LIBRARY_PATH
如果没有输出,或者输出为空,请确保将 /usr/local/opt/mbedtls/lib
添加到动态库路径中:
export DYLD_LIBRARY_PATH="/usr/local/opt/mbedtls/lib:$DYLD_LIBRARY_PATH"
完成这些步骤后,再次运行 ffmpeg -version
,看看问题是否得到解决。如果问题仍然存在,可能需要更详细地检查系统和软件配置以找出问题的根本原因。