OpenCL-ICD-Loader causing dependency issues

I am having a similar dependency conflict as in this post. Though I don’t have Nvidia drivers, but it is causing issues with a conflict with AMD Rocm.

I think a similar fix is required for the rocm package.

$ rpm-ostree upgrade
note: automatic updates (stage) are enabled
2 metadata, 0 content objects fetched; 788 B transferred in 2 seconds; 0 bytes content written
Checking out tree 5ec44d0... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora updates-archive
Updating metadata for 'fedora-cisco-openh264'... done
Updating metadata for 'updates'... done
Updating metadata for 'fedora'... done
Updating metadata for 'updates-archive'... done
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264'; generated: 2024-03-11T19:22:31Z solvables: 3
rpm-md repo 'updates'; generated: 2024-12-16T02:12:16Z solvables: 13766
rpm-md repo 'fedora'; generated: 2024-10-24T13:55:59Z solvables: 76624
rpm-md repo 'updates-archive'; generated: 2024-12-16T02:54:59Z solvables: 16407
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - package rocm-opencl-6.2.1-2.fc41.x86_64 from updates requires ocl-icd(x86-64), but none of the providers can be installed
  - package rocm-opencl-6.2.0-1.fc41.x86_64 from fedora requires ocl-icd(x86-64), but none of the providers can be installed
  - package rocm-opencl-6.2.1-2.fc41.x86_64 from updates-archive requires ocl-icd(x86-64), but none of the providers can be installed
  - package rocm-opencl-6.2.1-4.fc41.x86_64 from updates-archive requires ocl-icd(x86-64), but none of the providers can be installed
  - package OpenCL-ICD-Loader-3.0.6-1.20241023git5907ac1.fc41.x86_64 from @System conflicts with ocl-icd provided by ocl-icd-2.3.2-7.fc41.x86_64 from fedora

Same here - really annoying as I can’t seem to bypass it in any way

Can you post the output of rpm-ostree status? Thanks

$ rpm-ostree status
State: busy
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
Transaction: update --check 
  Initiator: client(id:cli dbus:1.142 unit:app-org.kde.discover.notifier@autostart.service uid:1000)
Deployments:
● fedora:fedora/41/x86_64/kinoite
                  Version: 41.20241213.0 (2024-12-13T00:45:51Z)
               BaseCommit: eaab9f4181c22a35ac63cd6b1f340929e9a14bc193ba4045952aee733b11c500
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
      RemovedBasePackages: firefox firefox-langpacks 133.0.3-1.fc41
          LayeredPackages: cockpit cockpit-machines cockpit-ostree cockpit-podman doas libvirt neovim rocm-clinfo rocm-opencl rocminfo tmux
                           virt-manager zsh

  fedora:fedora/41/x86_64/kinoite
                  Version: 41.20241212.0 (2024-12-12T00:44:08Z)
               BaseCommit: b8b76d8c6530068936d5bf79c077e5c8751bd4129da0fc5bbb4be74db2b16d81
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
      RemovedBasePackages: firefox firefox-langpacks 133.0-2.fc41
          LayeredPackages: cockpit cockpit-machines cockpit-ostree cockpit-podman doas libvirt neovim rocm-clinfo rocm-opencl rocminfo tmux
                           virt-manager zsh

AvailableUpdate:
        Version: 41.20241216.0 (2024-12-16T00:46:25Z)
         Commit: 5ec44d0b0d4f6c39066426caed763e96bae2a5c76f5d68e4756662af9fc13a37
   GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
  SecAdvisories: 1 unknown severity
           Diff: 146 upgraded, 1 removed, 1 added

If I understand Could not depsolve transaction while updating Fedora Silverblue 41 (41.20241213.0) with Nvidia drivers - #8 by leigh123linux and nonfree/xorg-x11-drv-nvidia.git - xorg-x11-drv-nvidia correctly, it might be good to open a bug report for the rocclr package to ask them to update their dependency: Tree - rpms/rocclr - src.fedoraproject.org

1 Like

Thanks. I’ve opened the following bug report if anyone wants to follow:
https://bugzilla.redhat.com/show_bug.cgi?id=2332844

2 Likes

Thanks for tracking this down!

I’m hitting this with an AMD GPU as well; it seems that both rocm-opencl and mesa-libOpenCLare affected. Perhaps the NVidia fix from RPMFusion for xorg-x11-drv-nvidia might mean the other xorg-x11-drv packages for AMD and Intel might need similar fixes in their Requires: in their spec files too, and/or perhaps other packages as well?

