Ansible error in Fedora 37 - Kdenlive install

, ,

I’m testing out Fedora 37 on a virtual machine before I run it on my production desktop and ran into an issue with an Ansible Playbook. My playbook worked just fine back in Fedora 35 but now I seem to be running into an error with it now installing Kdenlive.
Here is the output that I hope someone can help me with:

fatal: [localhost]: FAILED! => {"changed": false, "failures": [], "msg": "Depsolve Error occurred: \n Problem: conflicting requests\n  - package kdenlive-22.08.1-1.fc37.x86_64 requires ffmpeg, but none of the providers can be installed\n  - package kdenlive-22.08.3-1.fc37.x86_64 requires ffmpeg, but none of the providers can be installed\n  - package ffmpeg-5.1.2-3.fc37.x86_64 requires ffmpeg-libs(x86-64) = 5.1.2-3.fc37, but none of the providers can be installed\n  - problem with installed package libswscale-free-5.1.2-1.fc37.x86_64\n  - package ffmpeg-libs-5.1.2-3.fc37.x86_64 conflicts with libswscale-free provided by libswscale-free-5.1.2-1.fc37.x86_64", "rc": 1, "results": []}

Here is an additional error output when I attempted to add ffmpeg to my list of applications to install:

fatal: [localhost]: FAILED! => {"changed": false, "failures": [], "msg": "Depsolve Error occurred: \n Problem 1: problem with installed package libswscale-free-5.1.2-1.fc37.x86_64\n  - package ffmpeg-libs-5.1.2-3.fc37.x86_64 conflicts with libswscale-free provided by libswscale-free-5.1.2-1.fc37.x86_64\n  - package ffmpeg-5.1.2-3.fc37.x86_64 requires ffmpeg-libs(x86-64) = 5.1.2-3.fc37, but none of the providers can be installed\n  - conflicting requests\n Problem 2: conflicting requests\n  - package kdenlive-22.08.1-1.fc37.x86_64 requires ffmpeg, but none of the providers can be installed\n  - package kdenlive-22.08.3-1.fc37.x86_64 requires ffmpeg, but none of the providers can be installed\n  - package ffmpeg-5.1.2-3.fc37.x86_64 requires ffmpeg-libs(x86-64) = 5.1.2-3.fc37, but none of the providers can be installed\n  - problem with installed package libswresample-free-5.1.2-1.fc37.x86_64\n  - package ffmpeg-libs-5.1.2-3.fc37.x86_64 conflicts with libswresample-free provided by libswresample-free-5.1.2-1.fc37.x86_64", "rc": 1, "results": []}

From what I can tell libswscale-free is already installed. Do I need to uninstall it before Kdenlive can be installed?

You seem to have the ffmpeg-free package installed and kdenlive wants ffmpeg. Fedora installs the ffmpeg-free and supporting libs as a stripped down version of the full ffmpeg package due to licensing and patent restrictions on many of the codecs available with the full version.

Please verify which ffmpeg package is installed with dnf list installed ffmpeg*

If that shows ffmpeg-free then you can install the ffmpeg package from rpmfusion by verifying you have the rpmfusion repos enabled dnf repolist then removing ffmpeg-free and installing ffmpeg dnf swap ffmpeg-free ffmpeg --allowerasing

Once that is done then it seems likely that kdenlive will install properly.

1 Like

So this is a fresh install of Fedora 37. Apparently, there is no ffmpeg installed by default. I currently do not have ffmpeg installed.
However, I tried adding ffmpeg in the Ansible playbook and got the second posted error.

Here is my playbook from the first posted error:

---
 - hosts: localhost
   tasks:
###### The following imports repo keys for RPM Fusion
    - name: Importing RPM Fusion (free) key
      become: yes
      ansible.builtin.rpm_key:
        state: present
        key: https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-2020

    - name: Importing RPM (non-free) key
      become: yes
      ansible.builtin.rpm_key:
        state: present
        key: https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-2020

###### The following installs the RPM Fusion repos
    - name: Remote RPM install for RPM Fusion nonfree repo
      become: yes
      dnf: 
        name: https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-{{ansible_distribution_major_version}}.noarch.rpm
        state: present
      when: ansible_distribution == 'Fedora'

    - name: Remote RPM install for RPM Fusion free repo
      become: yes
      dnf: 
        name: https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ansible_distribution_major_version}}.noarch.rpm
        state: present
      when: ansible_distribution == 'Fedora'

###### The following adds the Brave Browser repo
    - name: Adding Brave browser repo
      become: yes
      ansible.builtin.command: dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/
#      ansible.builtin.shell:
#        cmd: dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/
#        warn: false

    - name: Importing Brave browser key
      become: yes
      ansible.builtin.command: rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
#      ansible.builtin.shell:
#        cmd: rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
#        warn: false

##### Install OS updates
    - name: update OS
      become: yes
      dnf:
        name: '*'
        state: latest
        update_cache: yes
      when:
        - ansible_os_family == "RedHat"

##### Begin installing applications

    - name: Install Applications
      become: yes
      package:
        state: present
        name:
          - smplayer
          - avidemux
          - brave-browser
          - vim
          - rclone
          - nextcloud-client
          - git
          - ncdu
          - remmina
          - variety
          - rapid-photo-downloader
          - htop
          - nmap
          - virt-manager
          - lshw
          - kdenlive
          - thunderbird
          - tmux
          - tmate

Then with the attempt to add ffmpeg (second posted error):

---
 - hosts: localhost
   tasks:
