On Fri, Dec 08, 2023 at 06:54:50PM +0100, Stefan Brüns wrote:
On Freitag, 8. Dezember 2023 09:01:14 CET Marcus Meissner wrote:
Hi,
On Fri, Dec 08, 2023 at 12:42:06AM +0100, Stefan Brüns wrote:
Hi,
currently, many packages in repositories based on openSUSE:Leap:15.{4,5} fail with the above error message. See e.g. [1] for quite some occurences. Another affected base repository is openSUSE:Backports:SLE-15-SP5.
Repositories based on openSUSE:Leap:15.{4,5}:Update are fine.
Some projects have worked around this by adding "Prefer: icu-devel" to their project config, while SUSE:SLE-15-SP4:Update [2] has:
--- #request by dcermak 2023-01-25 #modified request by fvogdt 2023-01-27 #modified request by dmueller 2023-09-15 Prefer: -libicu60_2 -libicu69 -libicu-suse65_1 ---
The current state is IMHO quite messy, and leaving this up to the individual projects is wrong. The packages inherited from openSUSE:Leap:15.5 should be in a consistent state, without need for any local fixups.
So, can someone please add the actually correct lines to the relevant base projects?
Does this also happen if you use openSUSE:Backports:SLE-15-SP5:Update?
We set this in SUSE:SLE-15:Update:
# darix added 20230911 requested by meissner Prefer: libicu73_2-devel
And this config should inherit through all of the project chain if you use :Update
Someone apparently has changed some project configuration, as I can't see the resolution ambiguities any longer. A heads up to the list would have been very welcome.
I did update the list, but you did not get them, your mailbox was full. ;)
But nevertheless, I think there are still several problems here:
1. When adding a repository via the OBS UI ("Add from a distribution"), you end up with a non-:Update repository, no matter if you select "openSUSE Backports for SLE 15 SP5" or "openSUSE Leap 15.5". So the default choice would be broken. And you have to edit the XML files to fix it.
This is now resolved, and yes it should not happen.
2. As far as I can see, 15.5 does not have libicu73*, so the Prefer: is a no- op. But is does have icu65.1 (from SLE15) and icu69.1 (from SLE15SP4).
Yes, icu73_2 was not involved. In SUSE:SLE-15-SP3:Update I added a deprefer now Prefer: -libicu-devel so it will pick the icu69.1 choice.
3. Mixing multiple versions of the same shared library is in general a very bad thing. I can see the build host installs both libicu 65.1 and 69.1, so binaries may end up with linking to both versions (directly and indirectly). For libicu, this is probably mostly fine, as almost[1] all symbols are namespace-prefixed (e.g. icu_65::) for suffixed (e.g. _65), but for other libraries this may be actual problem.
Yes, fully aware of that.
(For large parts, I consider the SLPP as actually harmful, as there is *no* safeguard for this to happen, and applications can break in various hard to diagnose ways.)
Yes. Ciao, Marcus