Bug 2210308
| Summary: | rpminspect: rpmdeps inspection failure in libomp | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Jesus Checa <jchecahi> |
| Component: | libomp | Assignee: | Tom Stellard <tstellar> |
| Status: | VERIFIED --- | QA Contact: | Jesus Checa <jchecahi> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 8.9 | CC: | emachado, jchecahi, mprchlik, sipoyare, tstellar |
| Target Milestone: | rc | Keywords: | Bugfix, Triaged |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | libomp-16.0.6-3.module_el8+542+a7fa0888 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 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 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: