Install MakeMKV on Fedora

The place to discuss linux version of MakeMKV
Falco
Posts: 25
Joined: Thu Aug 16, 2018 6:37 pm

Re: Install MakeMKV on Fedora

Post by Falco »

Only one person who was curious to test ?
Please guys give some feedback.
This script is bad/good idea, it is working well or not.
I know some people cloned it, because of Github reports, but I have no more details :(
skamansam
Posts: 1
Joined: Thu Jun 01, 2023 2:00 pm

Re: Install MakeMKV on Fedora

Post by skamansam »

This worked well for me, until I upgraded to Fedora 38 and libffmpeg was updated to version 6. The binaries appear to be dynamically linked to libavcodec-59 (ffmpeg version 5.9).

The makemkvcon binary is dynamically linked to specific versions of libs so you need to find those versions, specifically libavcodec.so.59 and libavutil.so.57 (for some reason, you also need libavutil.so.56 [wtf?] )

Code: Select all

$ ldd `which makemkvcon`
/usr/bin/makemkvcon: /lib64/libavcodec.so.59: version `LIBAVCODEC_59' not found (required by /lib/libmakemkv.so.1)
	linux-vdso.so.1 (0x00007ffd437da000)
	libmakemkv.so.1 => /lib/libmakemkv.so.1 (0x00007f4d26fc5000)
	libdriveio.so.0 => /lib/libdriveio.so.0 (0x00007f4d26fbb000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4d26fb6000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f4d26dd8000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f4d26dd3000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f4d26dce000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f4d26a00000)
	libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f4d26400000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f4d26db2000)
	libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f4d26d87000)
	libavcodec.so.59 => /lib64/libavcodec.so.59 (0x00007f4d25200000)
	libavutil.so.57 => not found
	libm.so.6 => /lib64/libm.so.6 (0x00007f4d26ca4000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4d26c80000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f4d27090000)
	libswresample.so.3 => /lib64/libswresample.so.3 (0x00007f4d26c63000)
	libavutil.so.56 => /lib64/libavutil.so.56 (0x00007f4d24e00000)
	libvpx.so.8 => /lib64/libvpx.so.8 (0x00007f4d24a00000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f4d269cd000)
	libdav1d.so.6 => /lib64/libdav1d.so.6 (0x00007f4d24820000)
	libopencore-amrwb.so.0 => /lib64/libopencore-amrwb.so.0 (0x00007f4d269b7000)
	librsvg-2.so.2 => /lib64/librsvg-2.so.2 (0x00007f4d23e00000)
	libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f4d26957000)
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f4d250b7000)
	libcairo.so.2 => /lib64/libcairo.so.2 (0x00007f4d246ed000)
	libzvbi.so.0 => /lib64/libzvbi.so.0 (0x00007f4d268c8000)
	libaom.so.3 => /lib64/libaom.so.3 (0x00007f4d23800000)
	libgsm.so.1 => /lib64/libgsm.so.1 (0x00007f4d268b9000)
	libmp3lame.so.0 => /lib64/libmp3lame.so.0 (0x00007f4d26841000)
	libopencore-amrnb.so.0 => /lib64/libopencore-amrnb.so.0 (0x00007f4d263d7000)
	libopenjp2.so.7 => /lib64/libopenjp2.so.7 (0x00007f4d24da0000)
	libopus.so.0 => /lib64/libopus.so.0 (0x00007f4d24d44000)
	libspeex.so.1 => /lib64/libspeex.so.1 (0x00007f4d263ba000)
	libtheoraenc.so.1 => /lib64/libtheoraenc.so.1 (0x00007f4d24d18000)
	libtheoradec.so.1 => /lib64/libtheoradec.so.1 (0x00007f4d2682e000)
	libvo-amrwbenc.so.0 => /lib64/libvo-amrwbenc.so.0 (0x00007f4d24cfa000)
	libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007f4d246be000)
	libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x00007f4d23d55000)
	libx264.so.164 => /lib64/libx264.so.164 (0x00007f4d23400000)
	libx265.so.199 => /lib64/libx265.so.199 (0x00007f4d22e00000)
	libxvidcore.so.4 => /lib64/libxvidcore.so.4 (0x00007f4d236f3000)
	libva.so.2 => /lib64/libva.so.2 (0x00007f4d2468e000)
	libmfx.so.1 => /lib64/libmfx.so.1 (0x00007f4d263ab000)
	libsoxr.so.0 => /lib64/libsoxr.so.0 (0x00007f4d233a2000)
	libva-drm.so.2 => /lib64/libva-drm.so.2 (0x00007f4d26c54000)
	libvdpau.so.1 => /lib64/libvdpau.so.1 (0x00007f4d26828000)
	libX11.so.6 => /lib64/libX11.so.6 (0x00007f4d22cb9000)
	libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f4d250a0000)
	libOpenCL.so.1 => /lib64/libOpenCL.so.1 (0x00007f4d24661000)
	libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f4d23369000)
	libcairo-gobject.so.2 => /lib64/libcairo-gobject.so.2 (0x00007f4d24cef000)
	libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x00007f4d2333b000)
	libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f4d22ae7000)
	libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f4d22973000)
	libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x00007f4d24cde000)
	libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007f4d24647000)
	libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007f4d232d1000)
	libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f4d22877000)
	libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f4d22828000)
	libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f4d22758000)
	libffi.so.8 => /lib64/libffi.so.8 (0x00007f4d2463b000)
	libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f4d226be000)
	libXext.so.6 => /lib64/libXext.so.6 (0x00007f4d236df000)
	libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f4d23d49000)
	libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f4d22693000)
	libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f4d236d0000)
	libxcb-shm.so.0 => /lib64/libxcb-shm.so.0 (0x00007f4d2509b000)
	libpixman-1.so.0 => /lib64/libpixman-1.so.0 (0x00007f4d225e5000)
	libjxl.so.0.7 => /lib64/libjxl.so.0.7 (0x00007f4d22200000)
	libvmaf.so.1 => /lib64/libvmaf.so.1 (0x00007f4d22101000)
	libogg.so.0 => /lib64/libogg.so.0 (0x00007f4d225db000)
	libnuma.so.1 => /lib64/libnuma.so.1 (0x00007f4d225cc000)
	libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f4d2257a000)
	libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f4d236c9000)
	libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f4d224f7000)
	libmount.so.1 => /lib64/libmount.so.1 (0x00007f4d220bb000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4d2208e000)
	libfribidi.so.0 => /lib64/libfribidi.so.0 (0x00007f4d2206f000)
	libthai.so.0 => /lib64/libthai.so.0 (0x00007f4d22064000)
	libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f4d22043000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f4d2202f000)
	libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007f4d22022000)
	libXau.so.6 => /lib64/libXau.so.6 (0x00007f4d232cb000)
	libhwy.so.1 => /lib64/libhwy.so.1 (0x00007f4d22017000)
	libbrotlienc.so.1 => /lib64/libbrotlienc.so.1 (0x00007f4d21f85000)
	libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f4d21f4d000)
	libdatrie.so.1 => /lib64/libdatrie.so.1 (0x00007f4d21f44000)
	libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007f4d21f21000)
You can get an rpm from here: https://rpmfind.net/linux/rpm2html/sear ... 57)(64bit) and do the following:

Code: Select all

rpm2cpio ffmpeg-libs-5.1.3-3.fc37.x86_64.rpm | cpio -idmv
sudo cp -i ./usr/lib64/* /lib64
You should probably not overwrite any existing files, but you shouldn't have any either. the -i argument to cp will prompt you before overwriting files.
Falco
Posts: 25
Joined: Thu Aug 16, 2018 6:37 pm

Re: Install MakeMKV on Fedora

Post by Falco »

Hi Skamansam
Thx for your feedback
I am a bit surprised by your issue :shock:
I did not face any issue during install from scratch with Fed37 or Fed38 and no issue when I upgraded from Fed37 to Fed38.
All the libs you are talking about are linked to the Makemkv compile that I am not responsible.
My script offer an easy way to install all dependences and generate the compiling which are necessary to use this software.
Nowhere in my script you can find copy to from /usr/lib64 or /lib64.
In role makemkv I only create link for libbdplus and libaacs, that's it.
Also nowhere I set any version of software to be sure let Fedora manage itself dependances and versions.
If I have a bit time, I will try to test reinstall Fed37 from scratch with Makemkv and so on. And then try to Upgrade it.
Let me know also if you use the option --allowerasing when you upgraded Fed37 to Fed38.
Maybe this is the real issue you faced
I hope I understood good your problem.
Falco
Posts: 25
Joined: Thu Aug 16, 2018 6:37 pm

Re: Install MakeMKV on Fedora

Post by Falco »

Please guys give some feedbacks.
This script is bad/good idea, it is working well or not ?
I know some people cloned the git, thanks to Github reports, but that's it :(
Falco
Posts: 25
Joined: Thu Aug 16, 2018 6:37 pm

Re: Install MakeMKV on Fedora

Post by Falco »

Hi Guys
Tested, yesterday evening, on Fedora 39 (x86_64) new fresh installation and it works fine. :D
Please, let some feedbacks.
BR
MrPenguin
Posts: 77
Joined: Thu Oct 19, 2023 11:31 pm

Re: Install MakeMKV on Fedora

Post by MrPenguin »

FWIW I recently installed MakeMKV on Fedora 38 "by hand", and found everything I needed in either the Fedora or RPM Fusion repositories. I then recompiled MakeMKV when I upgraded to Fedora 39:

Code: Select all

$ ldd -r /lib64/libmakemkv.so.1 |grep libav
	libavutil.so.58 => /lib64/libavutil.so.58 (0x00007fe51fe00000)
	libavcodec.so.60 => /lib64/libavcodec.so.60 (0x00007fe51ec00000)
Falco
Posts: 25
Joined: Thu Aug 16, 2018 6:37 pm

Re: Install MakeMKV on Fedora

Post by Falco »

Hi MrPenguin
The idea behind my script is to help rookie or experienced users to install MakeMKV and/or HandBrake by compiling easily.
Did you tried to use my ansible script to compile, maybe for testing in a virtual machine for example ?
Just to know. :)
MrPenguin
Posts: 77
Joined: Thu Oct 19, 2023 11:31 pm

Re: Install MakeMKV on Fedora

Post by MrPenguin »

Falco wrote:
Thu Nov 23, 2023 6:10 pm
Did you tried to use my ansible script to compile, maybe for testing in a virtual machine for example ?
Hi, and "no" I have not tried your script because I was unaware of it until only very recently. To be fair, I have only joined this thread because in my experience, there should be no need to use rpm2cpio on any external RPMs in order to satisfy MakeMKV's dependencies.
Falco
Posts: 25
Joined: Thu Aug 16, 2018 6:37 pm

Re: Install MakeMKV on Fedora

Post by Falco »

I don't use rpm2cpio in my script.
My Ansible script download all necessary tools, libraries and sources to compile makemkv binaries.
Just like you did "by hand". That's it and nothing more !!
I am surprised too by Skamansam message. :shock:
I really don't know why Skamansam posted this message on my thread. :shock:
The issue he faced is for sure not due to my script
geolaw
Posts: 1
Joined: Tue Jan 02, 2024 3:44 pm

Re: Install MakeMKV on Fedora

Post by geolaw »

Hi Falco,

Started trying to build makemkv on a fairly fresh F39 install and then found your post.

I had started fighting through the ./configure errors to get packages installed, so I was already partway there, but then I ran the playbook and boom, worked perfectly, all I did was edit down myFedora.yml to comment out :

# - bootstrap
# - disable-ipv6
# - softwares
# - google-chrome
# - lynis
# - vscode
# - asbru-cm

After it finished, I started and I am currently running through the pre-checks on a DVD :)

Awesome job - and awesome idea with the whole myFedora playbook. I've got several post install scripts I run when I install a new system, but I think I am going to convert over to your playbook because it automates everything much more efficiently - should even be able to git clone down my i3wm configs and everything 👍

~George
Falco
Posts: 25
Joined: Thu Aug 16, 2018 6:37 pm

Re: Install MakeMKV on Fedora

Post by Falco »

Great feedback Geolaw, I'm moved by your message ! :oops:
I'm really happy to have been helpful through this ansible playbook . :P
Geolaw, I hope you will easy migrate your scripts to an ansible playbook, because this is a really nice tool to deploy simple or complex architectures, I'm Fan about it.
Big thanks and I whish you all a nice and happy new year.
cariost
Posts: 1
Joined: Mon Mar 18, 2024 9:01 am

Re: Install MakeMKV on Fedora

Post by cariost »

Hello Falco,
after reading your instructions and finding them too complicated for my inexperience, i used your headline as search term and found this instruction
https://linuxconfig.org/how-to-install- ... dora-linux
That i managed to do, monkey style, i.e. copying every character without knowing what i am doing, and to my relief it actually worked, i have backupped 2 blurays, and both backups work !
Maybe this is helpful for you or someone else.
Falco
Posts: 25
Joined: Thu Aug 16, 2018 6:37 pm

Re: Install MakeMKV on Fedora

Post by Falco »

Hi Cariost
Sure your comment is helpful.
I explained the way to use my script in the first text in my topic.
But sorry probably I was not enough explicit.
My script repeat all the tasks you found in the URL I shared and in Makemkv documentation.
I will try to be more smart in my explain.

- First step is to install ansible:

Code: Select all

sudo dnf install ansible
- Second step is download my script using git commands:

Code: Select all

mkdir Git-Repo && cd Git-Repo
git clone https://github.com/jpjubenot/ansible-post-install-my-fedora
cd ansible-post-install-my-fedora
- Third step is if you only want install MakeMKV, you need to edit the file myFedora.yml
Comment all roles except hb-and-mkmkv-needed-softwares and makemkv:
roles:
#- bootstrap
#- disable-ipv6
#- softwares
#- google-chrome
#- lynis
#- vscode
#- asbru-cm
- hb-and-mkmkv-needed-softwares
#- handbrake
- makemkv
# - libdvdcss
# - remove-softwares
# - rescue-boot
# - disable-webcam
# - virtualbox

- Fourth step is to check myvars.yml content to be sure correspond to the version available there https://www.makemkv.com/download/ (Today latest version is 1.17.6).
MakeMKV_Ver: 1.17.6

- Last step is to play the ansible playbook:

Code: Select all

sudo ansible-playbook myFedora.yml
That's it :D .
This is the process used by Geolaw [ ~George ] too in the comment above.
If you have the opportunity to test my script like this, please let me know your experience.
Thx again for your feedback. 8)
Post Reply