###### The following imports repo keys for RPM Fusion
    - name: Importing RPM Fusion (free) key
      become: yes
      ansible.builtin.rpm_key:
        state: present
        key: https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-2020

    - name: Importing RPM (non-free) key
      become: yes
      ansible.builtin.rpm_key:
        state: present
        key: https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-2020

###### The following installs the RPM Fusion repos
    - name: Remote RPM install for RPM Fusion nonfree repo
      become: yes
      dnf: 
        name: https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-{{ansible_distribution_major_version}}.noarch.rpm
        state: present
      when: ansible_distribution == 'Fedora'

    - name: Remote RPM install for RPM Fusion free repo
      become: yes
      dnf: 
        name: https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ansible_distribution_major_version}}.noarch.rpm
        state: present
      when: ansible_distribution == 'Fedora'

###### The following adds the Brave Browser repo
    - name: Adding Brave browser repo
      become: yes
      ansible.builtin.command: dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/
#      ansible.builtin.shell:
#        cmd: dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/
#        warn: false

    - name: Importing Brave browser key
      become: yes
      ansible.builtin.command: rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
#      ansible.builtin.shell:
#        cmd: rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
#        warn: false

##### Install OS updates
    - name: update OS
      become: yes
      dnf:
        name: '*'
        state: latest
        update_cache: yes
      when:
        - ansible_os_family == "RedHat"

##### Begin installing applications

    - name: Install Applications
      become: yes
      package:
        state: present
        name:
          - ffmpeg
          - smplayer
          - avidemux
          - brave-browser
          - vim
          - rclone
          - nextcloud-client
          - git
          - ncdu
          - remmina
          - variety
          - rapid-photo-downloader
          - htop
          - nmap
          - virt-manager
          - lshw
          - kdenlive
          - thunderbird
          - tmux
          - tmate

So, if I understand your response, I would need to remove RPM Fusion from my playbook in order to get the correct ffmpeg? I believe if I do that I probably won’t be able to install a few other packages, kdenlive included.

If you do sudo dnf info ffmpeg* in terminal the system will show you the options your system has. On the top of the list you see the installed packages and following you see what it is availabe.
By default the fedora repository you just get ffmpeg-free

The description says:

  • Description : FFmpeg is a leading multimedia framework, able to decode, encode, transcode,
    mux, demux, stream, filter and play pretty much anything that humans and
    machines have created. It supports the most obscure ancient formats up to the
    cutting edge. No matter if they were designed by some standards committee, the
    community or a corporation.

  • This build of ffmpeg is limited in the number of codecs supported.

The other option you get, if you have the Repositories from RPM installed, is the package ffmpeg and the description says:

  • 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.

A other question is, if you make sudo dnf repolist in terminal is there the repository testing active? Did you use F37 already as pre release or beta version?

Then you might have to do the last step of the system upgrade, that you have a again a basic install:

(Using distro-sync to resolve dependency issues; following link above)

As stated, and as shown by @ilikelinux the default install does not install ffmpeg. It instead installs a limited version named ffmpeg-free.
My instructions will replace the limited version that has only a part of the available codecs with the full version that has all the codecs.

No, I did not say anything about disabling rpmfusion, in fact I stated that it needed to be enabled.

1 Like

It is a fresh install of Fedora 37 KDE Spin just downloaded and installed last week.

[ed@fed37test ~]$ sudo dnf list installed ffmpeg*
Error: No matching Packages to list

I do not have ffmpeg installed.

These are the repos installed.

[ed@fed37test ~]$ sudo dnf repolist 
repo id                                                                repo name
brave-browser-rpm-release.s3.brave.com_x86_64_                         created by dnf config-manager from https://brave-browser-rpm-release.s3.brave.com/x86_64/
fedora                                                                 Fedora 37 - x86_64
fedora-cisco-openh264                                                  Fedora 37 openh264 (From Cisco) - x86_64
fedora-modular                                                         Fedora Modular 37 - x86_64
rpmfusion-free                                                         RPM Fusion for Fedora 37 - Free
rpmfusion-free-updates                                                 RPM Fusion for Fedora 37 - Free - Updates
rpmfusion-nonfree                                                      RPM Fusion for Fedora 37 - Nonfree
rpmfusion-nonfree-updates                                              RPM Fusion for Fedora 37 - Nonfree - Updates
updates                                                                Fedora 37 - x86_64 - Updates
updates-modular                                                        Fedora Modular 37 - x86_64 - Update

With rpmfusion installed and enabled from the playbook and me just stating ffmpeg in the playbook you would think that ffmpeg would be installed (again, there is no version of ffmpeg currently installed with default, fresh install of Fedora 37 KDE), not the ffmpeg-free. And yet I still got the error when attempting to install ffmpeg.

Looks like I was able to fix the problem by adding removal in my playbook like so:

##### Remove applications

    - name: Remove libswscale-free
      become: yes
      package:
        name: libswscale-free
        state: absent

    - name: Remove libswresample-free
      become: yes
      package:
        name: libswresample-free
        state: absent

    - name: Remove libavutil-free
      become: yes
      package:
        name: libavutil-free
        state: absent

##### Begin installing applications

The tag shows F35 and now you say F37
You now show KDE and most users use Workstation. Those are 2 distinctly different spins so we had to assume (before you clarified it) that you were using workstation which does install ffmpeg-free. I have updated the tags to include KDE and F37.

Please ensure you have the rpmfusion repos enabled as instructed here then install ffmpeg before continuing to move forward.

I am glad to see you found a solution. :+1: