29

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?

3
46

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

6
  • 1
    sweet! I've been going through trying to update the individual packages to no avail, this did the trick though thanks! – flux9998 Jun 17 '20 at 22:35
  • Right now this would even remove apt, so not a good idea. Sadly this isn't a planned transition (release.debian.org/transitions). – MKesper Aug 25 '20 at 6:47
  • 1
    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 '20 at 10:01
  • 1
    Definitely seems to have worked for me. Thanks! – John Smith Dec 30 '20 at 6:48
  • 2
    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...) – Laogeodritt Jan 5 at 11:04
8

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

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

Clearly there are some broken dependencies.

Got the same issue.

# apt-get dist-upgrade
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.

So, I ran #apt-get install libgcc-8-dev, hoping that it will upgrade the problematic package or get more information. The output was:

The following packages have unmet dependencies:
  gcc-8-base : Breaks: gcc-8-base:i386 (!= 8.4.0-4) but 8.3.0-6 is to be installed
  gcc-8-base:i386 : Breaks: gcc-8-base (!= 8.3.0-6) but 8.4.0-4 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

That's how I found that the gcc-8-base package is problematic. Next step? #apt-get install gcc-8-base gcc-8-base:i386. Result: gcc-8-base can be upgraded, but the apt want me to remove about 300 packages (which I don't want to remove, many of them are KDE-related) including gcc-8-base:i386, no alternative. I can work without gcc-8-base:i386, so removed it, but it didn't help.

1
  • I'm stuck here too, installing gcc-8-base removes a lot of packages i use, have you found any fix here? – Amith Oct 22 '20 at 10:31
3

This worked for me after trying everything else:

apt-get remove libgcc-8-dev

0

@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

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