Ubuntu 16.04安装zlib1g-dev依赖报错求助
解决Ubuntu 16.04中zlib1g-dev依赖冲突问题
这种zlib1g和zlib1g-dev版本不匹配的问题,在Ubuntu老版本上偶尔会碰到——系统里的zlib1g已经更新到带安全补丁的1:1.2.8.dfsg-2ubuntu4.1,但对应的开发包还没同步更新,或者APT缓存里没拉到匹配版本。试试下面这些分步方案:
先尝试降级zlib1g到匹配版本
直接指定版本安装zlib1g,再装dev包:sudo apt-get install zlib1g=1:1.2.8.dfsg-2ubuntu4 sudo apt-get install zlib1g-dev注意:降级可能会影响其他依赖zlib1g的包,如果APT弹出警告,先确认这些包是否可以暂时降级,或者看后面的替代方案。
彻底检查并解除被锁定的包
你提到有held broken packages,先确认到底哪些包被锁定了:dpkg --get-selections | grep hold如果输出里有zlib相关的包,解除锁定:
sudo apt-mark unhold <package-name>之后运行依赖修复和系统更新:
sudo apt-get install -f sudo apt-get update && sudo apt-get upgrade修复完再尝试安装zlib1g-dev。
用aptitude灵活处理依赖
aptitude比apt-get在依赖解决上更智能,先装aptitude:sudo apt-get install aptitude然后用它安装zlib1g-dev:
sudo aptitude install zlib1g-dev它会列出几种可行的解决方案(比如降级zlib1g、调整其他依赖包版本),你可以根据提示选择最合理的方案(一般选第一个或第二个,输入
y确认即可)。手动下载安装匹配的deb包
如果上面的方法都走不通,直接手动下载对应版本的zlib1g-dev包:- 找到Ubuntu 16.04官方仓库里的zlib1g-dev包,版本是
1:1.2.8.dfsg-2ubuntu4 - 下载对应你系统架构的deb文件(比如amd64或i386)
- 用dpkg安装:
如果安装时提示依赖缺失,运行:sudo dpkg -i zlib1g-dev_1.2.8.dfsg-2ubuntu4_<你的架构>.debsudo apt-get install -f
- 找到Ubuntu 16.04官方仓库里的zlib1g-dev包,版本是
搞定zlib1g-dev之后,再安装ffmpeg应该就不会有问题了。
内容的提问来源于stack exchange,提问作者Anmol Kohli
相关产品推荐
相关产品推荐

