Systeminfo

Hello guys,
im fairly new to OpenHAB2 and i installed Systeminfo at first.
The problem is it instantly throws the error “UNINITIALIZED - HANDLER_INITIALIZING_ERROR”

Native library (com/sun/jna/freebsd-x86-64/libjnidispatch.so) not found in resource path (/mnt/openhab2/runtime/lib/boot/org.apache.karaf.diagnostic.boot-4.0.8.jar:/mnt/openhab2/runtime/lib/boot/org.apache.karaf.jaas.boot-4.0.8.jar:/mnt/openhab2/runtime/lib/boot/org.apache.karaf.main-4.0.8.jar:/mnt/openhab2/runtime/lib/boot/org.osgi.core-6.0.0.jar

as far as i could find out its something about jnas native library not exported correctly. But how do i fix this issue myself and is it my fault ?
Im running OpenJDK 1.8 on FreeNAS 9.10

Eh bump i guess… Well the discription of the plugin told me to write my concerns in the forum or where should i go now ?

Hi @jan_b, the problem seems to be very specific to FreeNAS. I could find a few other programs with the same problem for example.

Otherwise the documentation suggests this might be a fault of the upstream libraries.

Have you read the documentation for systeminfo? Particularly try updating these libraries and see if your problem persists.

@svilenvul, any ideas?

Hey @Benjy thanks for your reply.
Yes i already read the documentation and tried to do so. But i installed the binding through PaperUi and no plugins were put into the pluginfolder. So i did some research and found the called jar deep inside some temp folders and they are generated every startup from some packed jar inside “openhab2/runtime/lib/boot/” named org.osgi.core-6.0.0.jar. Do i need to dissasemble the jar now to update the files ? Do i need to unpack that jar and make those changes ? The instructions are pretty unclear about that if u come from the PaperUI.

Reading this myself I think this is more of a development task. The instructions are asking you to rebuild the binding after placing the files here, which is probably not the most constructive thing to ask the usual user to do.

Just to make sure, you’re on the latest version of openHAB right? If so, it might be best to make an issue report containing your error log at the upstream library here, you should state that you’re using the latest version of the systeminfo binding for openHAB. This is because openHAB looks to be using the latest version of OSHI anyway.

Ok i made an issue report on Github and will update if they answer.

Let us know if you get it sorted (or not)! :pray:

Hi all,

not directly related to your problem, but I recently created a pull request to update the OSHI libraries in the systeminfo binding to get rid of a problem reading the CPU temperature on RPi.

https://github.com/openhab/openhab2-addons/pull/2449

OSHI dev here. This error is associated with loading the JNI stub necessary for JNA to work, which is not so much OSHI per se, as JNA. And ultimately it’s a classpath problem. We need to get whatever code is starting this JVM to recognize the correct path to the JNI library listed in the error.

Hi @dbwiddis, thank you for pointing us in the right direction. I think I understand now,

https://github.com/java-native-access/jna/blame/master/build.xml suggests that it has contained com/sun/jna/freebsd-x86-64/libjnidispatch.so for some time. Although listing classes contained into the release .jar file:

wget http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar
jar tf jna-4.4.0.jar
[...]
com/sun/jna/aix-ppc64/
com/sun/jna/aix-ppc64/libjnidispatch.a
com/sun/jna/darwin/
com/sun/jna/darwin/libjnidispatch.jnilib
com/sun/jna/linux-x86/
com/sun/jna/linux-x86/libjnidispatch.so
com/sun/jna/linux-x86-64/
com/sun/jna/linux-x86-64/libjnidispatch.so
com/sun/jna/linux-arm/
com/sun/jna/linux-arm/libjnidispatch.so
com/sun/jna/linux-armel/
com/sun/jna/linux-armel/libjnidispatch.so
com/sun/jna/linux-aarch64/
com/sun/jna/linux-aarch64/libjnidispatch.so
com/sun/jna/linux-ppc/
com/sun/jna/linux-ppc/libjnidispatch.so
com/sun/jna/linux-ppc64le/
com/sun/jna/linux-ppc64le/libjnidispatch.so
com/sun/jna/sunos-x86-64/
com/sun/jna/sunos-x86-64/libjnidispatch.so
com/sun/jna/win32-x86-64/
com/sun/jna/win32-x86-64/jnidispatch.dll

And thus we come to our problem. the BSD classes are out of date:

https://github.com/java-native-access/jna/blob/master/lib/native/freebsd-x86-64.jar

Interesting. Those files were present in 4.2.2 but haven’t been included in 4.3.0 or 4.4.0.

@jan_b are you okay to ask for a way build this on the Google support group as mentioned? If you can get a in date version of freebsd-x86-64.jar you should only need to place it in /mnt/openhab2/runtime/lib/boot/.

Ok guys i made an update request in the google group as suggested and will try to place the outdated jar into the runtime folder and see what happens.

Edit: Damn the outdated jar has just trash inside. They activly deactivated it.

https://groups.google.com/forum/#!topic/jna-users/almRokMeBiA

1 Like

Hi

How can i update this binding in OH2?

Hi @ewok21, what do you mean? Are you having the same issue as described above? Or are just seeking the latest version of it.

If the latter, currently the latest version is inside openHAB 2.1. You need only update to that to bring the binding up to date. When patches are added between openHAB versions and you want the latest changes immediately, you can either install the snapshot version of openHAB, or add the .JAR file related to the binding in your /runtime/addons folder.

Hi Ben thanks for answer.

I use OH2.1 on a raspberry 3 with the systeminformation binding.
A known problem is that the cpu temperature is not displayed.
I hope the new version from systeminformation fixes the problem.

So my question

Yes, @cweitkamp has addressed this problem above:

Once this PR has gone from “Open” to “Merged”, then you can update to openHAB 2.2.0-SNAPSHOT the following day (which is the easiest option), or add the .JAR file found here (again, only a day after the PR is merged) to /usr/share/openhab2/addons

Only put the .jar file in the openhab2-addons folder no more?
Sorry i am new on openhab

@ewok21, the fix has not been pushed to openHAB yet. I’d ignore using the jar file if you’re new to the command configurations. You’ll need to wait and then consider changing to the unstable release. If you’re using the prebuilt raspberry pi image then you can switch using the config tool, otherwise you need to follow the Linux instructions (apt-based >> snapshot).

i have a prebuilt image and i try the switch