emilsvennesson / script.module.inputstreamhelper

A simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback.
MIT License
136 stars 49 forks source link

libwidevinecdm.so fails to load (wrong ELF class) #581

Open tmds opened 1 month ago

tmds commented 1 month ago

inputstream.adaptive fails to load on my odroid n2+.

This is in the log file when trying to open a video:

AddOnLog: inputstream.adaptive: Initialize: Initialize: Failed to load library: /storage/.kodi/cdm/libwidevinecdm.so: wrong ELF class: ELFCLASS64

This is the log for a (re)install of Widevine:

2024-10-12 20:44:27.853 T:4207     info <general>: [script.module.inputstreamhelper] Choosing a version to install is only implemented if the lib is found in googles repo.
2024-10-12 20:44:30.418 T:4207  warning <general>: [script.module.inputstreamhelper] Downloading ChromeOS image for Widevine: jacuzzi (16002.44.0)
2024-10-12 20:44:30.635 T:3723     info <general>: Loading skin file: DialogConfirm.xml, load type: KEEP_IN_MEMORY
2024-10-12 20:48:39.774 T:4207  warning <general>: [script.module.inputstreamhelper] Delete file '/storage/.kodi/cdm/libwidevinecdm.so'.
2024-10-12 20:48:39.774 T:4207  warning <general>: [script.module.inputstreamhelper] Hardlink file '/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/backup/16002.44.0/libwidevinecdm.so' to '/storage/.kodi/cdm/libwidevinecdm.so'.
2024-10-12 20:48:39.775 T:4207  warning <general>: [script.module.inputstreamhelper] Delete file '/storage/.kodi/cdm/config.json'.
2024-10-12 20:48:39.775 T:4207  warning <general>: [script.module.inputstreamhelper] Hardlink file '/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/backup/16002.44.0/config.json' to '/storage/.kodi/cdm/config.json'.
2024-10-12 20:48:39.776 T:4207  warning <general>: [script.module.inputstreamhelper] Delete file '/storage/.kodi/cdm/recovery.json'.
2024-10-12 20:48:39.776 T:4207  warning <general>: [script.module.inputstreamhelper] Hardlink file '/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/backup/16002.44.0/recovery.json' to '/storage/.kodi/cdm/recovery.json'.
2024-10-12 20:48:39.804 T:4207  critical <general>: [script.module.inputstreamhelper] ['ldd', '/storage/.kodi/cdm/libwidevinecdm.so'] cmd failed.
2024-10-12 20:48:39.804 T:4207  critical <general>: [script.module.inputstreamhelper] Failed to check for missing Widevine libraries.
2024-10-12 20:48:39.805 T:4207  warning <general>: [script.module.inputstreamhelper] Widevine update check was made on 2024-10-12 18:18
horstle commented 1 month ago

I need some details on your system. Which OS, 32bit or 64bit,... Please provide a full debug log.

Also, is this a new installation or did it work before and broke with an update?

tmds commented 1 month ago

Also, is this a new installation or did it work before and broke with an update?

This is a fresh install of the latest CoreELEC.

I need some details on your system. Which OS, 32bit or 64bit,... Please provide a full debug log.

I'm not with my device now. I will provide a full debug log when I'm back home.

I had looked into this further and the issue seems to be that I have an aarch64 libwidevinecdm.so which fails to load on a 32-bit Kodi (note: kernel is 64-bit).

I'm not sure why I end up with the aarch64 libwidevinecdm.so. I see the jacuzzi image that gets mentioned in the log is under CHROMEOS_RECOVERY_ARM_BNAMES in the config.py. So I assume it should be providing the 32-bit binaries?

horstle commented 1 month ago

Right, Google is obviously switching more devices to 64bit and jacuzzi is one of them. I'll have to update the board names.

horstle commented 1 month ago

Should be fixed in current master. You can test it using the zip file I posted here: https://github.com/emilsvennesson/script.module.inputstreamhelper/issues/575#issuecomment-2408977564