无法在 Ubuntu 12.10 64 位中安装 wine(或 ia32-libs)

car*_*tad 5 64-bit wine 32-bit 12.10

正如这里已经指出的,人们似乎在最新版本的 Ubuntu 中安装 wine 时遇到问题。我怀疑这只会发生在 64 位用户身上。

例如,在尝试安装wineia32-libs使用 apt-get 时,我收到很多依赖项错误。做 asudo apt-get -f install似乎不能解决问题,使用aptitude.

我得到的错误通常是这些包依赖于某些:i386包,但是手动安装它们也不起作用,因为它们也有依赖性问题(APT 不应该自动执行此操作吗?!)。我今天也下载了CrossOver并尝试手动安装 .deb,但依赖性问题也出现在那里。sudo apt-get -f install在尝试安装 CrossOver .deb 后运行时,apt-get 想要清除以下软件包:

  • ia32-交叉
  • 英特尔-GPU-工具
  • libdrm-nouveau2
  • libgl1-台面驱动
  • libva-x11-1
  • ubuntu-桌面
  • vlc
  • xorg
  • xserver-xorg-video-ati
  • xserver-xorg-video-intel
  • xserver-xorg-video-modesetting
  • xserver-xorg-video-openchrome
  • xserver-xorg-video-radeon
  • xserver-xorg-video-vmware

到目前为止我尝试过的(并没有奏效):

  • 安装突触,重新加载我的存储库,搜索 ia32 并安装 ia32-libs。
  • 使用 Ubuntu 软件中心安装 Wine 和 ia32-libs。
  • 使用 apt-get 和 aptitude 安装所有不同种类的 wine 包,包名中包含和不包含:i386-amd64后缀。
  • 禁用 Universe 和 multiverse 存储库,运行 asudo apt-get update然后再次重新启用它们。
  • 启动一个新下载的 Ubuntu 12.10 x64 live USB 并尝试在那里安装所有不同的软件包。

到目前为止我尝试过的(实际上确实有效):

  • 在 VirtualBox 中安装 12.10 x64 并安装 wine1.4-amd64。

我还没有尝试过的(还):

  • 启动一个新下载的 Ubuntu 12.10 x32 映像并尝试在那里安装 wine(我只是猜测这会起作用)。
  • 重新安装 Ubuntu。
  • 把我的电脑扔出窗外。

葡萄酒

alexander@cosmo:~$ LANGUAGE=en_US sudo apt-get install wine
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 wine : Depends: wine1.5 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

葡萄酒-1.4

alexander@cosmo:~$ sudo apt-get install wine1.4
(...)
The following packages have unmet dependencies:
 wine1.4 : Depends: wine1.4-i386 (= 1.4.1-0ubuntu1)
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

ia32-libs

alexander@cosmo:~$ sudo apt-get install ia32-libs
(...)
The following packages have unmet dependencies:
 ia32-libs : Depends: ia32-libs-multiarch
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

car*_*tad 9

好的。所以我发现了是什么导致了我的问题。可能是某些带有某些包的 PPA 造成了依赖性问题。昨晚在 Askubuntu 上随意冲浪时,我发现了一个解决我问题的答案

这是答案,只是修改为适用于 Ubuntu 12.10:

首先需要降级并完成以下操作:创建“首选项”文件:

sudo vi /etc/apt/preferences
Run Code Online (Sandbox Code Playgroud)

并插入以下几行:

Package: *       
Pin: release a=quantal*
Pin-Priority: 2012
Run Code Online (Sandbox Code Playgroud)

输入:wq写入文件。Pin-Priority 必须大于 1000。

然后,您可以使用以下方法降级违规应用程序:

sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)

就是这样。安装winecrossoveria32-libs现在的工作。为什么当我运行新下载的 12.10 版 Ubuntu live 时会发生这种情况,我不知道也不明白。

感谢大家的帮助!


小智 5

这也让我发疯。我使用来自 32 位 Ubuntu lucid(引导较新的 64 位内核)的普通 debootstrap 安装了 64 位 Ubuntu。

在挖掘了论坛和文档后,我发现我必须这样做:

dpkg --add-architecture i386
Run Code Online (Sandbox Code Playgroud)

(实际上我找到了一个关于禁用 multiarch 的页面,并发现它首先没有启用)