komga: Failed to load native library:sqlite-3.36.0.3
Steps to reproduce
Run docker-compose up -d on libreelec (rpi pi4) with docker-compose.yml from the documentation
Expected behavior
Komga should start without crashing
Actual behavior
It crashes
Logs
Komga version
0.157.2
Operating system
Libreelec 10.0.2
Other details
uname -a
Linux LibreELEC 5.10.95 #1 SMP Sat Mar 5 15:50:44 CET 2022 aarch64 GNU/Linux
lscpu
Architecture: aarch64
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Vendor ID: ARM
Model: 3
Model name: Cortex-A72
Stepping: r0p3
CPU max MHz: 1500.0000
CPU min MHz: 600.0000
BogoMIPS: 108.50
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Vulnerable
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm crc32 cpuid
java --version
openjdk 11.0.16.1 2022-08-12
OpenJDK Runtime Environment Temurin-11.0.16.1+1 (build 11.0.16.1+1)
OpenJDK Server VM Temurin-11.0.16.1+1 (build 11.0.16.1+1, mixed mode, sharing)
PS: This seem related to #945, but it looks like it isn’t the same exactly?
Acknowledgements
- I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
- I have written a short but informative title.
- I have checked the FAQ.
- I have updated the app to the latest version.
- I will fill out all of the requested information in this form.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 42 (22 by maintainers)
Commits related to this issue
- build(deps): bump sqlite-jdbc to 3.40.0.0 Closes: #984 — committed to gali1/komga by gotson 2 years ago
It’s not Docker specific,
JAVA_TOOL_OPTIONS
is a well known option for anyone who used the JVM. This also don’t need to be in Komga IMH because it’s a very specific edge case, so i’m happy to handle this directly in troubleshooting issues.@reyqn please have a look here https://github.com/xerial/sqlite-jdbc/blob/master/USAGE.md#override-detected-architecture
You can pass those options through the
JAVA_TOOL_OPTIONS
environment variable if you’re on Docker.i suppose they are not in java and don’t need to dynamically load a library depending on the OS
I think having the option to override what’s detected is a safe choice. It should be possible to pass it via an environment variable, so it would solve the Docker problem. Given it’s an edge case, that would probably suffice.
Another idea would be to second-guess the existing
uname
-based detection when 64bits is detected on Linux, and in that case perform thefile -L /bin/sh
command to verify if it’s 64bits or not. That would however add an extra step every time for Linux 64bits system.similar previous issue: https://github.com/gotson/komga/issues/354#issuecomment-743741241