How to fix E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages in APT

APTINTERMEDIATEHIGHUpdated Dec 29, 2025· 392 views

The "pkgProblemResolver generated breaks" error occurs when APT's dependency resolver creates package conflicts that cannot be automatically resolved. This typically happens due to held packages, incompatible repository versions, or interrupted package operations, and can be fixed by updating package lists, unhiding held packages, or using alternative dependency resolution strategies.

Quick fix

Fixes E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages

sudo apt update
  1. Update package lists to ensure current dependency information
  2. Check and display all explicitly held packages
  3. Unhold problematic packages if safe to do so
  4. Attempt to fix broken dependencies automatically
apt — error
sudo apt update
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages

What this error means

This error means APT's package problem resolver (the algorithm that determines which packages to install or upgrade) has entered a deadlock situation. It tried to calculate a valid installation state but ended up creating conflicts between package requirements. The error message specifically mentions "held packages" because packages explicitly marked as held can often be the source of such conflicts—when a held package cannot be upgraded but newer versions of other packages depend on a newer version of the held package, the resolver cannot find a valid solution. The "generated breaks" part indicates that the resolver itself created the incompatibility while trying to satisfy dependencies, rather than an incompatibility that already existed. This is a sign that the package ecosystem is in an inconsistent state, often due to interrupted operations, incompatible third-party repositories, or mismatched package versions.

Typical symptoms

  • APT commands fail with the specific error about pkgProblemResolver::Resolve generating breaks
  • apt upgrade, apt dist-upgrade, or apt install fails midway through dependency resolution
  • The error message suggests checking held packages as a potential cause
  • Package manager cannot calculate a valid dependency solution despite trying multiple approaches
  • System updates are blocked until the dependency conflict is resolved

Common causes

  1. Packages are explicitly held (marked to prevent automatic upgrades) but other packages now require a newer version of the held package, creating an irresolvable conflict
  2. A previous package installation or upgrade was interrupted, leaving the system in an incomplete or inconsistent state
  3. Packages from third-party PPAs or external repositories have incompatible versions compared to official repository packages
  4. Multiple unmet dependencies exist that create circular conflicts the resolver cannot break
  5. The system has been partially upgraded from one distribution version to another, with packages in mixed states

How to fix "E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages"

1Update package lists to ensure current dependency information

Start by refreshing your package metadata. This may resolve the issue if the problem is based on outdated dependency information:

bash
sudo apt update

After updating, try your original command again (e.g., sudo apt upgrade). Sometimes simply refreshing the package index is sufficient to resolve resolver conflicts.

2Check and display all explicitly held packages

Since the error specifically mentions held packages, check which packages are currently held on your system:

bash
apt-mark showhold

This will list any packages that have been explicitly marked to not be automatically upgraded. Review this list carefully—if you see packages that are related to your install/upgrade operation, they may be the cause of the conflict.

3Unhold problematic packages if safe to do so

If you identified held packages that are preventing upgrades, carefully unhold them to allow APT to manage them. Only do this for packages you're confident about:

bash
sudo apt-mark unhold package-name

Replace package-name with each held package you want to release. After unheld packages, try your operation again:

bash
sudo apt update
sudo apt upgrade

Unheld packages will now be considered by the dependency resolver, potentially allowing it to find a valid solution.

4Attempt to fix broken dependencies automatically

Use APT's built-in broken package fixer to automatically resolve issues:

bash
sudo apt --fix-broken install

This command analyzes unmet dependencies and attempts to create a consistent package state by installing missing packages or removing conflicting ones. Review what it proposes before confirming.

5Configure any partially installed or unconfigured packages

If interrupted operations left packages in a partially configured state, complete the configuration:

bash
sudo dpkg --configure -a

The -a flag configures all unconfigured packages. This often helps resolver conflicts that stem from incomplete package operations.

6Try using aptitude for more sophisticated resolution

If apt's resolver still cannot find a solution, aptitude has a more advanced algorithm that can sometimes find solutions apt misses:

bash
sudo apt install aptitude
sudo aptitude install package-name

