Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 2210308

Summary: rpminspect: rpmdeps inspection failure in libomp
Product: Red Hat Enterprise Linux 8 Reporter: Jesus Checa <jchecahi>
Component: libompAssignee: Tom Stellard <tstellar>
Status: CLOSED ERRATA QA Contact: Jesus Checa <jchecahi>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.9CC: emachado, jchecahi, mprchlik, sipoyare, tstellar
Target Milestone: rcKeywords: Bugfix, Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libomp-16.0.6-3.module_el8+542+a7fa0888 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-11-14 15:33:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jesus Checa 2023-05-26 14:16:38 UTC
Description of problem:
rpmdeps inspection pops up two dependency issues in libomp rpm. Using aarch64 only to illustrate the errors, this occurs in aarch64, ppc64le, s390x and x86_64.

rpmdeps:
--------
1) Multiple subpackages provide 'Requires: libomp.so()(64bit)': [libomp, libomp-test] but these subpackages carry explicit Requires: [libomp, libomp, libomp] 

Result: VERIFY
Waiver Authorization: Anyone

Suggested Remedy: Check subpackage %files sections and explicit Provides statements.  Only one subpackage should provide a given shared library.  Shared library names are automatically added as Provides, so there is no need to specify them in the spec file but you do need
to make sure only one subpackage is packaging up the shared library in question.

2) Subpackage libomp-devel on aarch64 carries 'Requires: libomptarget.rtl.aarch64.nextgen.so.16()(64bit)' which comes from subpackage libomp but does not carry an explicit package version requirement.  Please add 'Requires: libomp = %{version}-%{release}' to the spec file
to avoid the need to test interoperability between various combinations of old and new subpackages. 

Result: VERIFY
Waiver Authorization: Anyone

Suggested Remedy: Add the indicated explicit Requires to the spec file for the named subpackage.  Subpackages depending on shared libraries in another subpackage must carry an explicit 'Requires: SUBPACKAGE_NAME = %{version}-%{release}' in the spec file.

3) Subpackage libomp-devel on aarch64 carries 'Requires: libomptarget.rtl.aarch64.so.16()(64bit)' which comes from subpackage libomp but does not carry an explicit package version requirement.  Please add 'Requires: libomp = %{version}-%{release}' to the spec file to avoid
the need to test interoperability between various combinations of old and new subpackages. 

Result: VERIFY
Waiver Authorization: Anyone

Suggested Remedy: Add the indicated explicit Requires to the spec file for the named subpackage.  Subpackages depending on shared libraries in another subpackage must carry an explicit 'Requires: SUBPACKAGE_NAME = %{version}-%{release}' in the spec file.

4) Subpackage libomp-devel on aarch64 carries 'Requires: libomptarget.rtl.amdgpu.nextgen.so.16()(64bit)' which comes from subpackage libomp but does not carry an explicit package version requirement.  Please add 'Requires: libomp = %{version}-%{release}' to the spec file
to avoid the need to test interoperability between various combinations of old and new subpackages. 

Result: VERIFY
Waiver Authorization: Anyone

Suggested Remedy: Add the indicated explicit Requires to the spec file for the named subpackage.  Subpackages depending on shared libraries in another subpackage must carry an explicit 'Requires: SUBPACKAGE_NAME = %{version}-%{release}' in the spec file.

5) Subpackage libomp-devel on aarch64 carries 'Requires: libomptarget.rtl.amdgpu.so.16()(64bit)' which comes from subpackage libomp but does not carry an explicit package version requirement.  Please add 'Requires: libomp = %{version}-%{release}' to the spec file to avoid
the need to test interoperability between various combinations of old and new subpackages. 

Result: VERIFY
Waiver Authorization: Anyone

Suggested Remedy: Add the indicated explicit Requires to the spec file for the named subpackage.  Subpackages depending on shared libraries in another subpackage must carry an explicit 'Requires: SUBPACKAGE_NAME = %{version}-%{release}' in the spec file.

6) Subpackage libomp-devel on aarch64 carries 'Requires: libomptarget.rtl.cuda.nextgen.so.16()(64bit)' which comes from subpackage libomp but does not carry an explicit package version requirement.  Please add 'Requires: libomp = %{version}-%{release}' to the spec file to
avoid the need to test interoperability between various combinations of old and new subpackages. 

Result: VERIFY
Waiver Authorization: Anyone

Suggested Remedy: Add the indicated explicit Requires to the spec file for the named subpackage.  Subpackages depending on shared libraries in another subpackage must carry an explicit 'Requires: SUBPACKAGE_NAME = %{version}-%{release}' in the spec file.

7) Subpackage libomp-devel on aarch64 carries 'Requires: libomptarget.rtl.cuda.so.16()(64bit)' which comes from subpackage libomp but does not carry an explicit package version requirement.  Please add 'Requires: libomp = %{version}-%{release}' to the spec file to avoid
the need to test interoperability between various combinations of old and new subpackages. 

Result: VERIFY
Waiver Authorization: Anyone

Suggested Remedy: Add the indicated explicit Requires to the spec file for the named subpackage.  Subpackages depending on shared libraries in another subpackage must carry an explicit 'Requires: SUBPACKAGE_NAME = %{version}-%{release}' in the spec file.

8) Subpackage libomp-devel on aarch64 carries 'Requires: libomptarget.so.16()(64bit)' which comes from subpackage libomp but does not carry an explicit package version requirement.  Please add 'Requires: libomp = %{version}-%{release}' to the spec file to avoid the need to
test interoperability between various combinations of old and new subpackages. 

Result: VERIFY
Waiver Authorization: Anyone
----

The first error seems to happen because libomp-test has libomp.so() in the provides list:
----------
# rpm -q --provides libomp-test-16.0.0-1.module+el8.9.0+18819+1c91450f.aarch64.rpm                                                                                         
libomp-test = 16.0.0-1.module+el8.9.0+18819+1c91450f
libomp-test(aarch-64) = 16.0.0-1.module+el8.9.0+18819+1c91450f
libomp.so()(64bit)
libomp.so(GOMP_1.0)(64bit)
libomp.so(GOMP_2.0)(64bit)
libomp.so(GOMP_3.0)(64bit)
libomp.so(GOMP_4.0)(64bit)
libomp.so(GOMP_4.5)(64bit)
libomp.so(GOMP_5.0)(64bit)
libomp.so(GOMP_5.0.1)(64bit)
libomp.so(OMP_1.0)(64bit)
libomp.so(OMP_2.0)(64bit)
libomp.so(OMP_3.0)(64bit)
libomp.so(OMP_3.1)(64bit)
libomp.so(OMP_4.0)(64bit)
libomp.so(OMP_4.5)(64bit)
libomp.so(OMP_5.0)(64bit)
libomp.so(VERSION)(64bit)
----------

The rest of errors seem to be caused because there is not an explicit dependency between libomp-devel and libomp. Adding "Requires: %{name}%{?isa} = %{version}-%{release}" to the "%package devel" section might fix the issue.

Version-Release number of selected component (if applicable):
libomp-16.0.0-1.module+el8.9.0+18819+1c91450f

How reproducible:
100%

Steps to Reproduce:
1. rpminspect-redhat -v -T rpmdeps --release=el8 --profile=rhel-8 -s VERIFY libomp-15.0.7-1.module+el8.8.0+17939+b58878af libomp-16.0.0-1.module+el8.9.0+18819+1c91450f


Actual results:
Output described above

Expected results:
No dependency issues.

Additional info:

Comment 11 errata-xmlrpc 2023-11-14 15:33:59 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (llvm-toolset:rhel8 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:6985