I run OH in a docker container using the official image. When I tried to upgrade from 3.1.1 to 3.2 today, I got the following error:
Launching the openHAB runtime...
Failed to load native library:jansi-2.4.0-56d10650b2eaae43-libjansi.so. The native library file at /openhab/userdata/tmp/jansi-2.4.0-56d10650b2eaae43-libjansi.so is not executable, make sure that the directory is mounted on a partition without the noexec flag, or set the jansi.tmpdir system property to point to a proper location. osinfo: Linux/x86_64
java.lang.UnsatisfiedLinkError: /openhab/userdata/tmp/jansi-2.4.0-56d10650b2eaae43-libjansi.so: Error loading shared library /openhab/userdata/tmp/jansi-2.4.0-56d10650b2eaae43-libjansi.so: Operation not permitted
So I tried to just to a completely clean install, and I get the same error.
I removed noexec from the volume permissions (which had never been a problem before), and I tried to give the jansi...so file 777 permissions, but OH just tries to create a new jansi...so file with the old permissions when I restart the container.
Bug? Something wrong with my setup?
For now, it looks like I can roll back to my old 3.1.1 image, which loads as expected.
As best I can tell, it’s some kind of permissions issue. But I’ve tried just about every permissions combination I can think of and it still will not work. My current workaround–which is not elegant, but I can’t see a downside–is to simply eliminate the map to the tmp folder. So, instead of: