conda安装FFmpeg后遇libgnutls.so.30符号查找错误求助
解决conda安装FFmpeg后libgnutls符号查找错误的方法
问题背景
依赖环境:
- Ubuntu: 20.04
- conda: 4.12.0
- Python: 3.8
- Pytorch: 1.7.1
- FFmpeg: 4.2.3(conda-forge)
通过以下命令安装FFmpeg后执行ffmpeg -version报错:
conda config --add channels conda-forge conda install ffmpeg
错误信息:
ffprobe: symbol lookup error: /home/user/anaconda3/envs/myenv/bin/../lib/./libgnutls.so.30: undefined symbol: mpn_add_1, version HOGWEED_4
尝试过pip install ffmpeg、pip install ffprobe、conda install ffmpeg-python均无效。
可行解决方案
1. 清理冲突包并重新指定版本安装
先卸载所有相关冲突包,再严格从conda-forge安装指定版本的FFmpeg及依赖:
# 卸载pip安装的相关包 pip uninstall -y ffmpeg ffprobe ffmpeg-python # 卸载conda环境中的ffmpeg和gnutls conda uninstall -y ffmpeg gnutls # 清理conda缓存 conda clean --all -y # 严格指定conda-forge频道安装FFmpeg 4.2.3 conda install -c conda-forge ffmpeg=4.2.3 --force-reinstall
2. 修复libgnutls与libhogweed的版本匹配问题
错误源于libgnutls依赖的libhogweed版本不兼容,单独安装对应版本的依赖库:
conda install -c conda-forge libgnutls=3.6.15 libhogweed=3.7.3
安装完成后再重新安装FFmpeg:
conda install -c conda-forge ffmpeg=4.2.3
3. 创建全新隔离环境安装
如果现有环境依赖混乱,直接创建新的conda环境,避免依赖冲突:
conda create -n new_ffmpeg_env python=3.8 pytorch=1.7.1 ffmpeg=4.2.3 -c conda-forge # 激活新环境 conda activate new_ffmpeg_env # 验证安装 ffmpeg -version
内容的提问来源于stack exchange,提问作者wen
相关产品推荐
相关产品推荐

