automatic-ripping-machine / arm-dependencies

A repo to codify the requirements used by Automatic Ripping Machine
MIT License
5 stars 6 forks source link

MakeMKV Missing Dependancies post 1.17.6 #330

Open microtechno9000 opened 16 hours ago

microtechno9000 commented 16 hours ago

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 commented 16 hours ago

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 commented 15 hours ago

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.
...