当 32 位库一直具有可卸载的依赖项时,我该如何安装 32 位库?

当 32 位库一直具有可卸载的依赖项时,我该如何安装 32 位库?

我正在尝试在 Ubuntu 13.10 上安装 Adob​​e Air。在此版本的 Ubuntu 中,ia32-libs和等软件包ia32-libs-multiarch不再可用,因此我尝试自行安装所需的 32 位库。运行时,./AdobeAIRInstaller.bin我收到几个有关缺少库的错误,其中大部分我设法使用它们进行安装sudo apt-get install <library-name>:i386,错误消失了。但是我在修复最后两个缺失的模块时遇到了问题:

Gtk-Message:无法加载模块“overlay-scrollbar”
Gtk-Message:无法加载模块“unity-gtk-module”

我尝试overlay-scrollbar-gtk2:i386使用 apt 安装:

overlay-scrollbar-gtk2:i386:依赖:overlay-scrollbar:i386 但无法安装

哎呀,它依赖于无法安装的软件包。真不方便。所以我试着用谷歌搜索 Saucy 的 32 位覆盖滚动条库,我在这里找到的。首先我安装了 overlay-scrollbar:

$ sudo dpkg -i overlay-scrollbar_0.2.16+r359+13.10.20130826-0ubuntu1_all.deb
(正在读取数据库...当前安装了 226507 个文件和目录。)
准备替换 overlay-scrollbar 0.2.16+r359+13.10.20130826-0ubuntu1(使用 overlay-scrollbar_0.2.16+r359+13.10.20130826-0ubuntu1_all.deb)...
正在解压替换覆盖滚动条......
设置覆盖滚动条(0.2.16+r359+13.10.20130826-0ubuntu1)...
处理 libglib2.0-0:i386 的触发器...
处理 libglib2.0-0:am​​d64 的触发器...

太棒了!成功了。然后我尝试安装 overlay-scrollbar-gtk2:i386:

$ sudo dpkg -i overlay-scrollbar-gtk2_0.2.16+r359+13.10.20130826-0ubuntu1_i386.deb
选择之前未选择的包 overlay-scrollbar-gtk2:i386。
(正在读取数据库...当前安装了 226507 个文件和目录。)
正在解压 overlay-scrollbar-gtk2:i386(来自 overlay-scrollbar-gtk2_0.2.16+r359+13.10.20130826-0ubuntu1_i386.deb)...
dpkg: 依赖性问题阻止 overlay-scrollbar-gtk2:i386 的配置:
 overlay-scrollbar-gtk2:i386 依赖于 overlay-scrollbar。

dpkg: 处理 overlay-scrollbar-gtk2:i386 (--install) 时出错:
 依赖问题 - 未配置
处理时遇到错误:
 覆盖滚动条-gtk2:i386

因此显然我仍然需要安装 overlay-scrollbar:i386,它无法通过 apt 安装,并且上面的安装程序也没有安装。我遇到的 unity-gtk-module 问题几乎相同,只是包名称不同。

我有几个与此非常相关的问题:

  • 为什么一些非常重要的 32 位软件包无法使用 apt 安装?我是否缺少源?
  • 为什么上面的 i386 版本的 overlay-scrollbar 没有安装?是不是因为安装程序同时包含 32 位和 64 位版本的库,并自动决定在我的系统上只安装 64 位版本?我可以强制安装两者吗?

答案1

apt-get download overlay-scrollbar-gtk2
sudo dpkg --ignore-depends overlay-scrollbar -i overlay-scrollbar-gtk2*.deb

简单的。

如果您已经为您的架构安装了软件包,这将有效。如果没有,下次尝试使用 dpkg/apt-get 时会出错。要修复它们,请运行:

sudo gedit /var/lib/dpkg/status

找到Package: [package name, overlay-scrollbar-gtk2 in this case]并从中删除被忽略的依赖项Depends:(在本例中为 overlay-scrollbar)。

如果你使用 gedit,确保你已禁用自动备份在保存之前,在编辑 > 首选项 > 编辑器中。请注意,gedit 为每个用户提供了单独的首选项,并且您以 root 身份运行它。

答案2

overlay-scrollbar 包不提供 i386 或 amd64 版本;它提供“all”版本,可安装在所有架构上。

它似乎缺少 Multi-Arch: 允许的标头,因此它无法满足依赖它的 i386 包。您应该提交错误报告,要求添加缺少的标头。

相关内容