Wine packages prevent me from upgrading 42→43

I wanted to try out Fedora 43 on a (non-critical) laptop. The upgrade didn’t go so well.

I’m using the command line method, and first did a complete dnf upgrade. So far no problems.

Then I tried dnf system-upgrade download --releasever=43. That gives a long list of f42 packages that are already installed:

Package "sudo-1.9.17-2.p1.fc42.x86_64" is already installed.
Package "curl-8.11.1-6.fc42.x86_64" is already installed.
Package "dhcp-client-12:4.4.3-16.P1.fc42.x86_64" is already installed.
Package "dnf5-5.2.16.0-1.fc42.x86_64" is already installed.
Package "bash-5.2.37-1.fc42.x86_64" is already installed.
Package "coreutils-9.6-6.fc42.x86_64" is already installed.
…

This is the first thing that doesn’t make sense to me. I know those packages are installed, but I’m trying to upgrade to 43, so why are they listed. In total 244 packages are listed (out of >4000 installed on the machine).

After this list dnf lists 5 problems:

Problem 1: wine-dxvk-2.6.2-1.fc42.i686 from @System has inferior architecture
  - wine-dxvk-2.6.2-1.fc42.x86_64 does not belong to a distupgrade repository
  - problem with installed package
 Problem 2: wine-dxvk-d3d10-2.6.2-1.fc42.i686 from @System has inferior architecture
  - wine-dxvk-d3d10-2.6.2-1.fc42.x86_64 does not belong to a distupgrade repository
  - problem with installed package
 Problem 3: wine-dxvk-d3d8-2.6.2-1.fc42.i686 from @System has inferior architecture
  - wine-dxvk-d3d8-2.6.2-1.fc42.x86_64 does not belong to a distupgrade repository
  - problem with installed package
 Problem 4: wine-dxvk-d3d9-2.6.2-1.fc42.i686 from @System has inferior architecture
  - wine-dxvk-d3d9-2.6.2-1.fc42.x86_64 does not belong to a distupgrade repository
  - problem with installed package
 Problem 5: wine-dxvk-dxgi-2.6.2-1.fc42.i686 from @System has inferior architecture
  - wine-dxvk-dxgi-2.6.2-1.fc42.x86_64 does not belong to a distupgrade repository
  - problem with installed package

This is the second thing that doesn’t make any sense to me. What is wrong with those packages?

As the next step I tried to remove all wine-dxvk* packages in case it might be something strange with them. After that the dnf looks better at first. It still gives a long list f42 packages already installed, but then it lists packages where it will replace the f42 version with the f43one. After that it starts downloading them. But after the download is complete it gets weird again:

Testing offline transaction
Transaction failed: Rpm transaction failed.
  - file /usr/lib64/wine/i386-windows from install of wine-core-10.15-1.fc43.x86_64 conflicts with file from package wine-core-10.15-1.fc42.x86_64
  - file /usr/lib/wine/i386-windows/ddraw.dll conflicts between attempted installs of wine-core-10.15-1.fc43.i686 and wine-core-10.15-1.fc43.x86_64
  - file /usr/lib/wine/i386-windows/urlmon.dll conflicts between attempted installs of wine-core-10.15-1.fc43.i686 and wine-core-10.15-1.fc43.x86_64
  - file /usr/lib/wine/i386-windows/windows.devices.bluetooth.dll conflicts between attempted installs of wine-core-10.15-1.fc43.i686 and wine-core-10.15-1.fc43.x86_64
  - file /usr/lib/wine/i386-windows/wined3d.dll conflicts between attempted installs of wine-core-10.15-1.fc43.i686 and wine-core-10.15-1.fc43.x86_64
  - file /usr/lib/wine/i386-windows/winmm.dll conflicts between attempted installs of wine-core-10.15-1.fc43.i686 and wine-core-10.15-1.fc43.x86_64

The first conflict is the third thing that doesn’t make sense. Why does it want to keep both the f42 and f43 package?

The second conflict also doesn’t make sense to me. It could make sense if there was a packaging change so you couldn’t install both the i686 and the x86_64 version of wine-core in parallel. But when I do it in an f43 container, they both install fine. And the x86_64 package does not contain /usr/lib/wine/i386-windows/ddraw.dll.

As you can see, I’m very confused. Is there anyone who can explain what is going on?

2 Likes

As per Upgrading Fedora Linux Using DNF System Plugin :: Fedora Docs

Peehaps

sudo rpm --rebuilddb

Will help?

Running distro-sync and allow-erasing are worth a shot too.

Thanks for the idea!

Unfortunately rebuilddb didn’t make any difference. (I had already done a distro-sync, but forgot to mention it.)

By the way, it is possible I could work around the problem by completely removing all wine* packages. But I’m trying to understand if I have discovered a bug that should be reported, or if it is just me who have done something stupid again.

From what I see on the forums, this is one of those issues that occur seemingly randomly.

I updated to F43 - I may have had to uninstall Wine to upgrade - can’t quite remember!

I dont see that you did anything stupid … the F42 package issues do seem buggy.

Try removing Wine and try the upgrade again.

Maybe someone more knowedgable will explain why the upgrade wants to keep F42 packages.

The i686 in the name indicates that they are all 32 bit packages on a 64 bit system. I guess there’s no 32 bit version of wine on F43, which sounds a bit suspicious.

I have had problems updating wine since I upgraded the system to f43.
@goeran
The errors you see in the upgrade of wine seem all related to wine-core. I have been updating f43 using --exclude wine-core and it works for me. It seems that wine-core i686 conflicts with wine-core x86_64.

Probably a bug should be filed and maybe even suggested as a blocker against wine-core.

1 Like

Yes there is, I tested that using the an F43 container. In the container, it is quite possible to install both wine.x86_64 and wine.i686.

But now you made me look closer. It seems there is no i686 version of the wine-dxvk* packages in particular in F43. Furthermore, in F42 wine-dxvk.x86_64 depends on wine-dxvk.i686, so it isn’t possible to just remove the 32 bit version from F42.

This might explain my confusion number two. But not the first (why it mentions all the f42 packages), nor the third and fourth where a package seems to conflict without actually containing the file.

1 Like

I’ll do that.

bug filed

But I cannot find how to propose it as a release blocker for f43

2 Likes

Thanks, you beat me to it. I found instructions on how to suggest blockers and just did that for your bug.

1 Like

sudo dnf system-upgrade download --no-downgrade --releasever=43

3 Likes

This seemed to work, hadn’t tested it yet, but when I entered the command, it fully ignored the conflicting packages: wine-dxvk, wine-dxvk-d3d10, wine-dxvk-d3d9, wine-dxvk-d3d9 and wine-dxvk-dxgi (all x86_64 version 2.7.1-3.fc43).

Thanks!

I had the same problem yesterday. Unfortunately, I had to dnf remove wine-core.

Here’s hoping this gets fixed!