Problem when upgrading from fedora 38 xfce to fedora 40

I was upgrading my fedora xfce installation from version 38 to version 40 by dnf . Everything was going fine and I was in the middle of the last upgrading step during the reboot when my laptop’s power died .

Now whenever I am trying to upgrade again it using dnf system-upgrade download --releasever=40, the output says Problem : The operation would result in removing the following protected packages : dnf , grub2-efi-ia32 , grub2-efi-x64 , grub2-pc , grub2-tools-minimal , setup , sudo, systemd , systemd-udev .

I tried with the --skip-broken option , but the output was same . I also tried to do the dnf upgrade --refresh before attempting to upgrade again but no luck .

I tried distro-sync but got a lot of errors . Output
backup link

Also tried dnf upgrade --releasever=40 and dnf system-upgrade download --releasever=39 but got similar errors to the distro-sync command .

What should I do now ?

Hello @phypy ,
Try adding the --allowerasing option to the dnf commmand and keep the --skip-broken

Did it but the output is still same with the exact same error .

If you use dnf history to get the transaction ID that was interrupted, maybe I or someone else here can help you roll the transaction back then you can retry it. Maybe post the recent transactions here using the preformatted text button </> (or <Ctrl><e>) to paste the results here. The higher number transaction ID’s are for newer more recent transactions.

1 Like

@phypy There are a couple of threads here on the forum where we’ve successfully helped get the OS back in sync. I believe we had 2 different way of doing it because of the builds in questions.

I can’t stay on too much longer today, but I’ll give you help as much as I can.

2 Likes

Before you do dnf system-upgrade download --releasever=40 did you do dnf upgrade --refresh ? @phypy

yes , did that , rebooted and then did the system-upgrade command .

found the transaction . It was the last successful transaction and the time matches when I did it (there are total 3 successful transactions today , the latest one is the upgrade one)

So the transaction is :

ID : 141
Command line : system-upgrade upgrade
Date and time : 2024-05-23 12:52(my local time)
Action (s) : C , D , E , I , O , 
Altered : 2798#<

@hamrheadcorvette @jakfrost

Hello @phypy ,
You can try sudo dnf history rollback 141 to try to undo the transaction, if it balks or doesn’t work add the -b (best) and --allowerasing options to give some package flexibility. You can also redo the transaction with sudo dnf history redo 141 -b --allowerasing to maybe get it to retry the upgrade. If you add --refresh as well this clears out the meta data and forces dnf to reload the repo info.

2 Likes

At first I did the sudo dnf history redo 141 -b --allowerasing --refresh and the output was basically mentioning a lot of rpms that it couldn’t find in the format Cannot find rpm nevra "packagename" .

Then I did the sudo dnf history rollback 141 -b --allowerasing and the output was :

Dependencies resolved.
Nothing to do.
Complete!

After that I tried again the system-upgrade command and was greeted with the same error .

You have following conflict

package glibc-sinitic-langpacks-2.39-99.noarch from rpmsphere-noarch conflicts with glibc-all-langpacks provided by glibc-all-langpacks-2.37-1.fc38.x86_64 from fedora

To resolve you need to remove glibc-sinitic-langpacks and after upgrade you can install

glibc-langpack-cmn
glibc-langpack-hak
glibc-langpack-lzh
glibc-langpack-nan
glibc-langpack-yue

from the Fedora repository.

If you have other packages from rpmsphere they would be suspect as well.

2 Likes

When I tried dnf remove glibc-sinitic-langpacks It said :

No match for argument : glibc-sinitic-langpacks

I tried dnf repository-packages rpmsphere-noarch list installed but got no output .

I got only one output for dnf repository-packages rpmsphere list installed which was wxhexeditor .

I also just tried dnf distro-sync --skip-broken --allowerasing and got the same error :

Problem : The operation would result in 
removing the following protected packages : 
dnf , grub2-efi-ia32 , grub2-efi-x64 , grub2-pc , 
grub2-tools-minimal , setup , sudo, systemd , 
systemd-udev .

Then remove wxhexeditor and disable rpmsphere. I checked wxhexeditor and you can’t install it on Fedora 40 due to library conflicts.

[root@newbox yum.repos.d]# dnf install wxhexeditor
Last metadata expiration check: 0:05:05 ago on Thu 23 May 2024 20:00:15 CEST.
Error: 
 Problem: conflicting requests
  - nothing provides libwx_baseu-3.0.so.0()(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_baseu-3.0.so.0(WXU_3.0)(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_gtk3u_core-3.0.so.0()(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_gtk3u_core-3.0.so.0(WXU_3.0)(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_gtk3u_core-3.0.so.0(WXU_3.0.5)(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_gtk3u_adv-3.0.so.0()(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_gtk3u_adv-3.0.so.0(WXU_3.0)(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_baseu_net-3.0.so.0()(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_baseu_xml-3.0.so.0()(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_baseu_net-3.0.so.0(WXU_3.0)(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_baseu_xml-3.0.so.0(WXU_3.0)(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_gtk3u_aui-3.0.so.0()(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
  - nothing provides libwx_gtk3u_aui-3.0.so.0(WXU_3.0)(64bit) needed by wxhexeditor-0.24-1.x86_64 from rpmsphere
(try to add '--skip-broken' to skip uninstallable packages)
[root@newbox yum.repos.d]# 
1 Like

@phypy ,
There are several hex editors available such as ImHex, which is available in fedora rpm format or on Fedora’s filtered Flathub. There are others as well.

sorry for the very late reply .

I removed the hexeditor and also deleted the rpmsphere repo .
Someone suggested glibc.i686 can be the problem , so I also deleted that .

Still no luck . When I tried distro-sync it still gives the error about removing the protected packages

@jakfrost @vekruse

Fedora 40 upgrade failed succesfully? - #9 by vgaetera

1 Like

Check the active repositories by running dnf repolist.
Also run dnf check and rpm -qa --dupes.

1 Like

dnf repolist shows :

fedora 38 - x86_64 , fedora 38 openh264 (From cisco) - x86_64 ,
fedora modular 38 - x86_64 , 
RPM fusion for fedora 38 - free , RPM fusion for fedora 38 - free - updates ,
fedora 38 - x86_64 , fedora modular 38 - x86_64 - updates

dnf check shows a bunch of duplicated packages adding upto 2189 problems .

rpm -qa --dupes shows a list of bunch of packages

1 Like

For removing deduplicated packages you normally use

sudo dnf install remove-retired-packages
remove-retired-packages VERSION

maybe this works by placing 40 there?

See this docs page for additional stuff.

What is your output of echo $(rpm -E %fedora) ?

1 Like