Much thanks to you and camjac251, I had success with installing makemkvcon using your script. Hopefully I will have no further comments/questions, looks good so far!basvdw wrote: ↑Sat Feb 19, 2022 4:54 pmApologies for necroposting, I'm not a regular here so don't know if it's appropriate, but I updated the script a bit to fit the needs of someone at Ultra.cc/UltraSeedbox.
It's heavily based on the script posted here by camjac251, I appreciate you and everyone else. Mine does essentially the same thing with a few small changes:I'm hosting it at https://get.bas.sh/install-makemkv.sh so you can easily run it with a one-liner (or download it first if you want to read it before running it).
- Added NASM as a dependency since FFmpeg needs it and it doesn't come preinstalled at Ultra.cc
- Changed the build directory to /tmp/makemkv
- Changed the prefix to $HOME/.local
- Adds $LD_LIBRARY_PATH and $PATH insertions to .bashrc if they don't exist yet (kind of hacky but it's useful to us)
- Changed cleanup of build directory to be on exit
- Changed curl commands to follow redirects
- Removed the build log since we don't really need it, you can just redirect the output of the script itself if you do
and here's the script in full:Code: Select all
curl -fsSL https://get.bas.sh/install-makemkv.sh | bashCode: Select all
#!/usr/bin/env bash #set -x set -e ### Based on https://forum.makemkv.com/forum/viewtopic.php?p=62349#p62349 p() { echo -e "\n==> $@\n" } build_dir=/tmp/makemkv cleanup() { p 'Cleaning up build directory...' rm -rf $build_dir } trap cleanup EXIT PREFIX=$HOME/.local export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH export PATH=$PREFIX/bin:$PATH nasm_url="https://www.nasm.us" ffmpeg_url="https://www.ffmpeg.org/releases" makemkv_url="http://makemkv.com/download" makemkv_serial_url="http://www.makemkv.com/forum2/viewtopic.php?f=5&t=1053" p 'Checking latest versions' nasm_version=$(curl -fsSL $nasm_url | grep -oP '\d+\.\d+\.\d+' | head -n1) echo "nasm $nasm_version" ffmpeg_version=$(curl -fsSL $ffmpeg_url | grep -oP 'ffmpeg-(\d+\.)+\d+' | sort -V | tail -n1) echo $ffmpeg_version makemkv_version=$(curl -fsSL $makemkv_url | grep -oP '\d+\.\d+\.\d+' | head -n1) echo "MakeMKV $makemkv_version" makemkv_serial=$(curl -fsSL $makemkv_serial_url | grep -oP 'T-[\w\d@]{66}') echo "MakeMKV key: $makemkv_serial" if [[ -z $nasm_version ]] || [[ -z $ffmpeg_version ]] || [[ -z $makemkv_version ]] || [[ -z $makemkv_serial ]]; then p 'At least one of the version checks failed, aborting' exit fi p "Compiling NASM, MakeMKV, and FFmpeg in $build_dir" mkdir -p $build_dir && cd $build_dir p 'Downloading NASM, ffmpeg, and makemkv sources' wget --no-verbose "$nasm_url/pub/nasm/releasebuilds/$nasm_version/nasm-$nasm_version.tar.gz" \ "$ffmpeg_url/$ffmpeg_version.tar.bz2" \ "$makemkv_url/makemkv-bin-$makemkv_version.tar.gz" \ "$makemkv_url/makemkv-oss-$makemkv_version.tar.gz" p 'Extracting archives' echo -n 'nasm: ' && tar xf nasm-$nasm_version.tar.gz --totals echo -n 'ffmpeg: ' && tar xf $ffmpeg_version.tar.bz2 --totals echo -n 'makemkv-oss: ' && tar xf makemkv-bin-$makemkv_version.tar.gz --totals echo -n 'makemkv-bin: ' && tar xf makemkv-oss-$makemkv_version.tar.gz --totals p 'Configuring NASM' cd $build_dir/nasm-$nasm_version ./autogen.sh ./configure --prefix=$PREFIX p 'Compiling NASM' make -j p 'Installing NASM' make install p 'Configuring FFmpeg' cd $build_dir/$ffmpeg_version ./configure --prefix=$PREFIX --extra-cflags="-I$PREFIX/include" --extra-ldflags="-L$PREFIX/lib" --enable-static --enable-pic p 'Compiling FFmpeg' make -j p 'Installing FFmpeg' make install p 'Configuring makemkv-oss' cd $build_dir/makemkv-oss-$makemkv_version sed -i '/ldconfig/d' Makefile.in ./configure --prefix=$PREFIX --disable-gui p 'Compiling makemkv-oss' make -j p 'Installing makemkv-oss' make install p 'Compiling makemkv-bin' cd $build_dir/makemkv-bin-$makemkv_version mkdir tmp echo -n "accepted" > tmp/eula_accepted sed -i "s|/usr|$HOME/.local|" Makefile make -j > /dev/null p 'Installing makemkv-bin' make install p 'Registering MakeMKV with latest beta key' mkdir -p $HOME/.MakeMKV echo "app_Key = \"$makemkv_serial\"" > $HOME/.MakeMKV/settings.conf if ! grep -qE '\$HOME/.local/lib(:|"$|$)' $HOME/.bashrc; then p 'Adding $LD_LIBRARY_PATH insertion to .bashrc' echo 'export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH' >> $HOME/.bashrc fi if ! grep -qE '\$HOME/.local/bin(:|"$|$)' $HOME/.bashrc; then p 'Adding $PATH insertion to .bashrc' echo 'export PATH=$HOME/.local/bin:$PATH' >> $HOME/.bashrc fi p 'Restart your SSH session or run "source ~/.bashrc" to be able to run makemkvcon (if everything went well, which I sure hope it did). Enjoy! :)'
Installing as non-root user
Re: Installing as non-root user
-
horstepipe
- Posts: 2
- Joined: Wed Nov 12, 2025 12:53 pm
Re: Installing as non-root user
Hello fellows,
I was very happy to find that script to install makemkv on my ultra.cc slot.
Unfortunately I am getting this error after compiling and installing makemkv:
The slot is running:
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Has anybody some idea to fix that?
BR
I was very happy to find that script to install makemkv on my ultra.cc slot.
Unfortunately I am getting this error after compiling and installing makemkv:
Code: Select all
sdftool: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by sdftool)
sdftool: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by sdftool)
The slot is running:
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Has anybody some idea to fix that?
BR
-
segfaulted
- Posts: 110
- Joined: Mon May 06, 2024 11:10 am
Re: Installing as non-root user
You'll need to compile a newer glibc and patch the makemkv executables to load it.horstepipe wrote: ↑Wed Nov 12, 2025 12:55 pmHello fellows,
I was very happy to find that script to install makemkv on my ultra.cc slot.
Unfortunately I am getting this error after compiling and installing makemkv:
Code: Select all
sdftool: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by sdftool) sdftool: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by sdftool)
I wrote a guide here: viewtopic.php?p=160864#p160864
-
horstepipe
- Posts: 2
- Joined: Wed Nov 12, 2025 12:53 pm
Re: Installing as non-root user
thank you very much, unfortunately this does not seem to work without sudo privileges.
On build process, I am getting these errors. Guess I need to ask at ultra.cc whether my the system is getting updated some day...
These critical programs are missing or too old: as ld gcc make
On build process, I am getting these errors. Guess I need to ask at ultra.cc whether my the system is getting updated some day...
These critical programs are missing or too old: as ld gcc make
-
segfaulted
- Posts: 110
- Joined: Mon May 06, 2024 11:10 am
Re: Installing as non-root user
If gcc isn't installed, then the build process for ffmpeg and makemkv-oss won't succeed either. That script you mentioned doesn't seem to check for those failure cases.horstepipe wrote: ↑Sun Nov 16, 2025 4:26 pmthank you very much, unfortunately this does not seem to work without sudo privileges.
On build process, I am getting these errors. Guess I need to ask at ultra.cc whether my the system is getting updated some day...
These critical programs are missing or too old: as ld gcc make
I tried Debian 11 in a virtual machine just now, it does fine. You only need root to install the prerequisites (gcc, make, bison, gawk, linux-headers-amd64). Everything after that can be done as a normal user.