Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MakeMKV Missing Dependancies post 1.17.6 #330

Closed
microtechno9000 opened this issue Oct 9, 2024 · 3 comments · Fixed by #331
Closed

MakeMKV Missing Dependancies post 1.17.6 #330

microtechno9000 opened this issue Oct 9, 2024 · 3 comments · Fixed by #331

Comments

@microtechno9000
Copy link
Collaborator

Linked issue from ARM 🐛 MakeMKV Bug - Bluray ripping not functioning in ARM #1195

MakeMKV have released a new version of software, 1.17.8
Quick testing, seems that it requires a newer version of libc

ARM running phusion/baseimage:focal-1.2.0

# makemkvcon -v
makemkvcon: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by makemkvcon)
makemkvcon: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by makemkvcon)

# uname -r
5.15.0-122-generic

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

currently libc6 can't be updated

# apt install libc6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libc6 is already the newest version (2.31-0ubuntu9.16).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
@microtechno9000
Copy link
Collaborator Author

microtechno9000 commented Oct 9, 2024

Testing proposed solution in docker container, as suggested in ARM issue Stackoverflow

echo "deb http://security.ubuntu.com/ubuntu jammy-security main" >> /etc/apt/sources.list
apt update
apt install libc6

makemkvcon returns:

# makemkvcon -v
makemkvcon: invalid option -- 'v'
Use: makemkvcon [switches] Command [Parameters]

Commands:
  info <source>
      prints info about disc
  mkv <source> <title id> <destination folder>
      saves a single title to mkv file
  backup <source> <destination folder>
      backs up disc to a hard drive
  f <args>
      run universal firmware tool
  reg <key string or file name>
      enter registration key into program

Source specification:
  iso:<FileName>    - open iso image <FileName>
  file:<FolderName> - open files in folder <FolderName>
  disc:<DiscId>     - open disc with id <DiscId> (see list Command)
  dev:<DeviceName>  - open disc with OS device name <DeviceName>

Switches:
  -r --robot        - turn on "robot" mode, see http://www.makemkv.com/developers

However, running the install_makemkv.sh script fails, reporting a gcc error.

Rebuilding the container and running again, confirmed.

  1. Running install_makemkv.sh works, no issues reported
  2. Makemkv reports an error GLIBC_2.33 not found
  3. Updated repo and installed libc6
  4. Re-ran install_makemkv.sh, which fails
  5. Updated docker container apt upgrade, to see if packages were out of date, no change (still fails)

Error:

