Bug 2332429
| Summary: | default installed OpenCL-ICD-Loader conflicts with mesa-libOpenCL | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Janne Grunau <janne-fdr> |
| Component: | OpenCL-ICD-Loader | Assignee: | František Zatloukal <fzatlouk> |
| Status: | CLOSED ERRATA | QA Contact: | |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 41 | CC: | fzatlouk, marcosfrm, ngompa13 |
| Target Milestone: | --- | Keywords: | Regression |
| Target Release: | --- | ||
| Hardware: | aarch64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-04-21 16:48:58 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Janne Grunau
2024-12-14 21:57:11 UTC
Hmm, I wonder how this happened. OpenCL-ICD-Loader is just a plain new package, not mentioned in any of the comps, I certainly didn't expect this :/
One thing we can do (imo) is a mesa change:
- Requires: ocl-icd%{?_isa}
+ Requires: ocl-icd%{?_isa} or OpenCL-ICD-Loader%{?_isa}
but I'd say OpenCL-ICD-Loader just shouldn't be pulled in by default by anything, it almost seems like somethings is requiring libOpenCL.so.1 instead of ocl-icd somewhere...
Does anybody have any ideas? I have very limited availability till years end.
(In reply to František Zatloukal from comment #1) > > but I'd say OpenCL-ICD-Loader just shouldn't be pulled in by default by > anything, it almost seems like somethings is requiring libOpenCL.so.1 > instead of ocl-icd somewhere... > > Does anybody have any ideas? I have very limited availability till years end. It wouldn't surprise me if this is the case, as that's how our dependency generation works. As I said in the review bug, we need to switch over to a virtual provider system for this, like so in both ocl-icd and this package: Provides: opencl-icd-loader-impl%{?_isa} Provides: opencl-icd-loader-impl Conflicts: opencl-icd-loader-impl Then Mesa can be adjusted to the following: Requires: opencl-icd-loader-impl%{?_isa} Suggests: ocl-icd (In reply to Neal Gompa from comment #2) > > Then Mesa can be adjusted to the following: > > Requires: opencl-icd-loader-impl%{?_isa} > Suggests: ocl-icd Err, the Suggests needs to be arched, so "Suggests: ocl-icd%{?_isa}" The virtual provider would fix the conflict but I think `OpenCL-ICD-Loader` will still be pulled in as the provider for "libOpenCL.so.1*" (most likely via libavfilter-free). This should work but my understanding from https://bugzilla.redhat.com/show_bug.cgi?id=2330385 is that it's unintended. "Suggests: ocl-icd%{?_isa}" in mesa-libOpenCL might resolve the issue for the Fedora Asahi Remix kiwi image generation as it explicitly installs "mesa-libOpenCL". This won't work for Fedora composes as nothing pulls mesa-libOpenCL in. I don't see how this can be resolved unless rpm provides priorities for the "libOpenCL.so.1*" dependency. I suspect it prefers "OpenCL-ICD-Loader" over "ocl-icd" based on case sensitive alphabetical sorting. FEDORA-2025-1d2ba9671c (mesa-25.0.3-1.fc43) has been submitted as an update to Fedora 43. https://bodhi.fedoraproject.org/updates/FEDORA-2025-1d2ba9671c FEDORA-2025-52471ac786 (mesa-25.0.4-1.fc43) has been submitted as an update to Fedora 43. https://bodhi.fedoraproject.org/updates/FEDORA-2025-52471ac786 FEDORA-2025-52471ac786 (mesa-25.0.4-1.fc43) has been pushed to the Fedora 43 stable repository. If problem still persists, please make note of it in this bug report. (In reply to František Zatloukal from comment #1) > Hmm, I wonder how this happened. OpenCL-ICD-Loader is just a plain new > package, not mentioned in any of the comps, I certainly didn't expect this :/ > > One thing we can do (imo) is a mesa change: > > - Requires: ocl-icd%{?_isa} > + Requires: ocl-icd%{?_isa} or OpenCL-ICD-Loader%{?_isa} > > but I'd say OpenCL-ICD-Loader just shouldn't be pulled in by default by > anything, it almost seems like somethings is requiring libOpenCL.so.1 > instead of ocl-icd somewhere... > > Does anybody have any ideas? I have very limited availability till years end. Well, the Fedora rocm-opencl package recommends OpenCL-ICD-Loader (https://src.fedoraproject.org/rpms/rocclr/blob/f42/f/rocclr.spec#_126). If I use the RHEL9 repository from https://repo.radeon.com/rocm/ on Fedora 42 and install rocm-opencl-runtime, it pulls in ocl-icd as a dependency instead. Why is OpenCL-ICD-Loader preferred by the Fedora rocm-opencl package? Shouldn't *all* packages that require or recommend the Loader be adapted to follow what was done in Mesa and use a flexible dependency like (ocl-icd%{?_isa} or OpenCL-ICD-Loader%{?_isa})? |