Ffmpeg blocking upgrade from f36 to f37

Hello,
I’m trying to upgrade from f36 (KDE spin) to f37, and when running the dnf system-upgrade command, I get this error message that won’t disappear even after a system reboot and with the --allowerasing and --skip-broken flags

Error: 
 Problem: package ffmpeg-5.0.1-3.fc36.x86_64 requires ffmpeg-libs(x86-64) = 5.0.1-3.fc36, but none of the providers can be installed
  - conflicting requests
  - nothing provides libsrt.so.1.4()(64bit) needed by ffmpeg-libs-5.0.1-3.fc36.x86_64
  - nothing provides libilbc.so.0()(64bit) needed by ffmpeg-libs-5.0.1-3.fc36.x86_64

Can someone help me please ?

dnf remove ffmpeg and then upgrade and then install that package.

First, thanks for the reply. But I already removed ffmpeg and ffmpeg-libs but the result is still the same. Weird thing is that the errors concerns ffmpeg version 5.0.1-3 but the version I had on my machine was version 5.0.1-8

Where was ffmpeg installed from?
If rpmfusion then you should not need to change. If not from rpmfusion then I suggest removing it as above and the reinstall should be from rpmfusion.

You can see what repo it was installed from with the command dnf list installed ffmpeg*
Note that fedora now ships the ffmpeg-free package which is limited in codecs and does not include the ffmpeg-libs package.

Ah, the older version seems to have some relics.
Try sudo dnf distro-sync --refresh and see what the results may be.

search for ffmpeg inyour system
rpm -qa | grep ffmpeg
if you have that still.

I tried everything you sent :

  • after sudo dnf distro-sync --refresh, I retried to update but the error was still there.
  • No results for rpm -qa | grep ffmpeg

if there is no ffmpeg then i suggest reboot and then dnf clean all
dnf update

Done, but the error is still there.

sudo dnf repolist
sudo dnf history ffmpeg ffmpeg-libs ffmpeg-free ffmpeg-free-libs

-repo list :
Visual Studio Code
Docker CE Stable - x86_64
Fedora 36 - x86_64
Fedora 36 openh264 (From Cisco) - x86_64
Fedora Modular 36 - x86_64
google-chrome
Opera packages
Copr repo for PyCharm owned by phracek
ProtonVPN Fedora Stable repository
rpmfusion-free
RPM Fusion for Fedora 36 - Free - Updates
rpmfusion-nonfree
RPM Fusion for Fedora 36 - Nonfree - Updates
RPM Sphere - Basearch
RPM Sphere - Noarch
teams
TeamViewer - x86_64
Fedora 36 - x86_64 - Updates
Fedora Modular 36 - x86_64 - Updates

history :

No transaction which manipulates package ‘ffmpeg-free-libs’ was found.
remove ffmpeg
install ffmpeg
remove ffmpeg-libs
remove ffmpeg

install ffmpeg --allowerasing

install ffmpeg
-y install boost-devel.x86_64 boost-static.x86_64 ca-certificates.noarch clang.x86_64 cmake.x86_64 CUnit-devel.x86_64 curl.x86_64 flac-devel.x86_64 freetype-devel.x86_64 gcc.x86_64 gcc-c++.x86_64 g

sudo dnf info ffmpeg

Available Packages
Name : ffmpeg
Version : 5.0.1
Release : 8.fc36
Architecture : x86_64
Size : 1.6 M
Source : ffmpeg-5.0.1-8.fc36.src.rpm
Repository : rpmfusion-free-updates
Summary : Digital VCR and streaming server
URL : http://ffmpeg.org/
License : GPLv3+
Description : FFmpeg is a complete and free Internet live audio and video
: broadcasting solution for Linux/Unix. It also includes a digital
: VCR. It can encode in real time in many formats including MPEG1 audio
: and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.

It seems there may be a relic in the rpm db.
The db can be cleaned up with sudo rpmdb --rebuilddb which will look at installed packages and make the database match the installed packages.