When aptitude encounters conflicts, it presents multiple possible solutions interactively and lets you choose which approach to take. This gives you more control over how dependencies are resolved.

7Check for problematic PPAs and remove them if necessary

If the error started after adding a third-party PPA, that PPA may be the source of the incompatibility:

bash
sudo add-apt-repository --remove ppa:username/ppa-name

After removing problematic PPAs, run the fixes again:

bash
sudo apt update
sudo apt --fix-broken install
sudo dpkg --configure -a

PPAs often create dependency conflicts with official repositories, and removing them is sometimes the only way to resolve persistent issues.

8Perform a dist-upgrade if holding back is preventing resolution

If packages are being held back from a major version upgrade, try a distribution upgrade instead of a regular upgrade:

bash
sudo apt-get dist-upgrade

This command is more aggressive about upgrading packages and changing dependencies for major version transitions. Review what it plans to remove before confirming, as dist-upgrade may remove packages if necessary to resolve conflicts.

9As a last resort, remove the conflicting package completely

If a specific package consistently causes conflicts, remove it entirely and reinstall it fresh:

bash
sudo apt remove --purge package-name
sudo apt autoremove
sudo apt clean
sudo apt update

The --purge flag removes the package and its configuration files. After cleaning up, you can reinstall it:

bash
sudo apt install package-name

A fresh installation often resolves complex dependency conflicts that have accumulated.

Advanced notes

Held Packages Explained: Package holds are a deliberate mechanism to prevent specific packages from being upgraded automatically. They're often set to maintain compatibility with specific software versions. However, they can create resolver deadlocks when other packages require newer versions. Use apt-mark unhold package-name carefully and only when you understand why the package was held initially.

Understanding the Resolver: APT's dependency resolver uses a complex algorithm to find package versions that satisfy all requirements. When this algorithm gets stuck (as indicated by the "generated breaks" message), it means the constraints are impossible to satisfy simultaneously. This is often a symptom of repository inconsistencies rather than a bug in the resolver itself.

PPAs and Distribution Conflicts: Third-party PPAs are a common source of resolver conflicts. PPAs are often built for specific Ubuntu/Debian versions and may not have compatible packages for your distribution version. If you added a PPA recently and the error started afterward, removing the PPA is often the most reliable fix.

Checking Audit Report: Run sudo apt-get check to get a more detailed report of what packages have issues without attempting to modify anything:

bash
sudo apt-get check

This can help identify which specific packages are causing the conflict.

Clean Package Cache: As a preventive step, periodically clean your package cache to remove potentially corrupted files:

bash
sudo apt clean
sudo apt autoclean

Frequently asked questions

What does "E: Error, pkgProblemResolver::Resolve generated breaks, this may be ca" mean?
This error means APT's package problem resolver (the algorithm that determines which packages to install or upgrade) has entered a deadlock situation. It tried to calculate a valid installation state but ended up creating conflicts between package requirements. The error message specifically mentions "held packages" because packages explicitly marked as held can often be the source of such conflicts—when a held package cannot be upgraded but newer versions of other packages depend on a newer version of the held package, the resolver cannot find a valid solution.
How do I fix "E: Error, pkgProblemResolver::Resolve generated breaks, this may be ca"?
The "pkgProblemResolver generated breaks" error occurs when APT's dependency resolver creates package conflicts that cannot be automatically resolved. This typically happens due to held packages, incompatible repository versions, or interrupted package operations, and can be fixed by updating package lists, unhiding held packages, or using alternative dependency resolution strategies.
What causes "E: Error, pkgProblemResolver::Resolve generated breaks, this may be ca"?
Packages are explicitly held (marked to prevent automatic upgrades) but other packages now require a newer version of the held package, creating an irresolvable conflict A previous package installation or upgrade was interrupted, leaving the system in an incomplete or inconsistent state Packages from third-party PPAs or external repositories have incompatible versions compared to official repository packages
Is the "E: Error, pkgProblemResolver::Resolve generated breaks, this may be ca" error serious?
Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.

Official resources & further reading