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

Bump phusion base image from Ubuntu 20.04 (focal) to Ubuntu 22.04 (jammy) #331

Merged

Conversation

makuser
Copy link
Contributor

@makuser makuser commented Oct 10, 2024

@makuser
Copy link
Contributor Author

makuser commented Oct 10, 2024

Ubuntu 22.04 comes with libc6=2.35-0ubuntu3.8 with satisfies the dependencies of MakeMKV v1.17.8:

Error on ancient 20.04:

# 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)

Output on new (still old) 22.04:

root@5c4db836a017:~# 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
root@5c4db836a017:~# 

ppa:mc3man/focal6 is also removed, since it is neither released for anything past focal, nor even necessary anymore.

@microtechno9000
Copy link
Collaborator

@makuser tested this locally
Can confirm that it fixes makemkvcon with no error on missing libc6

building the image and then rolling into arm causes the web UI to crash

...
Starting web ui
Traceback (most recent call last):
  File "/opt/arm/arm/runui.py", line 8, in <module>
    import arm.config.config as cfg  # noqa E402
  File "/opt/arm/arm/../arm/__init__.py", line 2, in <module>
    import arm.ripper
  File "/opt/arm/arm/../arm/ripper/__init__.py", line 3, in <module>
    from arm.ripper import logger, utils, makemkv, handbrake, identify, ARMInfo # noqa F401
  File "/opt/arm/arm/../arm/ripper/utils.py", line 24, in <module>
    from arm.ui import db  # needs to be imported before models
  File "/opt/arm/arm/../arm/ui/__init__.py", line 11, in <module>
    from flask_wtf import CSRFProtect
  File "/usr/local/lib/python3.10/dist-packages/flask_wtf/__init__.py", line 4, in <module>
    from .recaptcha import Recaptcha
  File "/usr/local/lib/python3.10/dist-packages/flask_wtf/recaptcha/__init__.py", line 1, in <module>
    from .fields import RecaptchaField
  File "/usr/local/lib/python3.10/dist-packages/flask_wtf/recaptcha/fields.py", line 3, in <module>
    from . import widgets
  File "/usr/local/lib/python3.10/dist-packages/flask_wtf/recaptcha/widgets.py", line 3, in <module>
    from werkzeug.urls import url_encode
ImportError: cannot import name 'url_encode' from 'werkzeug.urls' (/usr/local/lib/python3.10/dist-packages/werkzeug/urls.py)

This is resolvable, but will require additional changes to merge this PR and changes to the web UI.

@makuser
Copy link
Contributor Author

makuser commented Oct 10, 2024

building the image and then rolling into arm causes the web UI to crash

I can not reproduce this here, when did it crash, which action did you perform?
It really makes me wonder, since I really only took both repos in their current form and built them.

It starts up just nicely and works, I already ran a full cycle of one DVD with this setup now.

13:38:53,88 root@arm1: ~ $> docker logs arm-rippers -f
*** Running /etc/my_init.d/10_syslog-ng.init...
Oct 10 08:27:26 5c4db836a017 syslog-ng[13]: syslog-ng starting up; version='3.35.1'
*** Running /etc/my_init.d/arm_user_files_setup.sh...
Updating arm user id from 1000 to 1001...
Updating arm group id from 1000 to 1001...
Adding arm user to 'render' group
Checking ownership of /home/arm
[OK]: ARM UID and GID set correctly, ARM has access to '/home/arm' using 1001:1001
Removing any link between music and Music
Checking ownership of /etc/arm/config
[OK]: ARM UID and GID set correctly, ARM has access to '/etc/arm/config' using 1001:1001
Checking location of abcde configuration files
/etc/abcde.conf link doesnt exist
*** Running /etc/my_init.d/start_udev.sh...
/etc/my_init.d/start_udev.sh: 0: can't access tty; job control turned off
Trying to start udev
# # # # # # 
udev Started successfully
*** Booting runit daemon...
*** Runit started as PID 106
Starting web ui
Oct 10 08:27:31 5c4db836a017 cron[111]: (CRON) INFO (pidfile fd = 3)
Oct 10 08:27:31 5c4db836a017 cron[111]: (CRON) INFO (Running @reboot jobs)
[2024-10-10 08:27:32,818] INFO ARM: __init__.<module> Setting log level to: DEBUG
[2024-10-10 08:27:32,818] DEBUG ARM: __init__.<module> Disable Login: False

Maybe check out this, if that does not work for you, then your python packages are not installed properly. You should be able to import url_encode from werkzeug.urls from a python shell just like here:

14:29:54,89 root@arm1: ~ $> docker exec -it arm-rippers /bin/bash
root@5c4db836a017:/home/arm# 
root@5c4db836a017:/home/arm# python3
Python 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from werkzeug.urls import url_encode
>>> 
root@5c4db836a017:/home/arm# 
exit
14:32:34,90 root@arm1: ~ $> 

@microtechno9000
Copy link
Collaborator

Issue was an out of date dependencies branch on my test machine :(

Tested and can confirm works

Copy link
Collaborator

@microtechno9000 microtechno9000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

confirmed resolves makemkv issue

@microtechno9000
Copy link
Collaborator

Confirmed works, will merge once github docker build runs and confirms no issues

@microtechno9000 microtechno9000 merged commit 63de72d into automatic-ripping-machine:main Oct 12, 2024
1 check passed
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 this pull request may close these issues.

MakeMKV Missing Dependancies post 1.17.6 🐛 MakeMKV Bug - Bluray ripping not functioning in ARM
2 participants