Installing ffmpeg-devel

I have Aurora DX installed. It comes with ffmpeg. I am trying to compile and install motionplus as I could not find it to install. It requires ffmpeg-devel, which is available on other fedora systems. I could not find it to install on Aurora.

How can I find this package and install it?

Thanks for the reply. In my haste I forgot to mention the things that I have tried.

rpm-ostree search does not have any devel packages for ffmpeg. Installing any of the -free ones messes up installed packages, so I am stumped.

For reference here is the mess I am referring to.

rpm-ostree install ffmpeg-free
error: "ffmpeg-free" is already provided by: ffmpeg-1:7.0.2-4.fc41.x86_64. Use --allow-inactive to explicitly require it.

~ 
❯ rpm-ostree install ffmpeg-free-devel
Checking out tree 7bfbc7c... done
Enabled rpm-md repositories: updates fedora copr:copr.fedorainfracloud.org:hikariknight:looking-glass-kvmfr updates-archive
Importing rpm-md... done
rpm-md repo 'updates' (cached); generated: 2024-11-22T03:15:44Z solvables: 10272
rpm-md repo 'fedora' (cached); generated: 2024-10-25T08:41:19Z solvables: 76624
rpm-md repo 'copr:copr.fedorainfracloud.org:hikariknight:looking-glass-kvmfr' (cached); generated: 2024-10-25T08:11:34Z solvables: 5
rpm-md repo 'updates-archive' (cached); generated: 2024-11-22T04:06:13Z solvables: 9991
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - package ffmpeg-free-devel-7.0.2-7.fc41.i686 from fedora requires libavcodec-free-devel = 7.0.2-7.fc41, but none of the providers can be installed
  - package ffmpeg-free-devel-7.0.2-7.fc41.x86_64 from fedora requires libavcodec-free-devel = 7.0.2-7.fc41, but none of the providers can be installed
  - package libavcodec-free-devel-7.0.2-7.fc41.i686 from fedora requires libavcodec-free(x86-32) = 7.0.2-7.fc41, but none of the providers can be installed
  - package libavcodec-free-devel-7.0.2-7.fc41.i686 from fedora requires libavcodec.so.61, but none of the providers can be installed
  - package libavcodec-free-devel-7.0.2-7.fc41.x86_64 from fedora requires libavcodec-free(x86-64) = 7.0.2-7.fc41, but none of the providers can be installed
  - installed package libavcodec-1:7.0.2-4.fc41.x86_64 obsoletes libavcodec-free < 1:7.0.2-4.fc41 provided by libavcodec-free-7.0.2-7.fc41.i686 from fedora
  - installed package libavcodec-1:7.0.2-4.fc41.x86_64 obsoletes libavcodec-free < 1:7.0.2-4.fc41 provided by libavcodec-free-7.0.2-7.fc41.x86_64 from fedora

If I’m correct ffmpeg is replaced by the one from negativo17 repo. Which is disabled by default on the system. To install ffmpeg-devel you need to enable the repo first.

You can find the repo file in this path: /etc/yum.repos.d/negativo17-fedora-multimedia.repo there you change the enabled=0 to enabled=1 on the [fedora-multimedia] section.

Then you will be able to install ffmpeg-devel without any problems. Hope this helps.

~ ❯ rpm-ostree install ffmpeg-devel
Checking out tree 44250aa... done
Enabled rpm-md repositories: updates fedora copr:copr.fedorainfracloud.org:hikariknight:looking-glass-kvmfr updates-archive
Importing rpm-md... done
rpm-md repo 'updates' (cached); generated: 2024-11-22T03:15:44Z solvables: 10272
rpm-md repo 'fedora' (cached); generated: 2024-10-25T08:41:19Z solvables: 76624
rpm-md repo 'copr:copr.fedorainfracloud.org:hikariknight:looking-glass-kvmfr' (cached); generated: 2024-10-25T08:11:34Z solvables: 5
rpm-md repo 'updates-archive' (cached); generated: 2024-11-22T04:06:13Z solvables: 9991
error: Packages not found: ffmpeg-devel

~ ❯ sudo vim /etc/yum.repos.d/negativo17-fedora-multimedia.repo 

~ ❯ rpm-ostree install ffmpeg-devel
Checking out tree 44250aa... done
Enabled rpm-md repositories: updates fedora copr:copr.fedorainfracloud.org:hikariknight:looking-glass-kvmfr fedora-multimedia updates-archive
Importing rpm-md... done
rpm-md repo 'updates' (cached); generated: 2024-11-22T03:15:44Z solvables: 10272
rpm-md repo 'fedora' (cached); generated: 2024-10-25T08:41:19Z solvables: 76624
rpm-md repo 'copr:copr.fedorainfracloud.org:hikariknight:looking-glass-kvmfr' (cached); generated: 2024-10-25T08:11:34Z solvables: 5
rpm-md repo 'fedora-multimedia' (cached); generated: 2024-11-18T17:12:52Z solvables: 387
rpm-md repo 'updates-archive' (cached); generated: 2024-11-22T04:06:13Z solvables: 9991
Resolving dependencies... done
Will download: 1 package (634.6 kB)
Downloading from 'fedora-multimedia'... done
Importing packages... done
Checking out packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
Writing OSTree commit... done
Staging deployment... done
Added:
  ffmpeg-devel-1:7.0.2-4.fc41.x86_64
Changes queued for next boot. Run "systemctl reboot" to start a reboot

~ ❯ 

But probably doing all this in a distrobox is a cleaner approach than layering all the things on the host.

1 Like

Ya, I thought a distrobox would be better too, but the software only has make install. If it made a package, I could have just installed that. Is there another way to use the distrobox that i am unaware of? I was just going to use it to compile the binaries and then install those.

You said better than layering all that… Is there some complications or performance degradation with multiple “installs” with rpm-ostree? I mean I thought after the reboot it squashed all the changes down to only layer the base image and the changes all together. Is there somewhere I can read up on how this layering works and image based distros in general?
Also, thanks. That allowed me to install the required packages.

The real benefit would be that you don’t have to worry about anything. The moment you go layer things, that would mean you are responsible for the trouble it can create. Like enabling repos and errors that will come out of that, not being able to update because of that.

Performance wise there is not really an impact, only that an update takes a little longer because it needs to apply the local layer on top of the image.

I’m not sure if you are talking about Releases · Motion-Project/motion · GitHub but they do have debian/ubuntu packages. So you could create a debian/ubuntu container via boxbuddy, install the deb and voila you now have access to your tool in the container. No need to layer any package on the host. Export the motion cli tool from inside your container like so

distrobox-export --bin /usr/bin/motion
/usr/bin/motion from ubuntu-toolbox exported successfully in /var/home/user/.local/bin.
OK!

Now you have motion available on your host terminal!

If its a totally different program you have been talking about, proces is the same, compile, install in your distrobox, export it to the host. No need to layer anything in this way.
distrobox-export

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.