I did a search for this problem in the Universal Blue repos and found they have a workaround already:

Here’s the one-liner version, ready to copy and paste for any Atomic variant of Fedora:

rpm-ostree override replace --from repo='fedora' --experimental --remove=OpenCL-ICD-Loader ocl-icd

This should work for silverblue, kinoite, and any of the other atomic-desktops, which would let us use OpenCL again (quite important for hardware acceleration for some apps, especially for darktable).

2 Likes

This issue is not resolved. The one-liner does not work. Am I supposed to delete all the mesa-drivers for opencl, then run that command? Because otherwise it still doesn’t work and this issue needs to be reopened.

~$ rpm-ostree status 
State: idle
Deployments:
● fedora:fedora/41/x86_64/silverblue
                  Version: 41.20241206.0 (2024-12-06T02:25:54Z)
               BaseCommit: 060bcdb994ebf68bf005593440619f0bb9d388ccd9e90c8944697e1800bc5975
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
      RemovedBasePackages: noopenh264 0.1.0~openh264_2.4.1-2.fc41
          LayeredPackages: gstreamer1-plugin-openh264 mangohud mono-devel rocm-clinfo rocm-hip
                           rocm-opencl steam-devices

  fedora:fedora/41/x86_64/silverblue
                  Version: 41.20241203.0 (2024-12-03T02:08:54Z)
               BaseCommit: 041c69aa9a95a4590dc5c9a72da480dc92f45a8639604e2ba389368a58c4b9fe
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
      RemovedBasePackages: noopenh264 0.1.0~openh264_2.4.1-2.fc41
          LayeredPackages: gstreamer1-plugin-openh264 mangohud mono-devel rocm-clinfo rocm-hip
                           rocm-opencl steam-devices
error: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - package rocm-opencl-6.2.1-2.fc41.x86_64 from updates requires ocl-icd(x86-64), but none of the providers can be installed
  - package rocm-opencl-6.2.0-1.fc41.x86_64 from fedora requires ocl-icd(x86-64), but none of the providers can be installed
  - package rocm-opencl-6.2.1-2.fc41.x86_64 from updates-archive requires ocl-icd(x86-64), but none of the providers can be installed
  - package rocm-opencl-6.2.1-4.fc41.x86_64 from updates-archive requires ocl-icd(x86-64), but none of the providers can be installed
  - package OpenCL-ICD-Loader-3.0.6-1.20241023git5907ac1.fc41.x86_64 from @System conflicts with ocl-icd provided by ocl-icd-2.3.2-7.fc41.x86_64 from fedora

I came across this issue too. I found removing the offending packages (rocm-*) will at least let you upgrade, however, you won’t be able to install them again, as it shows the same OpenCL-ICD-Loader conflict error.

Even after removing all my overlayed packages (just to make sure to rule anything else out), attempting the override replace still doesn’t work:

$ sudo rpm-ostree status
State: idle
Deployments:
● fedora:fedora/41/x86_64/silverblue
                  Version: 41.20250125.0 (2025-01-25T01:25:05Z)
                   Commit: 494265cb440fd047887c50052ce5f513393093372d4e6abe7fbc6aeb0940c007
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
$ sudo rpm-ostree override replace --from repo='fedora' --experimental --remove=OpenCL-ICD-Loader ocl-icd
Inactive base replacements:
  ocl-icd
Checking out tree 494265c... done
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
 Problem: package libavutil-free-7.0.2-7.fc41.x86_64 from @System requires libOpenCL.so.1()(64bit), but none of the providers can be installed
  - package libavutil-free-7.0.2-7.fc41.x86_64 from @System requires libOpenCL.so.1(OPENCL_1.0)(64bit), but none of the providers can be installed
  - package libavutil-free-7.0.2-7.fc41.x86_64 from @System requires libOpenCL.so.1(OPENCL_1.2)(64bit), but none of the providers can be installed
  - conflicting requests

I noticed the last comments from two bugzilla reports seemingly refer to the issue the override replace is having[1][2], and seems to indicate this is still being worked on (albeit they were comments from a month ago).


  1. https://bugzilla.redhat.com/show_bug.cgi?id=2332429 ↩︎

  2. https://bugzilla.redhat.com/show_bug.cgi?id=2330385 ↩︎