Bug 1212435

Summary: package build install-check breaks gcc7 and gcc12 packages
Product: [openSUSE] openSUSE Tumbleweed Reporter: Richard Biener <rguenther>
Component: OtherAssignee: Fabian Vogt <fvogt>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: dimstar, dleuenberger, meissner
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Richard Biener 2023-06-16 08:12:35 UTC
recently I get messages from OBS like the following


factory-maintainer wrote 6 days ago

Installcheck problems for x86_64

    package bash-5.2.15.x86_64 requires libreadline.so.8()(64bit), but none of the providers can be installed
    package bash-5.2.15.x86_64 requires libreadline.so.8(READLINE_6.3)(64bit), but none of the providers can be installed
    package bash-5.2.15.x86_64 requires libreadline.so.8(READLINE_7.0)(64bit), but none of the providers can be installed
    package bash-5.2.15.x86_64 requires libreadline.so.8(READLINE_8.0)(64bit), but none of the providers can be installed
    package bash-5.2.15.x86_64 requires libreadline.so.8(READLINE_8.2)(64bit), but none of the providers can be installed
    package bash-5.2.15.x86_64 requires libreadline8 = 8.2, but none of the providers can be installed
    package bash-legacybin-5.2.15.noarch requires bash = 5.2.15-8.2, but none of the providers can be installed
    package libncurses6-6.4.20230520.x86_64 requires libstdc++.so.6(GLIBCXX_3.4.32)(64bit), but none of the providers can be installed
    package libreadline8-8.2.x86_64 requires libtinfo.so.6()(64bit), but none of the providers can be installed
    package libreadline8-8.2.x86_64 requires libtinfo.so.6(NCURSES6_TINFO_5.0.19991023)(64bit), but none of the providers can be installed
    package libstdc++6-13.1.1+git7364.x86_64 conflicts with libstdc++6 provided by libstdc++6-gcc7-7.5.0+r278197.x86_64
    package libstdc++6-gcc7-7.5.0+r278197.x86_64 conflicts with libstdc++6 provided by libstdc++6-13.1.1+git7364.x86_64
    package rpm-4.18.0.x86_64 requires /bin/bash, but none of the providers can be installed


we traced that back to installcheck attempting to install
libstdc++6-gccN packages which would replace the system runtime with a
possibly too old version.  The shared library packages suffixed with -gccN
are not supposed to be installed and this problem appears to be new.


I now also got a reminder

Dear Richard Biener,

Please be informed that 'gcc7' in openSUSE:Factory has
a problem since Wed Jun  7 23:04:05 2023:
  Uninstallable: package bash-5.2.15.x86_64 requires
libreadline.so.8()(64bit), but none of the providers can be installed


But there is no way I can fix this error.  Instead installcheck should
not forcefully install packages that are in conflict with an already
installed package.
Comment 1 Richard Biener 2023-06-16 08:13:19 UTC
Dominique, can you please assign this to somebody who's responsible for this particular check?
Comment 2 Dominique Leuenberger 2023-06-23 07:34:05 UTC
installcheck is generally seen right:

libstdc++6-gcc7 and libstdc++6-gcc12 are not installable on an RPM based TW system

* rpm requires /bin/bash (i.e bash)
* bash requires libreadline
* libreadline requires libtinfo
* libtinfo requires a libstdc++.so.6 providing symbols with ABI version GLIBCXX_3.4.32


The only libstdc++6 variant providing this symbol is:

> zypper se --provides "libstdc++.so.6(GLIBCXX_3.4.32)"

S | Name             | Summary                         | Type
--+------------------+---------------------------------+--------
i | libstdc++6       | The standard C++ shared library | package
  | libstdc++6-32bit | The standard C++ shared library | package

and this in turn conflicts with the -gcc7 flavor.

=> There is no valid way to install libstdc++6-gcc{7,12} - building/shipping these packages is thus futile (but they are just a subset of gcc7/gcc12, so we can probably live with this fact)

install check has gained a config option to be controlled by release managers to ignore such issues:
https://github.com/openSUSE/openSUSE-release-tools/commit/6b1a26be30afc05ed52658c1e17f7aab84f27a97

and the config for TW has been adjusted accordingly.
Comment 3 Richard Biener 2023-06-23 07:48:51 UTC
Just for the record we are indeed not supposed to ship these packages and they are not in SLE where the process what to sync out is more manual.