Bug 1212435 - package build install-check breaks gcc7 and gcc12 packages
Summary: package build install-check breaks gcc7 and gcc12 packages
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Fabian Vogt
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-16 08:12 UTC by Richard Biener
Modified: 2023-06-23 07:48 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.