After doing the rebuild then try the upgrade again.

It also may be a relic from some other repo since you have multiple 3rd party repos enabled.
The ones I note are

Visual Studio Code
Docker CE Stable - x86_64
Opera packages
ProtonVPN Fedora Stable repository
RPM Sphere - Basearch
RPM Sphere - Noarch
teams
TeamViewer - x86_64

and I would suggest that ALL those be disabled while attempting to upgrade from fedora 36 to 37 since it is very easy for one of those to have a conflicting package name.
You can see the actual repo name to disable by using dnf repolist and the name in the first column is the one to disable.

In general, when doing a release version upgrade most of the 3rd party repos should be disabled to avoid these types of conflicts.

1 Like

I rebuilt the database, disabled all the repos you listed, rebooted. I retried to upgrade but still the same error.

sudo dnf list installed libav* libswscale*

Installed Packages
libavif.x86_64

rpm -qa | grep i686

libgcc-12.2.1-2.fc36.i686
libglvnd-1.4.0-4.fc36.i686
libX11-xcb-1.7.3.1-2.fc36.i686
libffi-3.4.2-8.fc36.i686
libxshmfence-1.3-10.fc36.i686
zlib-1.2.11-33.fc36.i686
ncurses-libs-6.2-9.20210508.fc36.i686
libstdc+±12.2.1-2.fc36.i686
libedit-3.1-41.20210910cvs.fc36.i686
llvm-libs-14.0.5-1.fc36.i686
elfutils-libelf-0.187-4.fc36.i686
libglvnd-opengl-1.4.0-4.fc36.i686
libXau-1.0.9-8.fc36.i686
libxcb-1.13.1-9.fc36.i686
libX11-1.7.3.1-2.fc36.i686
libXext-1.3.4-8.fc36.i686
libXxf86vm-1.1.4-18.fc36.i686
libvdpau-1.5-1.fc36.i686
libXfixes-6.0.0-3.fc36.i686
libpciaccess-0.16-6.fc36.i686
libdrm-2.4.110-1.fc36.i686
mesa-libgbm-22.1.7-1.fc36.i686
vulkan-loader-1.3.204.0-1.fc36.i686
mesa-vulkan-drivers-22.1.7-1.fc36.i686
libsepol-3.3-3.fc36.i686
pcre2-10.40-1.fc36.i686
libselinux-3.3-4.fc36.i686
mesa-libglapi-22.1.7-1.fc36.i686
libglvnd-egl-1.4.0-4.fc36.i686
mesa-libEGL-22.1.7-1.fc36.i686
libglvnd-glx-1.4.0-4.fc36.i686
mesa-libGL-22.1.7-1.fc36.i686
libglvnd-gles-1.4.0-4.fc36.i686
libwayland-server-1.21.0-1.fc36.i686
libwayland-client-1.21.0-1.fc36.i686
xorg-x11-drv-nvidia-libs-520.56.06-1.fc36.i686
xorg-x11-drv-nvidia-cuda-libs-520.56.06-1.fc36.i686
glibc-gconv-extra-2.35-20.fc36.i686
glibc-2.35-20.fc36.i686
expat-2.5.0-1.fc36.i686

can you check
sudo dnf rq --all --unsatisfied

or you could also give this a try,
script -c "sudo dnf rq --installed --queryformat %{name} | xargs -i -t sudo dnf rq -C --depends --resolve {} | grep ffmpeg" ~/ffmpeg.txt

Basically will go through everything that’s installed hunting for anything that depends on ffmpeg.
It’s going to output to ffmpeg.txt in your home directory.
When it finds something it will look something like this,

sudo dnf rq -C --depends --resolve libavdevice
Last metadata expiration check: 0:15:02 ago on Mon 21 Nov 2022 02:14:47 PM EST.
ffmpeg-libs-0:5.1.2-3.fc37.i686
ffmpeg-libs-0:5.1.2-3.fc37.x86_64

… Sorry for not having any better ideas.

1 Like