I've just switched to bullseye (see sources below)

deb http://deb.debian.org/debian/ testing main contrib non-free
deb-src http://deb.debian.org/debian/ testing main contrib non-free

deb http://deb.debian.org/debian/ testing-updates main contrib non-free
deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free

deb http://deb.debian.org/debian-security testing-security main
deb-src http://deb.debian.org/debian-security testing-security main

deb http://security.debian.org testing-security main contrib non-free
deb-src http://security.debian.org testing-security main contrib non-free

The update and upgrade went fine, but full-upgrade fails due to the following error message:

The following packages have unmet dependencies:
 libc6-dev : Breaks: libgcc-8-dev (< 8.4.0-2~) but 8.3.0-6 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

From what I see on the packages.debian.org, Debian testing should have libgcc-8-dev: 8.4.0-4, so I don't see why an older version is to be installed.

How can I fix this, to finalize the bullseye full-upgrade?


4 Answers 4


Installing gcc-8-base (sudo apt install gcc-8-base) appeared to do the trick for me and fix the problem for me.

  • 3
    sweet! I've been going through trying to update the individual packages to no avail, this did the trick though thanks!
    – flux9998
    Jun 17, 2020 at 22:35
  • 2
    Installing this removes a bunch of packages like dolphin evince g++ g++-8 gcc-8-base:i386 gdm3 gnome gnome-contacts gnome-core gnome-session gnome-shell gnome-shell-extensions gnome-shell-pomodoro gnome-todo Why? Even my desktop kde-plasma
    – Amith
    Oct 22, 2020 at 10:01
  • 1
    Definitely seems to have worked for me. Thanks!
    – John Smith
    Dec 30, 2020 at 6:48
  • 3
    This answer tends to cause unwanted package removals, as @Amith mentions. There's a deeper issue with the buster -> bullseye upgrade path right now, apparently due to gcc renaming some packages and how apt resolves dependencies when a package provides another. Info here: salsa.debian.org/rpavlik/gcc-10-compat (Apparently because this question is protected, my 100 reputation from having other SO/SE site accounts isn't enough to add a top-level answer...) Jan 5, 2021 at 11:04
  • 2
    The answer is not the solution to this issue. According to the Debian Buster release notes you should prepare for the operating system minimal system upgrade: sudo apt upgrade --without-new-pkgs and then you can do a full upgrade: sudo apt full-upgrade May 7, 2022 at 20:59

If it still does not work try: apt-get install gcc-9-base

  • 2
    worked for me. now im thinking whether gcc-10 would've also worked?
    – Macindows
    Sep 9, 2020 at 4:48

This worked for me after trying everything else:

apt-get remove libgcc-8-dev


@Laogeodritt mentioned this in one of the comments but I decided to post an answer because it is easier to find. The only procedure that worked for me:

echo "deb http://download.opensuse.org/repositories/home:/rpavlik:/bullseye-fix/Debian_Testing/ ./" | sudo tee /etc/apt/sources.list.d/bullseye-upgrade-fix.list
curl http://download.opensuse.org/repositories/home:/rpavlik:/bullseye-fix/Debian_Testing/Release.key | sudo tee /etc/apt/trusted.gpg.d/bullseye-upgrade-fix.asc
sudo apt update

This adds repositories with transitional packages available named libgcc1, etc. that depend on their renamed equivalents in bullseye. After this you can run dist-upgrade or full-upgrade.

Don't forget to remove the repositories after you reboot:

sudo rm /etc/apt/sources.list.d/bullseye-upgrade-fix.list
sudo rm /etc/apt/trusted.gpg.d/bullseye-upgrade-fix.asc`

Source: [1]: https://salsa.debian.org/rpavlik/gcc-10-compat

  • This didn't work for me, going from raspbian buster to raspberry pi OS bullseye.
    – Tim Bird
    Jun 30, 2022 at 21:43

Not the answer you're looking for? Browse other questions tagged or ask your own question.