Upgrade to Byzantium

Per instructions change repo in sources.list to byzantium from amber. Issued update and then full-upgrade, but I get the following error. What’s the best approach to get past this?
Thanks!

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

Something you could try is to simply remove the things that it says it will break.

In this case, try removing the libgcc-8-dev package first, and then try running the upgrade command again.

Then once the upgrade has passed successfully, you can always try to reinstall the packages that were removed (or some newer versions).

1 Like

Did you ever solve this? The suggestion caused more dependency messages for me. I tried searching the web, but I have not found a solution that has worked or applies to byzantium.

sudo apt remove ibc6-dev libgcc-8-dev
sudo apt dist-upgrade
sudo apt full-upgrade
sudo apt autoremove --purge

most of conflicts came from glibc devel/gcc packages, can be solved by removing gcc.
then reinstalling if needed

note all -dev packaes are headers, so totally not needed for regular running system, those are usable only if you plan to build/compile app depending on library…
so all -dev packages you can simply remove.
most of gcc packakages and compilers too.
then reinstall only those you need to continue dev work.
most of dkms packages like librem-ec driver will automagically reinstall required -dev packages and compilers back.
i hope that helps.

4 Likes

Thank you for the commands and information. (I think you mean libc6-dev.) That fixed it, though I have a few packages being held back.

I would mark this as ‘solved,’ but this is not my thread.

1 Like

for held back packages, most reasonaable approach is
apt remove list af pakgages held
apt autoremove --purge
then apt isntall packages from list held packages that you wish to keep
that will reisntall them
packages held mostly are part of old gcc/glibc stack, and/or packages with cirrcular dependencies.
there is many posts on stack overflow and other places how to hadnle them - just search for debian upgrade instructions.
PureOS is a debian fork, so same rules and methodologies apply.
have fun.

Yes, I did. But what did I do…
I think I just removed some packages and it worked. I don’t think I needed the dev package for example.
Sorry, I’m not much help…

Where can I read those instructions? I looked a bit around the PureOS website, but couldn’t find anything…

1 Like

We’re also working on resolving those issues in the libgcc packages.

2 Likes

Will this work on the L5 or is this just for the laptops?

The Librem 5 has a somewhat different build path but is currently being updated to Byzantium. So you certainly will be able to upgrade your Librem 5 to Byzantium, yes.

Will I have to use the ‘uuu’ tool to flash my phone? Because it’s not available in repositories of my distro. (OpenSuse Leap) And I’m guessing there isn’t a tool on windows I could use to upgrade the phone to Byzantium.

If you need uuu I think you can build it from source as described here: https://github.com/NXPmicro/mfgtools#how-to-build

1 Like

The solution to this problem is here https://salsa.debian.org/rpavlik/gcc-10-compat

From the site:

There are a number of bugs filed for this - the one I have submitted this info to is https://bugs.debian.org/972820.

This is an apparent bug with the gcc-10 packages in Debian: they renamed several packages and removed the transitional packages after Buster and before the release of Bullseye. The following packages were renamed (to match stated convention/debian policy more closely, I think):

* libgcc1 -> libgcc-s1
* lib64gcc1 -> lib64gcc-s1 (on 32 bit architectures only)
* lib32gcc1 -> lib32gcc-s1 (on 64 bit architectures only)
* libx32gcc1 -> libx32gcc-s1 (on x86_64 only)
* a few others on less common arches

The newly-renamed packages have a `Provides: libgcc1` (etc.) property, but it appears that apt is preferring a real (old) libgcc1 package over a virtual package that is only "provide"d by the newer package, since it's trying to not break your system. I am not familiar with the details of the internals of dependency resolution and installation order, but that's how I understand the problem anyway. This repo provides a "real" libgcc1, etc. package to get apt over that hurdle.

In general you know you've hit this bug when you see this on trying to do a dist-upgrade from buster to bullseye (or equivalent in derived distros):

```
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.
```

Just tried updating my Librem 13 V2, this still is not fixed upstream in Debian, or in Librem repos. But this got me back on track.

1 Like

The solution to this problem is here https://salsa.debian.org/rpavlik/gcc-10-compat

thank you!!

1 Like

NineX,
This is more than a year later, but what is the cleanest way to upgrade from Amber to Byzantium.
I have an old PC laptop running Amber, I want to upgrade.

I guess:
sudo apt dist-upgrade
sudo apt full-upgrade
sudo apt autoremove --purge

Thanks, Tom

I would securely wipe the drive and reinstall with the latest image.

Thank you for the input.

1 Like