问题描述
自从尝试升级到16.04 xenial后,我就得到了
$ apt
apt: relocation error: /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0:
symbol _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_,
version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
当简单地运行apt
时。毋庸置疑,这使得很难做任何事情。
任何提示?
最佳解决办法
我遇到了与PPA for Ubuntu工具链问题相同的问题。我的电脑无法启动。在@ w00kie对他的回答发表评论之后,我从链接https://packages.ubuntu.com/xenial/libstdc++6下载了(从tty终端)用于Xenial的软件包libstdc ++ 6的debian,并使用dpkg -i安装。电脑现在工作得很好。
Steps
wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
# I also found this helpful
sudo apt-get -f install
次佳解决办法
罪魁祸首是来自PPA for Ubuntu Toolchain Uploads (restricted)的left-overs,具体来说,
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
处理这个有两种可能性:
-
您已经安装了
ppa-purge
。然后sudo ppa-purge ppa:ubuntu-toolchain-r/test
修复问题。
-
通过下载libstdc++6 for Xenial并通过
dpkg -i
安装来覆盖libstc ++。
第三种解决办法
由于此错误,我的comp无法正确启动。 Apt-get不起作用,Gnome也没有。这是从14.04升级到16.04之后的立即。我通过输入解决了它
sudo apt-add-repository --remove ppa:ubuntu-toolchain-r/test
此时apt-get
再次开始工作,我能够从那里解决所有问题:
sudo apt-get clean
sudo apt-get update
sudo apt-get install -f
sudo dpkg -a --configure
sudo apt-get dist-upgrade
我还必须卸载Virtualbox(在更新命令之后)并稍后重新安装,但我认为这是无关的。
第四种办法
我一直认为这个问题对我来说是独一无二的,并且是由下载错误引起的。
这个讨论给了我需要的线索。基本上,所需要的只是用失败系统的/usr /lib /x86_64-linux-gnu中的libstdc ++。so.6.0.21替换libstdc ++。so.6.0.22。 (似乎新版本中存在错误。)
这可以从thumb-drive完成,或者在我的情况下,从暂存盘完成。
详细信息:https://answers.launchpad.net/ubuntu/+question/395832
谢谢大家…
第五种办法
在接受的答案中遵循dpkg -i
方法,我的14.04-> 16.04升级不需要一个而是两个包:
gcc-5-base_5.4.0-6ubuntu1~16.04.4_i386.deb
libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb
在此之后,apt upgrade
能够下载剩余的包并完成安装。
第六种办法
如果您在Yakkety上安装了Snappy的最新版’conjure-up’卡扣,那么您的apt将会出现类似错误:
apt: relocation error: /usr/lib/x86_64-linux-gnu/libapt-private.so.0.0: symbol _ZN13pkgSourceList16AddVolatileFilesER11CommandLinePSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EE, version APTPKG_5.0 not defined in file libapt-pkg.so.5.0 with link time reference
由于这个错误:
https://bugs.launchpad.net/snappy/+bug/1a677417
目前我所知道的唯一解决方法是删除conjure-up快照(如果之前安装了一个,则可能将’snap revert’移至以前的版本)。