升级到 16.04 后 apt-get 重定位错误

升级到 16.04 后 apt-get 重定位错误

我刚刚升级到 Ubuntu xenial,16.04。当我尝试执行 apt-get 时,出现错误

apt-get: relocation error: /usr/lib/i386-linux-gnu/libapt-pkg.so.5.0: symbol [long symbol omitted] version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

我尝试过解决方案apt:重定位错误:版本 GLIBCXX_3.4.21 未在文件 libstdc++.so.6 中定义,带有链接时间参考

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

但是系统抱怨说这将回到旧版本的 libstdc++6:

dkpg: warning: downgrading libstdc++6:i386 from 8.1.0-5ubuntu1!14.04 to 5.4.0-6ubuntu~16.04.10

并拒绝继续,因为libstdc++6:i386 break libkolabxml1

该页面还建议使用ppa-purge(但未安装)和apt-add-repository(但apt不起作用)。

我也尝试过aptitude自行安装适用于 i386 的 xenial 版本。它抱怨说需要libcwidget3v5libsigc++-2.0-0v5。但它无法安装这些,因为如果尝试安装,它会破坏依赖关系。

当我以前遇到过像这样的一堆依赖关系时,结果发现顶层的东西是错误的。

有什么解决办法?我想如果我能开始apt工作,我就能修复其他东西。我愿意再次运行升级过程,但do-release-upgrade由于无法使用而失败apt


一些人进一步要求提供详细信息。

输出dpkg --print-architecturei386

输出dpkg --print-foreign-architecture:[无输出]

输出ldd /usr/lib/i386-linux-gnu/libapt-pkg.so.5.0 | grep local:[无输出]

输出ldd /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep local:[无输出]

答案1

尝试使用以下命令强制安装 libstdc++6:

dpkg -i --force-downgrade --force-depends libstdc++6...

如果它们不起作用,您也可以尝试--force-all

相关内容