Cannot install libmfx1 because of a missing requirement

I’ve encountered a problem when I try to install a recent security update for libmfx:

the installed libavutil59-7.0.2-150500.3.pm.2.x86_64 requires 
'libmfx.so.1()(64bit)', but this requirement cannot be provided 

To be more specific, this is the openSUSE-SLE-15.5-2024-3339 update. My system specifications are
as follows:

  • OS: openSUSE Leap 15.5 x86_64
  • Host: GF63 Thin 11UC REV:1.0
  • Kernel: 5.14.21-150500.55.73-default
  • Packages: 3330 (rpm), 20 (flatpak)
  • Shell: bash 4.4.23
  • DE: Plasma 5.27.9
  • WM: KWin
  • CPU: 11th Gen Intel i5-11400H (12) @ 4.500GHz
  • GPU: NVIDIA GeForce RTX 3050 Mobile
  • GPU: Intel TigerLake-H GT1 [UHD Graphics]

Please, somebody help me solve this issue.

Please show output from zypper lr -d.

Sure, here it is:

#  | Alias                                 | Name                        | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                        | Service
---+---------------------------------------+-----------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------+--------
 1 | NVIDIA:repo-non-free                  | repo-non-free (15.5)        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.nvidia.com/opensuse/leap/15.5                             | NVIDIA
 2 | code                                  | Visual Studio Code          | Yes     | (r ) Yes  | No      |   99     | rpm-md | https://packages.microsoft.com/yumrepos/vscode                             | 
 3 | ftp.gwdg.de-openSUSE_Leap_$releasever | Packman Repository          | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.5/        | 
 4 | openSUSE-Leap-15.5-1                  | openSUSE-Leap-15.5-1        | No      | ----      | ----    |   99     | N/A    | hd:/?device=/dev/disk/by-id/usb-Mass_Storage_Device_121220160204-0:0-part2 | 
 5 | openSUSE:repo-non-oss                 | repo-non-oss (15.5)         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/distribution/leap/15.5/repo/non-oss/         | 
 6 | openSUSE:repo-non-oss-debug           | repo-non-oss-debug (15.5)   | No      | ----      | ----    |   99     | N/A    | https://download.opensuse.org/debug/distribution/leap/15.5/repo/non-oss/   | 
 7 | openSUSE:repo-oss-debug               | repo-oss-debug (15.5)       | No      | ----      | ----    |   99     | N/A    | https://download.opensuse.org/debug/distribution/leap/15.5/repo/oss        | 
 8 | openSUSE:repo-oss-source              | repo-oss-source (15.5)      | No      | ----      | ----    |   99     | N/A    | https://download.opensuse.org/source/distribution/leap/15.5/repo/oss       | 
 9 | openSUSE:update-backports             | update-backports (15.5)     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/update/leap/15.5/backports                   | 
10 | openSUSE:update-non-oss               | update-non-oss (15.5)       | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/update/leap/15.5/non-oss                     | 
11 | openSUSE:update-non-oss-debug         | update-non-oss-debug (15.5) | No      | ----      | ----    |   99     | N/A    | https://download.opensuse.org/update/leap/15.5/non-oss_debug               | 
12 | openSUSE:update-oss                   | update-oss (15.5)           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/update/leap/15.5/oss                         | 
13 | openSUSE:update-oss-debug             | update-oss-debug (15.5)     | No      | ----      | ----    |   99     | N/A    | https://download.opensuse.org/update/leap/15.5/oss_debug                   | 
14 | openSUSE:update-sle                   | update-sle (15.5)           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/update/leap/15.5/sle                         | 
15 | openSUSE:update-sle-debug             | update-sle-debug (15.5)     | No      | ----      | ----    |   99     | N/A    | https://download.opensuse.org/debug/update/leap/15.5/sle                   | 
16 | repo-oss                              | repo-oss                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/distribution/leap/15.5/repo/oss/

I’m not sure what’s going on there. I have this:

# zypper --no-refresh se -s libavutil59 libmfx1 | grep -v '32bit|debug|devel|srcp|openSUSE-20' | egrep 'x86|noarch'| sort -f
i  | libmfx1               | package | 22.6.1-150500.3.2.4 | x86_64 | UpdateSLE
i  | libavutil59           | package | 7.0.2-150500.3.pm.2 | x86_64 | Packman
v  | libmfx1               | package | 22.6.1-150500.1.16  | x86_64 | OSS
v  | libmfx1               | package | 22.6.1-150500.3.5.1 | x86_64 | UpdateSLE
#

Perhaps this is one of those need to try again later situations? How are you trying to install? If not zypper, then try sudo zypper up.

When I use the command sudo zypper up this is what is shown:

Refreshing service 'NVIDIA'.
Retrieving repository 'Packman Repository' metadata ...................................................................................................[done]
Building repository 'Packman Repository' cache ........................................................................................................[done]
Loading repository data...
Reading installed packages...

The following 54 package updates will NOT be installed:
  Mesa Mesa-dri Mesa-gallium Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0 Mesa-libva Mesa-vulkan-device-select libass9 libavcodec57 libavcodec58_134
  libavcodec58_134-32bit libavdevice57 libavdevice58_13 libavfilter6 libavfilter7_110 libavformat57 libavformat58_76 libavresample3 libavresample4_0
  libavutil55 libavutil56_70 libavutil56_70-32bit libfdk-aac2 libfdk-aac2-32bit libgbm1 libheif1 libmfx1 libpipewire-0_3-0 libpostproc54 libpostproc55_9
  libquicktime0 libswresample2 libswresample3_9 libswresample3_9-32bit libswscale4 libswscale5_9 libvdpau_nouveau libvlc5 libvlccore9 libvulkan_intel
  pipewire pipewire-lang pipewire-modules-0_3 pipewire-spa-plugins-0_2 pipewire-spa-tools pipewire-tools vlc vlc-codec-fluidsynth vlc-codec-gstreamer
  vlc-lang vlc-noX vlc-qt vlc-vdpau