...
makemkv-oss-1.17.8/Makefile.in
+ rm makemkv-oss.tgz
+ cd makemkv-oss
+ '[' -f configure ']'
+ ./configure --prefix=/usr/local
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/root/makemkv-oss':
configure: error: C compiler cannot create executables
See `config.log' for more details

Details in config.log (also attached)

...
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) 
configure:3940: $? = 0
configure:3929: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3940: $? = 1
configure:3929: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3940: $? = 1
configure:3929: gcc -version >&5
gcc: error: unrecognized command line option '-version'
gcc: fatal error: no input files
compilation terminated.
configure:3940: $? = 1
configure:3960: checking whether the C compiler works
configure:3982: gcc    conftest.c  >&5
/usr/bin/ld: cannot find Scrt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
configure:3986: $? = 1
...

Potentially due to changes, when updating

# apt install libc6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  binfmt-support dh-strip-nondeterminism dpkg-dev dwz gettext gettext-base gir1.2-freedesktop gir1.2-gdkpixbuf-2.0
  gir1.2-harfbuzz-0.0 gir1.2-rsvg-2.0 groff-base icu-devtools imagemagick-6-common intltool-debian lib32gcc-s1
  lib32stdc++6 libarchive-zip-perl libc-dev-bin libc6-i386 libcairo-script-interpreter2 libclang-common-10-dev
  libclang-cpp10 libclang1-10 libcroco3 libcrypt-dev libdebhelper-perl libdjvulibre-text libdjvulibre21 libexif12
  libffi-dev libfile-stripnondeterminism-perl libgc1c2 libglib2.0-dev-bin libgraphite2-dev libharfbuzz-gobject0
  libharfbuzz-icu0 libice-dev libilmbase-dev libilmbase24 libjbig-dev liblcms2-dev libllvm10 liblqr-1-0
  liblqr-1-0-dev libltdl-dev liblzo2-2 libmagick++-6-headers libmagick++-6.q16-8 libmagickcore-6-arch-config
  libmagickcore-6-headers libmagickcore-6.q16-6 libmagickcore-6.q16-6-extra libmagickwand-6-headers
  libmagickwand-6.q16-6 libobjc-9-dev libobjc4 libomp-10-dev libomp5-10 libopenexr-dev libopenexr24 libpcre16-3
  libpcre2-32-0 libpcre2-posix2 libpcre32-3 libpcrecpp0v5 libpfm4 libpipeline1 libpixman-1-dev libsepol1-dev
  libsm-dev libsub-override-perl libtiffxx5 libturbojpeg libuchardet0 libwmf0.2-7 libxcb-render0-dev
  libxcb-shm0-dev libxrender-dev libxt-dev libxt6 libz3-4 libz3-dev linux-libc-dev llvm-10 llvm-10-runtime
  llvm-10-tools man-db po-debconf python3-pygments python3-yaml
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libblkid1 libc-bin libc-dev-bin libc6-i386 libexpat1 libfreetype6 libharfbuzz0b libncurses6 libncursesw6
  libtinfo6 locales zlib1g
Suggested packages:
  manpages glibc-doc
Recommended packages:
  manpages manpages-dev libc-devtools libnss-nis libnss-nisplus
The following packages will be REMOVED:
  build-essential clang clang-10 debhelper dh-autoreconf g++ g++-9 libass-dev libblkid-dev libbz2-dev libc6-dev
  libcairo2-dev libdjvulibre-dev libdvd-pkg libdvdcss-dev libdvdcss2 libexif-dev libexpat1-dev libfontconfig1-dev
  libfreetype-dev libfreetype6-dev libgdk-pixbuf2.0-dev libglib2.0-dev libharfbuzz-dev libicu-dev libjpeg-dev
  libjpeg-turbo8-dev libjpeg8-dev libmagick++-6.q16-dev libmagick++-dev libmagickcore-6.q16-dev
  libmagickwand-6.q16-dev libmount-dev libncurses-dev libnuma-dev libpcre2-dev libpcre3-dev libpng-dev
  libpython3-dev libpython3.8-dev librsvg2-dev libselinux1-dev libstdc++-9-dev libtiff-dev libtinfo-dev libtool
  libtool-bin libturbojpeg0-dev libwmf-dev libxml2-dev libzbar-dev llvm-10-dev python3-dev python3.8-dev uuid-dev
  zlib1g-dev
The following packages will be upgraded:
  libblkid1 libc-bin libc-dev-bin libc6 libc6-i386 libexpat1 libfreetype6 libharfbuzz0b libncurses6 libncursesw6
  libtinfo6 locales zlib1g
13 upgraded, 0 newly installed, 56 to remove and 177 not upgraded.
Need to get 12.4 MB of archives.
After this operation, 399 MB disk space will be freed.
Do you want to continue? [Y/n] 

config.log

@microtechno9000 microtechno9000 changed the title MakeMKV Missing Dependancies at 1.17.6 MakeMKV Missing Dependancies post 1.17.6 Oct 9, 2024
@microtechno9000
Copy link
Collaborator Author

Running the install_mkv_hb_deps.sh didn't help.

Confirmed the issue with dependencies and libc6, as the update and removal of packages failed.

...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 dirmngr : Depends: gpgconf (= 2.2.27-3ubuntu2.1) but 2.2.19-3ubuntu2.2 is to be installed
           Depends: libgcrypt20 (>= 1.9.0) but 1.8.5-5ubuntu1.1 is to be installed
           Depends: libgnutls30 (>= 3.7.2) but 3.6.13-2ubuntu1.11 is to be installed
           Depends: libgpg-error0 (>= 1.42) but 1.37-1 is to be installed
           Depends: libldap-2.5-0 (>= 2.5.4) but it is not going to be installed
 g++ : Depends: g++-9 (>= 9.3.0-3~) but it is not going to be installed
 gnupg : Depends: gnupg-utils (>= 2.2.27-3ubuntu2.1) but 2.2.19-3ubuntu2.2 is to be installed
         Depends: gpg (>= 2.2.27-3ubuntu2.1) but 2.2.19-3ubuntu2.2 is to be installed
         Depends: gpg-agent (>= 2.2.27-3ubuntu2.1) but 2.2.19-3ubuntu2.2 is to be installed
         Depends: gpg-wks-client (>= 2.2.27-3ubuntu2.1) but 2.2.19-3ubuntu2.2 is to be installed
         Depends: gpg-wks-server (>= 2.2.27-3ubuntu2.1) but 2.2.19-3ubuntu2.2 is to be installed
         Depends: gpgsm (>= 2.2.27-3ubuntu2.1) but 2.2.19-3ubuntu2.2 is to be installed
         Depends: gpgv (>= 2.2.27-3ubuntu2.1) but 2.2.19-3ubuntu2.2 is to be installed
 gpg-wks-client : Depends: dirmngr (= 2.2.19-3ubuntu2.2) but 2.2.27-3ubuntu2.1 is to be installed
 libexpat1-dev : Depends: libc6-dev but it is not going to be installed or
                          libc-dev
 zlib1g-dev : Depends: libc6-dev but it is not going to be installed or
                       libc-dev
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Reading package lists...
Building dependency tree...
Reading state information...
appstream is already the newest version (0.12.10-2).
autoconf is already the newest version (2.69-11.1).
automake is already the newest version (1:1.16.1-4ubuntu6).
autopoint is already the newest version (0.19.8.1-10build1).
libjansson-dev is already the newest version (2.12-1build1).
libmp3lame-dev is already the newest version (3.100-3).
libogg-dev is already the newest version (1.3.4-0ubuntu1).
libopus-dev is already the newest version (1.3.1-0ubuntu1).
libsamplerate0-dev is already the newest version (0.1.9-2).
libtheora-dev is already the newest version (1.1.1+dfsg.1-15ubuntu2).
libvorbis-dev is already the newest version (1.3.6-2ubuntu1).
m4 is already the newest version (1.4.18-4).
make is already the newest version (4.2.1-1.2).
patch is already the newest version (2.7.6-6).
pkg-config is already the newest version (0.29.1-0ubuntu4).
libva-dev is already the newest version (2.7.0-2).
meson is already the newest version (0.53.2-2ubuntu2).
nasm is already the newest version (2.14.02-1).
ninja-build is already the newest version (1.10.0-1build1).
cmake is already the newest version (3.16.3-1ubuntu1.20.04.1).
libdrm-dev is already the newest version (2.4.107-8ubuntu1~20.04.2).
liblzma-dev is already the newest version (5.2.4-1ubuntu1.1).
libspeex-dev is already the newest version (1.2~rc1.2-1.1ubuntu1.20.04.1).
libavcodec-dev is already the newest version (7:4.2.7-0ubuntu0.1).
git is already the newest version (1:2.34.1-1ubuntu1.11).
libfribidi-dev is already the newest version (1.0.8-2ubuntu3.1).
libvpx-dev is already the newest version (1.11.0-2ubuntu2.3).
libx264-dev is already the newest version (2:0.160.3000+git033f9e14-1~focal3).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 build-essential : Depends: libc6-dev but it is not going to be installed or
                            libc-dev
                   Depends: g++ (>= 4:9.2) but it is not going to be installed
 clang : Depends: clang-10 (>= 10~) but it is not going to be installed
 libbz2-dev : Depends: libc6-dev but it is not going to be installed or
                       libc-dev
 libfontconfig1-dev : Depends: libexpat1-dev but it is not going to be installed
                      Depends: uuid-dev but it is not going to be installed
 libfreetype6-dev : Depends: libfreetype-dev (= 2.11.1+dfsg-1ubuntu0.2) but it is not going to be installed
 libharfbuzz-dev : Depends: libharfbuzz-icu0 (= 2.7.4-1ubuntu3.1) but 2.6.4-1ubuntu4.2 is to be installed
                   Depends: libglib2.0-dev (>= 2.19.1) but it is not going to be installed
                   Depends: libicu-dev but it is not going to be installed
 libnuma-dev : Depends: libc6-dev but it is not going to be installed or
                        libc-dev
 libtool : Depends: libc6-dev but it is not going to be installed or
                    libc-dev
 libturbojpeg0-dev : Depends: libjpeg-turbo8-dev (= 2.0.3-0ubuntu1.20.04.3) but it is not going to be installed
 libxml2-dev : Depends: libicu-dev but it is not going to be installed
               Depends: libxml2 (= 2.9.13+dfsg-1ubuntu0.4) but 2.9.10+dfsg-5ubuntu0.20.04.7 is to be installed
 tar : PreDepends: libselinux1 (>= 3.1~) but 3.0-1build2 is to be installed
 zlib1g-dev : Depends: libc6-dev but it is not going to be installed or
                       libc-dev
E: Unable to correct problems, you have held broken packages.
...

@makuser
Copy link
Contributor

makuser commented Oct 10, 2024

Testing proposed solution in docker container, as suggested in ARM issue Stackoverflow

echo "deb http://security.ubuntu.com/ubuntu jammy-security main" >> /etc/apt/sources.list
apt update
apt install libc6

Bad idea, bad suggestion, please don't try to switch out libc on a system just like that, since the entire OS depends on a specific version and things might and/or will break otherwise. Thankfully apt was still able to run afterward, but theoretically if you shift from certain libc versions to others, you might not even be able to use basic apt or even just apt-get commands anymore. You could theoretically have installed a secondary libc version alongside and point makemkv to that instead. This would then not break the rest of the system.

Anyway, IMO the solution is to use jammy, which comes with a newer libc right away. See #331 for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants