keb*_*ebs 4 package-management dpkg dependencies
我刚刚从 14.04 升级到 16.04。这并不容易,可能是因为我在我的机器上做了很多调整(更新的包不是从“官方”来源安装的)。它不会启动,我开始还以为是显卡的问题(“的Radeon初始化错误”),但最终还是通过下载(另一台计算机上),使其开机libstdc++6
然后安装dpkg -i
,使用GRUB root的shell(类似的问题,作为一个在这里)。
我现在可以启动,拥有桌面会话。美好的。
现在的问题是:我有一个严重的包依赖问题,所有apt-get
命令都会失败。考虑一下:
$ sudo apt-get check
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
libstdc++-5-dev : Depends: libstdc++6 (>= 5.5.0-12ubuntu1~14.04) but 5.4.0-6ubuntu1~16.04.10 is installed
libstdc++6 : Depends: gcc-5-base (= 5.4.0-6ubuntu1~16.04.10) but 5.5.0-12ubuntu1~14.04 is installed
Breaks: libogre-1.8.0 (<= 1.8.1+dfsg-0ubuntu5) but 1.8.1+dfsg-0ubuntu3 is installed
libstdc++6:i386 : Depends: gcc-5-base:i386 (= 5.4.0-6ubuntu1~16.04.10) but 5.5.0-12ubuntu1~14.04 is installed
Breaks: libogre-1.8.0 (<= 1.8.1+dfsg-0ubuntu5) but 1.8.1+dfsg-0ubuntu3 is installed
E: Unmet dependencies. Try using -f.
Run Code Online (Sandbox Code Playgroud)
给定的建议 ( apt-get -f install
) 什么也不做。
正如你所看到的,奇怪的是,14.04 和 16.04 的包似乎混合了:
libstdc++-5-dev
取决于 14.04 版本libstdc++6
,我当然安装了 16.04 版本。libstdc++6
取决于 16.04 包 ( gcc-5-base
) 但我似乎仍然有 14.04 版本!!!我尝试使用以下命令重新安装 3 个软件包:
sudo apt-get -f install <pkgname> --reinstall
Run Code Online (Sandbox Code Playgroud)
=> 无法
我试图删除 libstdc++-5-dev :
sudo apt-get -f remove libstdc++-5-dev
Run Code Online (Sandbox Code Playgroud)
=> 它要求其他几个包的未满足的依赖项。如果我一个一个地删除它们,我最终会在同一点上。
我也尝试了很多其他的东西,但基本上都在同一点上结束。
其他信息:
$ lsb_release -ir
Distributor ID: Ubuntu
Release: 16.04
$ uname -m
x86_64
Run Code Online (Sandbox Code Playgroud)
问题:如何让自己摆脱这种依赖问题?
问题解决了,感谢对这个问题和它的答案 (一开始没有找到它的标题是不是很明确的,因此,我不撤我的问题,因为它可能是有用的人)。
因此,以防万一,解决方案是:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)
(当然在那之后:apt-get upgrade
并apt autoremove
最终确定)。
归档时间: |
|
查看次数: |
2846 次 |
最近记录: |