我在最新的 VirtualBox 中运行 ubuntu 19.04 (disco),一切运行良好,直到我尝试升级LBLIBCXX_3.4.21
以修复以下错误。我以前dpkg
是强制安装的lib64stdc++6_9.1.0-2ubuntu2_19.04_i386.deb
。然后在阅读它后抱怨gcc-9-base
已经过时,我尝试apt install gcc-9-base
只返回以下错误消息。
ImportError: /lib/x86_64-linux-gnu/libapt-pkg.so.5.0: symbol _ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
我尝试了以下建议但找不到解决方案: https://askubuntu.com/questions/777803/apt-relocation-error-version-glibcxx-3-4-21-not-define-in-file-libstdc-so-6
我需要做什么才能apt install
再次工作?
答案1
这里有一些地方出了问题。由于apt
显示了有关 的错误/lib/x86_64-linux-gnu/libapt-pkg.so.5.0
,因此您可能使用的是amd64
,而不是i386
,因此您应该重新安装 的amd64
软件包libstdc++6
并删除i386
您强制安装的软件包。
您可以直接下载您需要的包:
libstdc++6
(从gcc-9
);- 如果
apt
还是坏了,libapt-pkg5.0
(从apt
)。
使用 来安装它们dpkg
,必要时强制(软件包永远不应该被强制安装,但修复强制安装通常需要更多的强制安装)。
答案2
阅读我的.bash_history
文件后,我了解到我出于不同的原因尝试安装 libstdc++6 模块,以解压我的 android apk 文件。当我意识到我尝试了多少次不同的尝试让 java 和 dex 文件与 libstdc++6 一起运行时,我决定最好使用干净的构建重新启动我的构建,而不是从失败的尝试中恢复。我很欣赏建议的解决方案,但由于自 2017 年以来 Android 版本发生了巨大的变化,我的整个项目因硬件和互联网服务弃用而中止。 Ubuntu 是实现这一目标的唯一可能选择。不幸的是,目标 IoT Android 平板电脑平台已因 Google Photos API 弃用而瘫痪。