Nothing to do.

I know, on the other hand, that there was some sort of removal of libmfx support by Intel,
which led to several changes in many libraries, as far as I understand.

I don’t know to what extent this will have affected me.

What does zypper se -s libavutil59 libmfx1 | grep -v ‘32bit|debug|devel|srcp|openSUSE-20’ | egrep ‘x86|noarch’| sort report? Does it not include what mine above shows?

That is sort of correct.

bor@leap15:~> zypper search --provides -x -s 'libmfx.so.1()(64bit)'
Loading repository data...
Reading installed packages...

S  | Name    | Type    | Version             | Arch   | Repository
---+---------+---------+---------------------+--------+-------------------------------------------------------------
v  | libmfx1 | package | 22.6.1-150500.3.2.4 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
v  | libmfx1 | package | 22.6.1-150500.1.16  | x86_64 | Main Repository (OSS)
bor@leap15:~> 

The current version of libmfx1 does not provide this library:

bor@leap15:~> rpm -ql libmfx1
/usr/lib64/libmfxhw64.so.1
/usr/lib64/libmfxhw64.so.1.35
/usr/lib64/mfx
/usr/lib64/mfx/libmfx_h264la_hw64.so
/usr/lib64/mfx/libmfx_hevc_fei_hw64.so
/usr/lib64/mfx/libmfx_hevcd_hw64.so
/usr/lib64/mfx/libmfx_hevce_hw64.so
/usr/lib64/mfx/libmfx_vp8d_hw64.so
/usr/lib64/mfx/libmfx_vp9d_hw64.so
/usr/lib64/mfx/libmfx_vp9e_hw64.so

It was updated by the patch openSUSE-SLE-15.5-2024-3339.

2024-09-21 08:10:17|install|libmfx1|22.6.1-150500.3.5.1|x86_64||repo-sle-update|20b6dd7ea50270743b4b318d1bd2167fbf6f878d235fe623fb3f9108c731918e|

So, the temporary workaround is to replace libmfx1 with the previous version and lock this patch. Going forward you may want to contact Packman maintainers to rebuild packages against the latest libmfx1.

Mod edit: Unnecessary content removed.

2 Likes

Sorry for the delay, here is the result of sudo zypper --no-refresh se -s libavutil59 libmfx1 | grep -v '32bit|debug|devel|srcp|openSUSE-20' | egrep 'x86|noarch'| sort:

   | libavutil59-debuginfo | package | 7.0.2-150500.3.pm.2 | x86_64 | Packman Repository
i  | libmfx1               | package | 22.6.1-150500.3.2.4 | x86_64 | update-sle (15.5)
i+ | libavutil59           | package | 7.0.2-150500.3.pm.2 | x86_64 | Packman Repository
v  | libmfx1               | package | 22.6.1-150500.1.16  | x86_64 | repo-oss
v  | libmfx1               | package | 22.6.1-150500.3.5.1 | x86_64 | update-sle (15.5)

I hope this helps you help me with this.

How can I report this to Packman maintainers?

I think I got the same result by the way:

Loading repository data...
Reading installed packages...

S  | Name    | Type    | Version             | Arch   | Repository
---+---------+---------+---------------------+--------+------------------
i  | libmfx1 | package | 22.6.1-150500.3.2.4 | x86_64 | update-sle (15.5)
v  | libmfx1 | package | 22.6.1-150500.1.16  | x86_64 | repo-oss

@arvidjaar’s response seems perfectly valid. Yet, your installed versions of libavutil59 and libmfx1 exactly match mine, and I have no apparent existing conflicts. I think I would wait until Monday afternoon and then try again. If you need to be using hardware-accelerated video decoding in the interim, you may consider applying @arvidjaar’s instruction. Email to packman@links2linux.de is a reporting option. See http://packman.links2linux.org/.

1 Like

Thank you very much for your help, but, do you mind checking if you do have the libmfx.so.1()(64bit) dependency?

# zypper search --provides -x -s 'libmfx.so.1()(64bit)'
…
S  | Name    | Type    | Version             | Arch   | Repository
---+---------+---------+---------------------+--------+-----------
i  | libmfx1 | package | 22.6.1-150500.3.2.4 | x86_64 | UpdateSLE
v  | libmfx1 | package | 22.6.1-150500.1.16  | x86_64 | OSS
# rpm -ql libmfx1
/usr/lib64/libmfx-tracer.so.1
/usr/lib64/libmfx-tracer.so.1.35
/usr/lib64/libmfx.so.1
/usr/lib64/libmfx.so.1.35
…
#

I see, well I guess I’ll wait until Monday too and if nothing has changed I’ll report it to packman@links2linux.de for review.

Still waiting for a fix.

I am also still waiting for a fix on this.

Something is haywire among deps. I did rpm -e --nodeps libmfx1-22.6.1-150500.3.2.4, then tried to zypper in -f libavutil59-7.0.2-150500.3.pm.2, and zypper chose libmfx1-22.6.1-150500.3.2.4 to install along with it, so I aborted. I then had no problem to zypper in libmfx1-22.6.1-150500.3.5.1 directly.

Ok, so bother the packagers on packman?

It’s not part of the openSUSE project, and bringing it up here isn’t likely to cause any sort of action there.

Leap patches are not expected to break binary compatibility. Removing a public shared library most certainly qualifies as breaking binary compatibility. So, I would bother openSUSE bugzilla first.

Right you are.

https://bugzilla.opensuse.org/show_bug.cgi?id=1230875

This was intended, as libmfx is EOL and has unfixed unknown security issues.