Migration Debian Bullseye and YunoHost 11.x

:uk: / :us:

My YunoHost server

Hardware: Raspberry Pi4 at home
YunoHost version: 4.4.2.14
I have access to my server : Through SSH | through the webadmin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : no

Description of my issue

Hi,
I want to upgrade my yunohost to 11.x and Debian Bullseye.

I face what seems a familiar problem: libc6-dev : Breaks: libgcc-8-dev.
I thought this had been resolved for latest 4.4.x versions but maybe I got it wrong. There are some instructions to follow for similar issues in this forum but I’m not quite sure of what has been done or not, so I prefer directly ask for help.

Please find the logs here:
https://paste.yunohost.org/raw/oyikutamem
and here:
https://paste.yunohost.org/raw/arinuxujem


:fr:

Mon serveur YunoHost

Matériel: Raspberry Pi4 à la maison
Version de YunoHost: 4.4.2.14
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Bonjour,
je cherche Ă  faire la migration Bullseye et yunohost 11.x.

J’ai un problème libc6-dev : Breaks: libgcc-8-dev.
J’ai vu qu’il y a des problèmes similaires aux miens, et je pensais que la mise à jour en 4.4.2.14 devait faire l’affaire… mais apparemment non. Comme j’ai du mal à avoir de la visibilité entre ce qui a été corrigé sur ce bug et les commandes recommandées sur le forum pour les problèmes similaires, je préfère demander de l’aide.

Voici les messages de log:
https://paste.yunohost.org/raw/oyikutamem
puis:
https://paste.yunohost.org/raw/arinuxujem

Merci.
Thomas.

In that log, naively what seems to be blocking the upgrade is libglib2.0-0 and other related libs, which seems to be related some to some graphical environment…

So first I would try to apt remove libglib2.0-0 --dry-run and see how that goes

Also mautrix-whatsapp explicitly depends on g++, which is probably causing issues too :

mautrix-whatsapp-ynh-deps : Depends: g++ 

Thanks @Aleks for your answer. It seems that this is chaining to other problems:

root@xxxx:/home/admin# apt remove libglib2.0-0 --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 yunohost : Depends: python3-dbus but it is not going to be installed
            Depends: rspamd but it is not going to be installed
            Depends: equivs but it is not going to be installed
            Recommends: unattended-upgrades but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Hi @izakis , thanks for your help.
I’ve been through both steps of your post, but it doesn’t solve my problem.
First I cannot remove libc6:
https://paste.yunohost.org/oyucuvoyuf.sql
You can see the result of apt-get update and apt-get upgrade below:
https://paste.yunohost.org/nuzasuvedo.pas

Also, strangely enough, in my admin page, tools, migrations, it says that migration 21 has been done and no migration is pending… but it also says that my yunohost version is 4.4.2.14

And when I try to update my system in the admin page, I have a error with suggestions to run sudo apt install --fix-broken and sudo dpkg --configure -a, but unfortunately this doesn’t help.

I don’t mind much about this application, so I can remove it first if this is causing problems.

Hello thomas
just leave the libc6 you will not be able to uninstall it anyway i just tried to remove it on my own server and doesn’t allow to be purged as well, i don’t know how to the other guy did blame me for ruin his system,

please try this command and update what’s happening
apt-get dist-upgrade -f

then try this as well:
apt update && apt dist-upgrade -f

that should help, if not update me i will tell you how to get broken dependencies list form the log and paste here

thanks @izakis for the follow up.
No possibility to go further. I paste the log here:

https://paste.yunohost.org/otevagukan.sql

remove the libgcc-8-dev
sudo apt-get remove libgcc-8-dev

after that DO
THIS ONLY → apt-get dist-upgrade -f
NO UPDATE,

that should help tell me what’s happening

by the way i just did check my server i don’t have libgcc-8-dev installed i don’t know why its there, maybe cause it was in use on buster

arfff… this looks like a long list on dependencies:

