Mesa-libOpenCL dependency issue with attempted system upgrade

Hi All,

Is this a bug or is it packman dependency issue? When I try to upgrade TW, I get the following error:

user@yoga:~$ sudo zypper dup -d --allow-vendor-change
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...

Problem: 1: nothing provides 'libclc(llvm20)' needed by the to be installed Mesa-libOpenCL-25.0.2-1699.412.pm.2.i586
 Solution 1: deinstallation of Mesa-libOpenCL-25.0.2-408.1.x86_64
 Solution 2: keep obsolete Mesa-libOpenCL-25.0.2-408.1.x86_64
 Solution 3: break Mesa-libOpenCL-25.0.2-1699.412.pm.2.i586 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/3/c/d/?] (c): c

I manually installed libLLVM20, but even that didn’t resolve the dependency problem:

user@yoga:~$ zypper search  --details libLLVM
Loading repository data...
Reading installed packages...

S  | Name                  | Type    | Version     | Arch   | Repository
---+-----------------------+---------+-------------+--------+------------------------
   | libLLVM15             | package | 15.0.7-11.3 | x86_64 | openSUSE-Tumbleweed-Oss
   | libLLVM17             | package | 17.0.6-9.3  | x86_64 | openSUSE-Tumbleweed-Oss
   | libLLVM17-32bit       | package | 17.0.6-9.3  | x86_64 | openSUSE-Tumbleweed-Oss
   | libLLVM18             | package | 18.1.8-6.3  | x86_64 | openSUSE-Tumbleweed-Oss
   | libLLVM18-32bit       | package | 18.1.8-6.3  | x86_64 | openSUSE-Tumbleweed-Oss
i  | libLLVM19             | package | 19.1.7-3.1  | x86_64 | (System Packages)
v  | libLLVM19             | package | 19.1.7-3.2  | x86_64 | openSUSE-Tumbleweed-Oss
i  | libLLVM19-32bit       | package | 19.1.7-3.1  | x86_64 | (System Packages)
v  | libLLVM19-32bit       | package | 19.1.7-3.2  | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libLLVM20             | package | 20.1.0-1.2  | x86_64 | openSUSE-Tumbleweed-Oss
i+ | libLLVM20-32bit       | package | 20.1.0-1.2  | x86_64 | openSUSE-Tumbleweed-Oss
   | libLLVMSPIRVLib-devel | package | 20.1.0-1.1  | x86_64 | openSUSE-Tumbleweed-Oss
   | libLLVMSPIRVLib20     | package | 20.1.0-1.1  | x86_64 | openSUSE-Tumbleweed-Oss

This is what is available to me now, in terms of Mesa-libOpenCL. I tried to manually change vendor to packman, but I get the same error that nothing provides 'libclc(llvm20)' needed by the to be installed Mesa-libOpenCL-25.0.2-1699.412.pm.3.x86_64

user@yoga:~$ zypper search  --details Mesa-libOpenCL
Loading repository data...
Reading installed packages...

S  | Name                     | Type    | Version              | Arch   | Repository
---+--------------------------+---------+----------------------+--------+------------------------
i+ | Mesa-libOpenCL           | package | 25.0.2-408.1         | x86_64 | (System Packages)
v  | Mesa-libOpenCL           | package | 25.0.2-1699.412.pm.3 | x86_64 | packman
v  | Mesa-libOpenCL           | package | 25.0.2-1699.412.pm.2 | i586   | packman
v  | Mesa-libOpenCL           | package | 25.0.2-409.1         | x86_64 | openSUSE-Tumbleweed-Oss
   | Mesa-libOpenCL-debuginfo | package | 25.0.2-1699.412.pm.3 | x86_64 | packman
   | Mesa-libOpenCL-debuginfo | package | 25.0.2-1699.412.pm.2 | i586   | packman

I doubt that you need a i586 package unless you are still on a Pentium from 20 years ago. I would lock / taboo that package and try again.

Yes, I noticed that too! It is the first time I got the wrong upgrade suggestion (in terms of architecture) from zypper :grimacing:

As I mentioned at the bottom of my previous message, however, when I try to manually change vendor to packman using Yast, I get a “correct” error that nothing provides 'libclc(llvm20)' needed by the to be installed Mesa-libOpenCL-25.0.2-1699.412.pm.3.x86_64.

And when you install Mesa-libOpenCL from openSUSE?

Mesa from packman breaks regularly. Nothing new. Contact packman or wait…

It often helps to switch the vendor for Mesa back to openSUSE until packman fixed their issues. In this way you can dup your system and stay up to date and secure.

You should also check if you need Mesa from packman or only the codecs. If you only need the codecs, do not switch other packages to packman. See the SDB.

AFAIK you need Mesa from Packman only to have HW video acceleration with selected (old?) AMD / ATI chips. If you are on Intel and/or Nvidia you are good to go with Mesa from OSS.

