Page 1 of 3

Install MakeMKV on Fedora

Posted: Sat Jan 28, 2023 6:24 pm
by Falco
Hi Guys
It looks some peoples have issues to install MakeMKV on their Fedora Distribution.
I raised a code many years ago, I would like to share with you.
I use Ansible scripts to complete my Fedora installation and to automatically do some settings.
You can use my scripts from there.
In my git repo, there is an English Readme (README_EN.md) to explain how to use it.
Follow the Readme and if you only want to install MakeMKV comment the file myFedora.yml like this:
********************************
roles:
#- bootstrap
#- disable-ipv6
#- softwares
#- asbru-cm
- hb-and-mkmkv-needed-softwares
#- handbrake
- makemkv
#- rescue-boot
#- disable-webcam
********************************
You have also myvars.yml you need to be sure both variable are ok with the last version number, like this:
MakeMKV_OSS: makemkv-oss-1.17.3
MakeMKV_BIN: makemkv-bin-1.17.3
********************************

In first approach you can also use my code in a virtual machine to see the result.
At the end MakeMKV (compiled) and HandBralke (compiled) will be installed properly on your favorite distro.
Please give me your feedbak too, it is also an opportunity to increase my knowledge and my English.
I hope, I could help someone.
Best regards.

Re: Install MakeMKV on Fedora

Posted: Mon Feb 20, 2023 5:53 pm
by Falco
Hi Everyone
No feedback or questions guys ? Don't be shy. :(
I only want to help and progress.

Re: Install MakeMKV on Fedora

Posted: Sun Mar 19, 2023 6:05 pm
by Falco
Hi Everyone
If someone tested it, did you face any issues :?:

Re: Install MakeMKV on Fedora

Posted: Mon Mar 20, 2023 4:25 pm
by stefan1
Hi currently i use the flatpak version for makemkv, but I will probably try this out with fedora 38 and do a clean install there. After having a short look at your tasks, why dont you use the ansible builtin modules?
https://docs.ansible.com/ansible/latest ... odule.html

Re: Install MakeMKV on Fedora

Posted: Mon Mar 20, 2023 5:53 pm
by Falco
Hi Stefan1
Thx a lot for your message, I was desperate to have no feedback.

To be honest this code is old and I did not take time to rewrite it from scratch and I didn't think this code at first to share it.
Many new features appears in Ansible with builtin modules regarding repositories, installations or elses ...
For some others builtin modules I thought there were a bit slower compare to non builtin.
Today for example we can use "ansible.builtin.packages" but when I started to learn ansible, it was if I remember "packages" (I am not sure) and
it was slower than using the internal command like apt or dnf when you have a big software listing with many dependences to manage.
It was my feeling at this time. :oops:
I agree builtin modules offer portability and an ansible script can be use on another system or many other reason.
Probably, it will be smart to rewrite all with the current good practice, you are right. I need to take this time one day :wink:

Re: Install MakeMKV on Fedora

Posted: Wed Mar 29, 2023 3:24 pm
by stefan1
Hi Falco

Lately I couldn rip a 4k disc with my flatpak makemkv setup. So I wanted to test your ansible script and install it on the system. The following issue occured

Code: Select all

➜  ansible-post-install-my-fedora git:(master) ✗ sudo ansible-playbook myFedora.yml
[sudo] password for stefan: 

PLAY [localhost] *************************************************************************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *******************************************************************************************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Verify if RPM Fusion FREE Repository exist] ********************************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Add Repository RPM Fusion FREE] ********************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Verify if RPM Fusion Non-FREE Repository exist] ****************************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Add Repository RPM Fusion Non-FREE] ****************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Clean DNF Hanbrake_and_Makemkb] ********************************************************************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Install Group Packages Development Tools] **********************************************************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Install Group Packages Development Libraries] ******************************************************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Install Group Packages X Software Development] *****************************************************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Install Group Packages GNOME Software Development] *************************************************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [hb-and-mkmkv-needed-softwares : Install Differents Packages in HB and Mkmkv] *******************************************************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [makemkv : Verify if MakeMKV exist] *************************************************************************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [makemkv : Create Folder to Compile] ************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Downloading MakeMKV OSS] *************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Downloading MakeMKV BIN] *************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Uncompress BIN Achive] ***************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Uncompress OSS Achive] ***************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Configure] ***************************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Compile MakeMKV OSS] *****************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Make Install] ************************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Create Folder BIN to Compile] ********************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Create File to Compile] **************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Compile MakeMKV BIN] *****************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Make Install] ************************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Delete MakeMKV Folder] ***************************************************************************************************************************************************************************************************************************************************************************************
skipping: [localhost]

TASK [makemkv : Create Symbolic Link for VLC - libaacs] **********************************************************************************************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "gid": 0, "group": "root", "mode": "0777", "msg": "src file does not exist, use \"force=yes\" if you really want to create the link: /usr/lib64/libmmbd.so.0", "owner": "root", "path": "/usr/lib64/libaacs.so.0", "secontext": "system_u:object_r:lib_t:s0", "size": 16, "src": "/usr/lib64/libmmbd.so.0", "state": "link", "uid": 0}

