Warum werden bei der Installation eines 32-Bit-Pakets 64-Bit-Pakete entfernt?

Warum werden bei der Installation eines 32-Bit-Pakets 64-Bit-Pakete entfernt?

Mir ist nicht klar, warum die Installation eines 32-Bit-Pakets die Entfernung eines 64-Bit-Pakets erforderlich machen würde.

Wenn ich beispielsweise versuche, das 32-Bit-Entwicklungspaket von libcurl mit folgendem Befehl zu installieren:

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

apt-get zeigt an, dass es 17 verschiedene 64-Bit-Pakete entfernen wird,einschließlich 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

Ich muss sowohl 64-Bit- als auch 32-Bit-Pakete auf derselben Entwicklungsbox verwenden. Ich glaube, das sollte trivial sein. Was verstehe ich falsch? Was muss ich tun, um 32-Bit-Pakete zu installieren, ohne kritische 64-Bit-Pakete zu entfernen?

Bearbeiten: Multiarch-Unterstützung scheint bereits aktiviert zu sein:

$ dpkg --print-foreign-architectures
i386

Antwort1

Wenn Sie aptitudeden interaktiven Modus verwenden, sollten Sie das Problem im Konflikteditor überprüfen können (drücken Sie, eum ihn aufzurufen). Wahrscheinlich ist eine der abhängigen Bibliotheken noch nicht multiarch-fähig.

verwandte Informationen