I have successfully upgraded 3 OpenSuse systems from Leap 15.3 to 15.4 but when trying to do the next one I am getting some worrying messages about dependencies which cannot be met. For instance:
Problem: the installed python2-libxml2-python-2.9.7-150000.3.46.1.x86_64 requires ‘libxml2-2 = 2.9.7’, but this requirement cannot be provided
Problem: the to be installed grub2-systemd-sleep-plugin-2.06-150400.9.9.noarch requires ‘util-linux’, but this requirement cannot be provided
Problem: the installed kernel-preempt-extra-5.3.18-150300.59.90.1.x86_64 requires ‘kernel-preempt_x86_64 = 5.3.18-150300.59.90’, but this requirement cannot be provided
So far as I can see the dependencies are installed OK. If I tell the update to de-install, what are referred to as obsolete versions, then the list of problems just gets longer.
In addition, if I try to do the upgrade from a USB stick when it gets to showing the file systems there is nothing showing on screen until I click on Show all file systems.
Having had the problem using the USB stick I wondered if a zypper dup would do any better but it comes up with the same issues.
I have tried an rpm rebuild and a reinstall of some of the dependencies but that hasn’t helped.
I would prefer to upgrade and not have to to a fresh install.
# zypsei python | grep xml
i | python3-lxml | package | 4.7.1-150200.3.10.1 | x86_64 | UpdateSLE
Since python2-libxml2-python is not installed here, it must not be part of the base system, and can be removed prior to upgrading. The only python2 package installed here on my 15.4 is libpython2_7-1_0.
Problem: the to be installed grub2-systemd-sleep-plugin-2.06-150400.9.9.noarch requires ‘util-linux’, but this requirement cannot be provided
zypper al grub2-systemd-sleep-plugin
should function as a temporary workaround until the reason util-linux cannot be provided is determined. Skip this until determining a kernel-preempt resolution is established.
Above are the current util-linu* versions. It doesn’t often happen in Leap here, but in TW, I often find util-linux upgrade blocked by an old kernel I don’t want removed. So I download it with wget, then install it with rpm -Uvh --nodeps. This has never caused a problem here, apparently because it only affects initrd regeneration of those old kernels, whose initrds I make immutable so that they cannot be regenerated.
Problem: the installed kernel-preempt-extra-5.3.18-150300.59.90.1.x86_64 requires ‘kernel-preempt_x86_64 = 5.3.18-150300.59.90’, but this requirement cannot be provided
Do you have any kernels currently installed other than kernel-preempt, such as kernel default? If you do, uninstall kernel-preempt-extra-5.3.18-150300.59.90.1.x86_64 and kernel-preempt-5.3.18-150300.59.90.1.x86_64 prior to upgrading. Most users should be using kernel-default, while some dependency issue somewhere in the past causes kernel-preempt to be added. Most users not using nouveau drivers for NVidia GPUs don’t need kernel-*-extra. Are you purposely using kernel-preempt? This I suspect is closely related to the problem with util-linux.
If all this is insufficient, please post output here from sudo zypper lr -d in your reply.
Problem: the installed python2-libxml2-python-2.9.7-150000.3.46.1.x86_64 requires 'libxml2-2 = 2.9.7', but this requirement cannot be provided
Problem: the to be installed grub2-systemd-sleep-plugin-2.06-150400.9.9.noarch requires 'util-linux', but this requirement cannot be provided
Problem: the installed kernel-preempt-extra-5.3.18-150300.59.90.1.x86_64 requires 'kernel-preempt_x86_64 = 5.3.18-150300.59.90', but this requirement cannot be provided
The first is an package of Leap 15.3, deinstall it.
The second should be gone when you update your system:
zypper se -s grub2-systemd
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
---+----------------------------+---------+--------------------+--------+-------------------------------------------------------------
i+ | grub2-systemd-sleep-plugin | package | 2.06-150400.11.5.2 | noarch | Update repository with updates from SUSE Linux Enterprise 15
v | grub2-systemd-sleep-plugin | package | 2.06-150400.9.9 | noarch | Main Repository
The third is an old kernel from Leap 15.3, you can delete it.
Thank you very much for your responses. I have no idea what installed kernel-preempt but by removing it and the python package and setting the lock on the grub plugin, plus also removing pulse-audio, I got a clean update.