PLAY RECAP *******************************************************************************************************************************************************************************************************************************************************************************************************************
localhost                  : ok=10   changed=6    unreachable=0    failed=1    skipped=15   rescued=0    ignored=0   

after checking "/usr/lib64/" there is "libmmbd.so.0" does not exist

any ideas?

After editing the the ansible script to symlink from to "/usr/lib/libmmbd.so.0" Everything worked just fine. But to my curiosity after launching makemkv "help -> about" shows that version 1.17.2 was installed

Re: Install MakeMKV on Fedora

Posted: Wed Mar 29, 2023 5:38 pm
by Falco
Hello Stefan1
Let me check, but please let me know which Fedora version are you using now ?

Execute this line:

Code: Select all

ls -alh /usr/lib64/libmmbd.so.0 /usr/lib64/libaacs.so.0 /usr/lib64/libbdplus.so.0
At the end, it must be like this :shock: :

Code: Select all

lrwxrwxrwx.  /usr/lib64/libaacs.so.0 -> /usr/lib64/libmmbd.so.0
lrwxrwxrwx   /usr/lib64/libbdplus.so.0 -> /usr/lib64/libmmbd.so.0
-rw-r--r--        /usr/lib64/libmmbd.so.0
"/usr/lib64/libmmbd.so.0" exist or not ?
If you ask ansible to restart playing there, what the result please :

Code: Select all

sudo ansible-playbook myFedora.yml --start-at-task "Create Symbolic Link for VLC - libaacs"
Or you can also, do this:

Code: Select all

sudo ansible-playbook myFedora.yml -t symlinkvlc

Re: Install MakeMKV on Fedora

Posted: Wed Mar 29, 2023 6:03 pm
by Falco
I rewrote the code to be more Ansible documentation compliant.
I tested all many times without any issue. Be sure you have the last code version.
Back to me if you need help !! :D

Re: Install MakeMKV on Fedora

Posted: Wed Mar 29, 2023 6:50 pm
by Falco
Take care also in file myvars.yml, it is now simplified.
You just need to modify it, like this

Code: Select all

MakeMKV_Ver: 1.17.3
Replace 1.17.2 by 1.17.3, that's it.
You probably use an old script version.

Linux version should the same as Windows and Mac version.

To Upgrade Makemkv version, do like this.

Code: Select all

sudo mv /usr/bin/makemkv /usr/bin/makemkv-OLD
Replay only Makemkv part.

Code: Select all

sudo ansible-playbook myFedora.yml -t mkmkv
And then test "About" one more time.

Re: Install MakeMKV on Fedora

Posted: Wed Mar 29, 2023 7:00 pm
by Falco
After editing the the ansible script to symlink from to "/usr/lib/libmmbd.so.0" Everything worked just fine. But to my curiosity after launching makemkv "help -> about" shows that version 1.17.2 was installed
Are you using a fresh installation or an Upgraded one ?
What the result for :

Code: Select all

hostnamectl | grep -i Architecture

Re: Install MakeMKV on Fedora

Posted: Thu Mar 30, 2023 7:15 am
by Falco
Code "role => makemkv" updated this morning to take care about your architecture x32bits or x64bits. :wink: :D
[Cleaned now]
Don't forget to "git pull" or re-clone the repository.

Re: Install MakeMKV on Fedora

Posted: Thu Mar 30, 2023 3:00 pm
by stefan1
Hey,
at first everything is looking good now, correct version and ansible worked without any issues

when fedora 37 was released, i did a fresh install

Code: Select all

➜  ansible-post-install-my-fedora git:(master) ✗ hostnamectl | grep -i Architecture
      Architecture: x86-64
I think I had an older installation still present and therefore an old binary was started (or not replaced)

after removing the makemkv/makemkvcon from /usr/bin and replaying ansible after recloning the repo everything worked without issues.

Well done and thanks for all the effort

Re: Install MakeMKV on Fedora

Posted: Thu Mar 30, 2023 4:14 pm
by Falco
It sounds good, thx for your feedback Stefan1.
Like I said, if you need to upgrade into the future version 1.17.4 for example, you will just need to
- Rename this binary /usr/bin/makemkv
- Modify the myvars.yml file
- And Replay only the makemkv role.

Example:

Code: Select all

sudo mv /usr/bin/makemkv /usr/bin/makemkv-OLD
Change myvars.yml content, from 1.17.3 to 1.17.4

Code: Select all

sudo ansible-playbook myFedora.yml -t onlymkmkv
Have a nice end of day. :D

Re: Install MakeMKV on Fedora

Posted: Wed Apr 19, 2023 5:32 pm
by Falco
Today I finished to rewrite the code to be more Ansible documentation compliant.
Role libdvdcss is good too now :D

Re: Install MakeMKV on Fedora

Posted: Fri Apr 21, 2023 6:52 pm
by Falco
On a new fresh installation of Fedora 38 on my computer, I faced this issue too.
viewtopic.php?f=3&p=132993

I implemented the correction by replacing the value "av_mallocz_array" with "av_calloc" as nrk666 informed us, and it works fine.
Thx a lot for the information nrk666 :D