为什么安装 32 位软件包会删除 64 位软件包?

为什么安装 32 位软件包会删除 64 位软件包?

我不清楚为什么安装 32 位软件包需要删除 64 位软件包。

例如,如果我尝试使用以下命令安装 libcurl 的 32 位开发包:

sudo apt-get install libcurl4-gnutls-dev:i386

apt-get 表示它将删除 17 个不同的 64 位软件包,包括gcc

The following packages will be REMOVED:
  comerr-dev cpp g++ g++-multilib gcc gcc-multilib gfortran krb5-multidev
  libcurl4-openssl-dev libgcrypt11-dev libgnutls-dev libgpg-error-dev
  libidn11-dev libkrb5-dev libp11-kit-dev librtmp-dev libtasn1-6-dev

我需要在同一开发机上使用 64 位和 32 位软件包。我认为这应该很简单。我误解了什么?我需要做什么才能安装 32 位软件包而不删除关键的 64 位软件包?

编辑:多架构支持似乎已经启用:

$ dpkg --print-foreign-architectures
i386

答案1

如果您使用aptitude交互模式,您应该能够在冲突编辑器中检查问题(按e进入)。可能其中一个依赖库尚未启用多架构。

相关内容