It is an update of ‘libLLVM19’ to version 3.2 (from version 3.1) that is needed for the Packman versions of Mesa.

I see that there is now a libLLVM 20 but since I don’t use VM I just installed the 3.2 version of libLLVM19 to satisfy the dependancy.

Mesa-libOpenCL IS currenlty installed from opesuse, not packman. Other mesa packages are from packman though…

When I try to change vendor for all packages back to opensuse, I get the same error and 1 new error.

user@yoga:~$ sudo zypper dup --from openSUSE-Tumbleweed-Oss --allow-vendor-change
[sudo] password for root: 
Retrieving repository 'packman' metadata .......................................................................................................................[done]
Building repository 'packman' cache ............................................................................................................................[done]
Loading repository data...
Reading installed packages...
Computing distribution upgrade...
2 Problems:
Problem: 1: nothing provides 'libclc(llvm20)' needed by the to be installed Mesa-libOpenCL-25.0.2-1699.412.pm.3.i586
Problem: 2: the installed vlc-codecs-3.0.21-1699.9.pm.15.x86_64 requires 'libavcodec58_134(unrestricted)', but this requirement cannot be provided
deleted providers: libavcodec58_134-4.4.5-1699.17.pm.2.x86_64
not installable providers: libavcodec58_134-4.4.5-1699.17.pm.3.i586[packman]
                   libavcodec58_134-4.4.5-1699.17.pm.3.x86_64[packman]


Problem: 1: nothing provides 'libclc(llvm20)' needed by the to be installed Mesa-libOpenCL-25.0.2-1699.412.pm.3.i586
 Solution 1: deinstallation of Mesa-libOpenCL-25.0.2-408.1.x86_64
 Solution 2: keep obsolete Mesa-libOpenCL-25.0.2-408.1.x86_64
 Solution 3: break Mesa-libOpenCL-25.0.2-1699.412.pm.3.i586 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/s/r/c/d/?] (c): 1

Problem: 2: the installed vlc-codecs-3.0.21-1699.9.pm.15.x86_64 requires 'libavcodec58_134(unrestricted)', but this requirement cannot be provided
deleted providers: libavcodec58_134-4.4.5-1699.17.pm.2.x86_64
not installable providers: libavcodec58_134-4.4.5-1699.17.pm.3.i586[packman]
                   libavcodec58_134-4.4.5-1699.17.pm.3.x86_64[packman]

 Solution 1: deinstallation of vlc-codecs-3.0.21-1699.9.pm.15.x86_64
 Solution 2: install libavcodec58_134-4.4.5-1699.17.pm.3.x86_64 from excluded repository
 Solution 3: break vlc-codecs-3.0.21-1699.9.pm.15.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/s/r/c/d/?] (c): c

There is also a problem with the openSUSE package. Needs a bugreport…

1 Like

Try:

sudo zypper in --force  --from openSUSE-Tumbleweed-Oss --allow-vendor-change Mesa Mesa-libOpenCL

Won’t work as noted above. The openSUSE and packman package is broken.

ich@laptopneu:~> LANG=C sudo zypper in --from OSS Mesa-libOpenCL
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: 1: nothing provides 'libclc(llvm20)' needed by the to be installed Mesa-libOpenCL-25.0.2-409.1.x86_64
 Solution 1: do not install Mesa-libOpenCL-25.0.2-409.1.x86_64
 Solution 2: break Mesa-libOpenCL-25.0.2-409.1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c): 

ich@laptopneu:~> LANG=C sudo zypper in --from "Packman Essentials Repository" Mesa-libOpenCL
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: 1: nothing provides 'libclc(llvm20)' needed by the to be installed Mesa-libOpenCL-25.0.2-1699.412.pm.3.x86_64
 Solution 1: do not install Mesa-libOpenCL-25.0.2-1699.412.pm.3.x86_64
 Solution 2: break Mesa-libOpenCL-25.0.2-1699.412.pm.3.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c): 


libclc(llvm20) is not availabele yet in the repos. Only libclc(llvm19)

ich@laptopneu:~> LANG=C zypper se -s libclc
Loading repository data...
Reading installed packages...

S  | Name   | Type    | Version              | Arch   | Repository
---+--------+---------+----------------------+--------+-----------
   | libclc | package | 0.2.0+llvm19.1.0-4.2 | noarch | OSS
ich@laptopneu:~> 

3 Likes

Mentioned the issue in a related bug report

Status update: “libclc updated to 20.1.0 and submitted for factory/TW”

Not needed, use Mesa-libRusticlOpenCL instead.

When I get such errors in Packman I just wait few more hours until missed packages will be built then update normal without any errors. Happens when some new conflicting TW packages appear and packman new few hours to rebuild correspondent versions.

1 Like