admin@xxxx:~ $ sudo apt-get remove libgcc-8-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libgirepository-1.0-1 : Breaks: python3-gi (< 3.34.0-4~) but 3.30.4-1 is to be installed
 libtool : Depends: libc6-dev but it is not going to be installed or
                    libc-dev
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

@thomasarsouze
no you dont need to remove them all

you are on buster as i understand the solution supposed to be simple

please install back the libgcc-8-dev
sudo apt-get install libgcc-8-dev

and then install dpkg it depends on
sudo apt-get install gcc-8-base

after that run the command:
sudo apt autoclean

reboot by:
reboot

then try
sudo apt update
sudo apt dist-upgrade -y

and tell me when you done

thx @izakis for helping me with that… sorry this requires so many questions / answers. I’d like to be more independant on this but I fear braking things even more badly.

We still need to get a bit further.

admin@xxxxxx:~ $  sudo apt-get install libgcc-8-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libgcc-8-dev : Depends: gcc-8-base (= 8.4.0-7+rpi1) but 8.3.0-6+rpi1 is to be installed
                Recommends: libc6-dev (>= 2.13-5) but it is not going to be installed
 libgirepository-1.0-1 : Breaks: python3-gi (< 3.34.0-4~) but 3.30.4-1 is to be installed
 libtool : Depends: libc6-dev but it is not going to be installed or
                    libc-dev
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
admin@xxxxx:~ $  sudo apt-get install gcc-8-base
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libgirepository-1.0-1 : Breaks: python3-gi (< 3.34.0-4~) but 3.30.4-1 is to be installed
 libtool : Depends: libc6-dev but it is not going to be installed or
                    libc-dev
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

@thomasarsouze

try to upgrade the gcc cause according to the log its older < than what it should be
sudo apt-get install gcc-9-base libgcc-9-dev libc6-dev

Then let’s try to go down the rabbit hole:

sudo apt install libglib2.0-0- yunohost python3-dbus rspamd equivs --dry-run

@Aleks : thanks for your input
A bit deeper:

admin@xxxxxx:~ $ sudo apt install libglib2.0-0 yunohost python3-dbus rspamd equivs --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
equivs is already the newest version (2.3.1).
equivs set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Breaks: libgcc-8-dev (< 8.4.0-2~) but 8.3.0-6+rpi1 is to be installed
 moulinette : Depends: python3-yaml but it is not going to be installed
              Depends: python3-gevent-websocket but it is not going to be installed
 yunohost : Depends: moulinette (>= 11.0) but 4.4.1 is to be installed
            Depends: ssowat (>= 11.0) but 4.4.1 is to be installed
            Depends: python3-jinja2 but it is not going to be installed
            Depends: python3-lexicon but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

and deeper again:

admin@xxxxxx:~ $ sudo apt install libglib2.0-0 yunohost python3-dbus rspamd equivs moulinette ssowat --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
equivs is already the newest version (2.3.1).
equivs set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

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

Hi @izakis. Thanks for your suggestion.
It looks like installing gcc9 is possible (and even partially done):

admin@xxxxxxx:~ $ sudo apt-get install gcc-9-base libgcc-9-dev --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc-9-base is already the newest version (9.3.0-22+rpi1).
gcc-9-base set to manually installed.
The following NEW packages will be installed:
  libgcc-9-dev
0 upgraded, 1 newly installed, 0 to remove and 297 not upgraded.
Inst libgcc-9-dev (9.3.0-22+rpi1 Raspbian:stable [armhf])
Conf libgcc-9-dev (9.3.0-22+rpi1 Raspbian:stable [armhf])

but I still have issues with libc6-dev

admin@xxxxxx:~ $ sudo apt-get install gcc-9-base libgcc-9-dev libc6-dev yunohost moulinette ssowat --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc-9-base is already the newest version (9.3.0-22+rpi1).
gcc-9-base set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Breaks: libgcc-8-dev (< 8.4.0-2~) but 8.3.0-6+rpi1 is to be installed
E: Unable to correct problems, you have held broken packages.

