Closed tinxx closed 3 years ago
Duplicate of #573
Native libraries need to be unpacked from jar files before being executable. Standard java behaviour unpacks to java tmpdir environment variable.
If your tmp is not executable the app will fail.
You need to modify the startup of the MV app in the launch script by using a custom directory via -Djava.io.tmpdir=
Thanks for the info.
So I presume you just pack the JDBC driver as an external library – the jar
file you mentioned?
Edit:
I can see a ton of native libraries are packaged within MediathekView.jar – for FreeBSD, Windows, etc.
That is mostly platform-specific Java code and the libsqlitejdbc.
yes because the libs are part of the official xerial jdbc driver we use. but only the used lib should get unpacked which is necessary.
I was having trouble starting MediathekView since latest version 13.7.0.
As a general security precaution
/tmp
is mounted with the flagnoexec
on my system.Now, when I try and start MediathekView it seems to create its JBDC driver in
/tmp
and then tries executing it.That fails with the following log:
This is from a fresh start. I moved my config dir away to make sure it won't cause any problems.
I wonder why it would even be necessary to dump the database driver into
/tmp
? It could just be packaged alongside the jar files, etc.I am running this on Arch Linux, in case that makes any difference.
Cheers, Tinx