Miko
Miko
DHDistant Horizons
Created by Miko on 3/15/2025 in #help-me
Building and running distant-horizons on musl-libc
I will mark the above as the "solution", although I would very much prefer this to be fixed either in my distro, or to allow sqlite-jdbc to override the os.name property with a commandline argument (similar to how they currently allow you to override org.sqlite.osinfo.architecture :(
7 replies
DHDistant Horizons
Created by Miko on 3/15/2025 in #help-me
Building and running distant-horizons on musl-libc
Right, so the issue is that on my gentoo install, /lib/ld-musl-x86_64.so.1 actually points to /lib/libc.so. This means that /proc/self/map_files/* will point to /lib/libc.so instead of /lib/ld-musl-x86_64.so.1 after symlink resolution. The "fix" is therefore to point ld-musl-x86_64.so at libc-musl.so, which is a copy of libc.so... This is so hideously broken, and will need to be fixed up every time I update musl-libc :/
7 replies
DHDistant Horizons
Created by Miko on 3/15/2025 in #help-me
Building and running distant-horizons on musl-libc
Yeah, using the -Dorg.sqlite.osinfo.architecture override to select an invalid arch (in this case, musl), to check the value of os.name shows Linux instead of Linux-Musl (although it is possible that this validity check happens before sqlite-jdbc attempts to run the isMusl or isAlpine checks): https://mclo.gs/rXMX1m2
7 replies
DHDistant Horizons
Created by Miko on 3/15/2025 in #help-me
Building and running distant-horizons on musl-libc
Looking further into sqlite-jdbc, the following file seems to be responsible for figuring out what OS / arch we are running on, and thus which natives to load: https://github.com/xerial/sqlite-jdbc/blob/master/src/main/java/org/sqlite/util/OSInfo.java . The isMusl check does not seem to work for me, and manually tweaking /etc/os-release to replace ID=gentoo with ID=alpine did not fix the issue (the unpacked /tmp/sqlite-*-libsqlitejdbc.so still complained about the unknown symbol) ...
7 replies