Fedora 44 has FFmpeg 8.0, which provides /usr/lib64/libavcodec.so.62, not .61. There were no errors during compilaiton/installation. Any advice?/usr/bin/makemkvcon: error while loading shared libraries: libavcodec.so.61: cannot open shared object file: No such file or directory
Fedora 44 (FFmpeg 8) incompatibility
-
FetchBackward
- Posts: 1
- Joined: Wed May 08, 2024 11:03 pm
Fedora 44 (FFmpeg 8) incompatibility
makemkv errors with this on Fedora 44:
-
USNmechanic
- Posts: 1
- Joined: Thu May 14, 2026 10:27 pm
Re: Fedora 44 (FFmpeg 8) incompatibility
Fix MakeMKV After Upgrading to Fedora 44
Problem: After upgrading to Fedora 44, makemkvcon fails with:
Fedora 44 ships ffmpeg 8.x (libavcodec.so.62), but the pre-built makemkv-bin binary requires libavcodec.so.61 (ffmpeg 7.x). The fix is to rebuild makemkv-oss statically against ffmpeg 7.x, which bakes the required library into libmakemkv.so.1.
Prerequisites
Install build dependencies:
Step 1 — Build Static ffmpeg 7.x
Verify the correct version was built:
Expected output: Version: 61.x.x
Step 2 — Download MakeMKV Source
Download both makemkv-oss and makemkv-bin from https://www.makemkv.com/download/ and extract them:
(Replace 1.18.3 with the current version.)
Step 3 — Build and Install makemkv-oss
Step 4 — Install makemkv-bin
Step 5 — Verify
A help/usage message from makemkvcon and a successful GUI launch confirm the fix is working.
Step 6 — Clean Up
Notes
Problem: After upgrading to Fedora 44, makemkvcon fails with:
Code: Select all
makemkvcon: error while loading shared libraries: libavcodec.so.61: cannot open shared object file: No such file or directoryPrerequisites
Install build dependencies:
Code: Select all
sudo dnf install -y gcc gcc-c++ make nasm qt5-qtbase-devel openssl-devel zlib-devel expat-develCode: Select all
cd /tmp
wget https://ffmpeg.org/releases/ffmpeg-7.1.tar.bz2
tar xjf ffmpeg-7.1.tar.bz2
cd ffmpeg-7.1
./configure --prefix=/tmp/ffmpeg --enable-static --disable-shared --enable-pic
make installCode: Select all
cat /tmp/ffmpeg/lib/pkgconfig/libavcodec.pc | grep VersionStep 2 — Download MakeMKV Source
Download both makemkv-oss and makemkv-bin from https://www.makemkv.com/download/ and extract them:
Code: Select all
cd ~/Downloads
tar xzf makemkv-oss-1.18.3.tar.gz
tar xzf makemkv-bin-1.18.3.tar.gzStep 3 — Build and Install makemkv-oss
Code: Select all
cd ~/Downloads/makemkv-oss-1.18.3
PKG_CONFIG_PATH=/tmp/ffmpeg/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig ./configure
make
sudo make installCode: Select all
cd ~/Downloads/makemkv-bin-1.18.3
make
sudo make installCode: Select all
makemkvcon info
makemkv &Step 6 — Clean Up
Code: Select all
rm -rf /tmp/ffmpeg /tmp/ffmpeg-7.1 /tmp/ffmpeg-7.1.tar.bz2- The key to this fix is the combined PKG_CONFIG_PATH so that makemkv-oss links against the static ffmpeg 7.x libraries while still being able to find Qt5 and other system dependencies.
- This fix will need to be repeated if makemkv-oss is ever rebuilt, until MakeMKV releases a makemkv-bin built against ffmpeg 8.x (libavcodec.so.62).
- Once an updated makemkv-bin is released, a clean reinstall from the MakeMKV download page will be sufficient and this workaround will no longer be needed.
Re: Fedora 44 (FFmpeg 8) incompatibility
I don't think the latter part of the above statement is true / the issue:Fedora 44 ships ffmpeg 8.x (libavcodec.so.62), but the pre-built makemkv-bin binary requires libavcodec.so.61 (ffmpeg 7.x).
Code: Select all
$ readelf --dynamic makemkv-bin-1.18.3/bin/amd64/makemkvcon
Dynamic section at offset 0x7b6350 contains 28 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libmakemkv.so.1]
0x0000000000000001 (NEEDED) Shared library: [libdriveio.so.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
...
Therefore while the problem can be "fixed" by statically linking libmakemkv against ffmpeg (older or newer), the static linking part is not really necessary -- you just need to build (and install) makemkv-oss on the system so that the dynamic linkage matches with what is installed / can be found. (If you opt to `make install` directly -- which isn't exactly a good choice -- it might be better to uninstall the makemkv package(s) beforehand -- although you'd probably then need to reverse the `make install`s when you want to switch back to package(s).)
Code: Select all
$ readelf --dynamic /usr/lib/libmakemkv.so.1
Dynamic section at offset 0x6d790 contains 33 entries:
...
0x0000000000000001 (NEEDED) Shared library: [libavcodec.so.62]
Re: Fedora 44 (FFmpeg 8) incompatibility
Seconding this analysis that makemkvcon is dependent on libmakemkv.so.1 rather than ffmpeg directly, so a rebuild and install of oss should pick up the current ffmpeg.
In my case, also on Fedora 44, where I've been upgrading Fedora releases for a few years since an install from scratch, I had an 18-month-old libmakemkv.so.1 in /lib which was picked-up before the newly-rebuilt one in /lib64, so makemkvcon would fail.
Removing the old one allowed the new makemkv build/install to work. No need to bake-in a statically linked ffmpeg.
In my case, also on Fedora 44, where I've been upgrading Fedora releases for a few years since an install from scratch, I had an 18-month-old libmakemkv.so.1 in /lib which was picked-up before the newly-rebuilt one in /lib64, so makemkvcon would fail.
Removing the old one allowed the new makemkv build/install to work. No need to bake-in a statically linked ffmpeg.