Eeeeh note that my proposed command contained a - suffix after libglib: sudo apt install libglib2.0-0- [...] meant to tell apt to remove that package, but install the others

(But anyway sounds like the root of the issue is with the libgcc-8-dev / libc6-dev hell …)

Arf, yeah sorry. I ran that but I thought this was a typo because I saw libglib2.0-0 showing in dependancies problems… Anyway, here it is:

admin@xxxxxxx:~ $ sudo apt install libglib2.0-0- yunohost python3-dbus rspamd equivs moulinette ssowat --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
equivs is already the newest version (2.3.1).
equivs set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Breaks: libgcc-8-dev (< 8.4.0-2~) but 8.3.0-6+rpi1 is to be installed
 python3-dbus : Depends: libglib2.0-0 (>= 2.40) but it is not going to be installed
                Recommends: python3-gi but it is not going to be installed
 rspamd : Depends: libglib2.0-0 (>= 2.39.4) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Hm my bad, libglib2 seems important, the problematic one seems to be rather libgirepository-1.0-1 (and python3-gi maybe)

So let’s try instead:

sudo apt remove libgirepository-1.0-1 --dry-run

hello thomas

= = = = = = = = = = = = = = = = = = =
do this after you tried aleks suggestion as the a plan B if nothing goes right,
don’t try this till aleks haven’t any suggestion for you anymore,
= = = = = = = = = = = = = = = = = = =

just got here sorry for the delay,

now while you success to set gcc-9-base please try to forces upgrade,
straight up to bullseye
the problem is there are some in between dependencies what is unknown to the system
that’s what happening when people wait too long before they upgrade linux,

linux is not windows what have a stable corporate company behind who take care everything,
in linux in one day its stable tomorrow its obsolete and unstable,

i suggest you will try something i did try in the past and was working for me, even though finally i deleted that version of yunohost and did reinstall bullseye, straight up downloaded a new iso file, cause i remember that i successfully upgraded the OS but the yunohost version number on the admin panel did stay the same even it was telling me it successfully upgraded,

you need bear in mind you’re not messing with yunohost you’re messing with an old version of distro what is not supported anymore,

so lets try something else that is not dangerous whatsoever,

go to the console
do super user
sudo su
type:
cd /
cd /etc/apt/
cp sources.list sources.list.backup
now we just created a backup of sources.list
make sure you have that backup and cp (copy) command did work
type:
ls
and check if you really have a file called: sources.list.backup
ok,
now type:
nano sources.list
the sources.list will be opened

change all references from buster to bullseye,
any word “buster” you see change to bullseye

save the file, by control+S on your keyboard,
exit by control+x
reboot your machine,

and try the commands in this order

  1. sudo apt update
  2. sudo apt dist-upgrade -y

that is not risky at all but worth trying,

in that case you should get all references and bullseye repositories to be available and if there are any obsolete dependencies what don’t know what to do with such “futuristic” packages will be upgraded,

we can always bring back the system to same state or change it back to buster source.list
you don’t need to take any farther steps to upgrade cause we did install gcc-9-base already.

just update what’s going on

@Aleks : Looks like you pointed the correct libs:

admin@xxxxxx:~ $ sudo apt remove libgirepository-1.0-1 --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libtool : Depends: libc6-dev but it is not going to be installed or
                    libc-dev
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

admin@xxxxxx:~ $ sudo apt remove libgirepository-1.0-1 python3-gi --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  gir1.2-glib-2.0 libgirepository-1.0-1 python3-gi
0 upgraded, 0 newly installed, 3 to remove and 294 not upgraded.
Remv python3-gi [3.30.4-1]
Remv gir1.2-glib-2.0 [1.58.3-2]
Remv libgirepository-1.0-1 [1.58.3-2]

Do you think I can safely run without the --dry-run ? What would be the next steps then ?

@izakis : I was giving a look at your solution, and I don’t know why (did I did this ?!?) but:

admin@xxxxxxx:~ $ more /etc/apt/sources.list
deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi