How to fix E: Package 'package:i386' has no installation candidate in APT

APTBEGINNERMEDIUMUpdated Dec 29, 2025ยท 214 views

The "no installation candidate" error for i386 packages occurs when apt cannot find a suitable version of a 32-bit package due to multiarch not being enabled, missing repositories, or version conflicts. Enable i386 support and update your package cache to resolve this.

Quick fix

Fixes E: Package 'package:i386' has no installation candidate

sudo dpkg --add-architecture i386
  1. Enable i386 architecture support
  2. Update your package lists
  3. Fix repository architecture restrictions
  4. Check package availability for i386
apt โ€” error
sudo dpkg --add-architecture i386
E: Package 'package:i386' has no installation candidate

What this error means

This error appears when apt finds a package matching your query but cannot locate any installable version for the i386 architecture. Unlike "Unable to locate package," this error means apt recognizes the package name but has no candidate version available for installation on your system. This typically occurs on 64-bit systems where 32-bit (i386) architecture support has not been enabled, or where the requested package does not have a version available for the i386 architecture in your configured repositories. The error can also occur when multiarch is enabled but the package version for i386 is incompatible with currently installed packages.

Typical symptoms

  • Error message displays when trying to install a 32-bit package with :i386 suffix
  • The package name is recognized (appears in apt search results) but installation fails
  • Installing 32-bit libraries needed for legacy or gaming software fails
  • Wine or Steam dependencies cannot be installed
  • Dependency chain resolution fails for i386 packages

Common causes

  1. i386 architecture not enabled on a 64-bit system (most common)
  2. Package lists not updated after adding i386 architecture support
  3. Repository configuration blocks i386 packages (restricted to amd64)
  4. Package version mismatch between amd64 and i386 versions
  5. Repository does not provide the requested package for i386
  6. Package has been removed or renamed in your repository version
  7. Conflicting package versions already installed on system

How to fix "E: Package 'package:i386' has no installation candidate"

1Enable i386 architecture support

First, register i386 as a supported architecture on your system:

bash
sudo dpkg --add-architecture i386

Verify the architecture is now enabled:

bash
dpkg --print-foreign-architectures

You should see "i386" in the output. If you see nothing, the previous command had an issue.

2Update your package lists

Refresh the apt package cache to include i386 packages from all repositories:

bash
sudo apt update

Watch for any error messages about unsupported architectures. If you see warnings like "repository does not support i386", you'll need to fix those repository configurations in the next step.

3Fix repository architecture restrictions

Some repositories may explicitly restrict packages to amd64. Check your sources:

bash
grep -r "arch=" /etc/apt/sources.list*

If you see entries restricted to amd64 only, like:

bash
deb [arch=amd64] http://example.com/ubuntu focal main

Edit the file to include i386:

bash
sudo nano /etc/apt/sources.list

Change to:

bash
deb [arch=amd64,i386] http://example.com/ubuntu focal main

For sources in /etc/apt/sources.list.d/*.sources, add Architectures: amd64 i386 under the Sources section.

After editing, run:

bash
sudo apt update
4Check package availability for i386

Verify the package actually exists for i386:

bash
apt-cache search package-name | grep i386
apt-cache policy package-name:i386

The policy output shows all available versions and their source repositories. If no i386 version is listed, the package may not be available for 32-bit systems in your repositories.

5Install the 32-bit package

Once i386 is enabled and package lists are updated, install the package:

bash
sudo apt install package-name:i386

For example, to install 32-bit libc6:

bash
sudo apt install libc6:i386

If you encounter dependency conflicts, apt will suggest solutions. You may need to install matching amd64 versions or update other packages.

Advanced notes

If the package truly has no installation candidate even after enabling multiarch, the issue may be that the package doesn't provide an i386 build. Check the package's official repository or documentation to confirm i386 support. Some packages are amd64-only by design. For multilib issues on systems with version conflicts, use apt-get install -s package:i386 to simulate the installation and see detailed conflict information. On newer systems using DEB822 format sources (.sources files), ensure the Architectures field includes both amd64 and i386. If you're building your own packages or using a custom repository, verify the architecture metadata is correctly set.

Frequently asked questions

What does "E: Package 'package:i386' has no installation candidate" mean?
This error appears when apt finds a package matching your query but cannot locate any installable version for the i386 architecture. Unlike "Unable to locate package," this error means apt recognizes the package name but has no candidate version available for installation on your system. This typically occurs on 64-bit systems where 32-bit (i386) architecture support has not been enabled, or where the requested package does not have a version available for the i386 architecture in your configured repositories.
How do I fix "E: Package 'package:i386' has no installation candidate"?
The "no installation candidate" error for i386 packages occurs when apt cannot find a suitable version of a 32-bit package due to multiarch not being enabled, missing repositories, or version conflicts. Enable i386 support and update your package cache to resolve this.
What causes "E: Package 'package:i386' has no installation candidate"?
i386 architecture not enabled on a 64-bit system (most common) Package lists not updated after adding i386 architecture support Repository configuration blocks i386 packages (restricted to amd64)
Is the "E: Package 'package:i386' has no installation candidate" error serious?
It is a medium-severity error โ€” more of a blocker than a risk. The steps above resolve it.

Official resources & further reading