Missing dependency on vlc-codec when zypper dup

Hi, since several week, I’ve been getting an error when doing a zypper dup with VLC repository enabled warning about a missing dependency libavcodec61(unrestricted), here is the full log.
(Also there is a clazy error since today but last time I had this it had been gone within a week.)

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...
2 Problems:
Problem: 1: nothing provides 'libavcodec61(unrestricted)' needed by the to be installed vlc-codecs-3.0.21-404.1.i586
Problem: 2: the installed clazy-1.16.0-1.1.x86_64 requires 'libclang13 = 20.1.8', but this requirement cannot be provided
deleted providers: libclang13-20.1.8-3.1.x86_64


Problem: 1: nothing provides 'libavcodec61(unrestricted)' needed by the to be installed vlc-codecs-3.0.21-404.1.i586
 Solution 1: deinstallation of vlc-codecs-3.0.21-397.2.x86_64
 Solution 2: keep obsolete vlc-codecs-3.0.21-397.2.x86_64
 Solution 3: break vlc-codecs-3.0.21-404.1.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):

for detail, here is my zypper repos detail :

Repository priorities in effect:                                                                                                                                                  (See 'zypper lr -P' for details)
      89 (raised priority)  :  1 repository
      99 (default priority) :  5 repositories

# | Alias                            | Name                                   | Enabled | GPG Check | Refresh
--+----------------------------------+----------------------------------------+---------+-----------+--------
1 | VLC_repository                   | VLC repository                         | Yes     | (r ) Yes  | Yes
2 | dmafanasyev                      | dmafanasyev                            | Yes     | (r ) Yes  | Yes
3 | download.opensuse.org-non-oss    | Dépôt principal (NON-OSS)              | Yes     | (r ) Yes  | Yes
4 | download.opensuse.org-oss        | Dépôt principal (OSS)                  | Yes     | (r ) Yes  | Yes
5 | download.opensuse.org-tumbleweed | Dépôt principal de mise à jour         | Yes     | (r ) Yes  | Yes
6 | packman-essentials               | packman-essentials                     | No      | ----      | ----
7 | repo-debug                       | openSUSE-Tumbleweed-Debug              | No      | ----      | ----
8 | repo-openh264                    | Open H.264 Codec (openSUSE Tumbleweed) | Yes     | (r ) Yes  | Yes
9 | repo-source                      | openSUSE-Tumbleweed-Source             | No      | ----      | ----

any idea on why it’s there and how to resolve this ?
Thanks a lot

Welcome to the openSUSE Forums!
First off, I guess that your system is an x86_64 system, so why is a 32 bit package for i586 ( vlc-codecs-3.0.21-404.1.i586 ) to be installed?
Please post zypper lr -d (without the repo URLs your list says almost nothing).
Also, what is the dmafanasyevfor?

As recommended at opensuse.org :

Warning: VLC is also provided by Packman. Do not mix packages from Packman and VideoLan repositories.

libavcodec61 is provided by packman essential for tumbleweed and leap 15.6.
If you do an distribution upgrade, zypper try to update VLC and dependencies from all active repo, so the conflict.

You must choose one and disable other.

Please read the OP, Packman Essentials is disabled already.

It would be helpful to see what the repo URLs are as well - the output from zypper lr -d will show that (it looks like your output is just zypper lr).

It also would be good to understand where you installed VLC from. While (as noted) Packman Essentials is disabled, if you installed from there before disabling it, that could be affecting the issue as well.

Anyway it looks like the VLC repo is currently broken since:

LT-B:~ # zypper --no-refresh info --requires vlc-codecs-3.0.21-404.1 |grep libavcodec
    libavcodec61(unrestricted)
LT-B:~ # 

but that same repo only provides libavcodec58_134-4.4.6-11.4at the moment, so you have 3 choices ATM:

  • lock everything vlc related for the time being;
  • carefully mix and match packages from VLC-repo and Packman (which is discouraged anyway);
  • switch everything VLC related to Packman.

Hi, and thanks a lot for your responses,

First of all, an update finally solved the confict, If i remember correctly by adding a bunch of libavcodec packages to the VLC repo (and so these packages switched from an official repo to the VLC repo)

dmafanasyev is a repo for howdy (authentification by IR webcam), it come I think with a few python packages

I heard that VLC repo is based on packman, and yes I disabled packman when I added VLC and keep it there in case if I wanted to switch back

I’ll remember zypper lr -dfor a future time

And lastly my system is an x86_64 so I don’t know why i586 but it was not voluntary but probably came as a dependency of another program (I’ll look at it in myrylyn)

Have a good day !

When I made the switch, I added VLC and disabled packman simultaneously and then did a zypper dup --allow-vendor-change, I think that is the way to do.
I did not search for orphaned packages or generally package to remove but I don’t think it was necessary

Yes, the libav(xxx)61 you needed were apparently added on Sept. 18.

That is not the way to do it. In your case, if the repos are still the same as shown, i.e.

you would do:
sudo zypper dup --from 1 --allow-vendor-change. Without the --from 1 you may still have a mix.