UnsatisfiedLinkError on 64 Bit Raspberry Pi OS

33 views
Skip to first unread message

Burzin Sumariwalla

unread,
Sep 5, 2022, 6:45:45 PM9/5/22
to insteon-terminal
Hello Insteon-Terminal Group,

I'm running a freshly updated Raspberry 4 Pi 4B with a 64bit Raspberry Pi OS (Bullseye), and it appears that I'm missing a shared library as I get the following error when attempting to run insteon-terminal.

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/1662416007392-libjSerialComm.so: /tmp/1662416007392-libjSerialComm.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)

The problem is similar to what is described here:  https://groups.google.com/u/1/g/insteon-terminal/c/q69oUn_vSX8/m/zDbdb0o1FQAJ?pli=1.   However, it doesn't look like I have a library in /lib/serial

However, I do not have any libraries in /lib/serial.   I don't even have /lib/serial.   Here are the full details including the exact OS and Java versions. 

openhabadmin@openhab:/etc/insteon-terminal $ uname -srvmo
Linux 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux

openhabadmin@openhab:/etc/insteon-terminal $ java --version
openjdk 11.0.16 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode)
openhabadmin@openhab:/etc/insteon-terminal $

openhabadmin@openhab:/etc/insteon-terminal $ sudo ./insteon-terminal
Buildfile: /etc/insteon-terminal/build.xml

compile:
    [mkdir] Created dir: /etc/insteon-terminal/bin
     [copy] Copying 3 files to /etc/insteon-terminal/bin
    [javac] Compiling 39 source files to /etc/insteon-terminal/bin
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.

jar:
    [mkdir] Created dir: /etc/insteon-terminal/build/jars
      [jar] Building jar: /etc/insteon-terminal/build/jars/insteon-terminal.jar

BUILD SUCCESSFUL
Total time: 17 seconds
Insteon Terminal
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.python.core.PySystemState (file:/etc/insteon-terminal/build/jars/insteon-terminal.jar) to method java.io.Console.encoding()
WARNING: Please consider reporting this to the maintainers of org.python.core.PySystemState
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Connecting
Failed to initialize python interpreter:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "./init.py", line 34, in <module>
    connectToMySerial()
  File "./init.py", line 28, in connectToMySerial
    connectToSerial("/dev/ttyUSB0")
  File "python/console_commands.py", line 93, in connectToSerial
    iofun.connectToSerial(dev)
  File "python/console_commands.py", line 93, in connectToSerial
    iofun.connectToSerial(dev)
  File "python/iofun.py", line 64, in connectToSerial
    console.connectToSerial(dev)
        at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
        at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2445)
        at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2501)
        at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2700)
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630)
        at java.base/java.lang.Runtime.load0(Runtime.java:768)
        at java.base/java.lang.System.load(System.java:1837)
        at com.fazecast.jSerialComm.SerialPort.<clinit>(SerialPort.java:181)
        at us.pfrommer.insteon.msg.serial.SerialIOStream.open(Unknown Source)
        at us.pfrommer.insteon.msg.IOPort.open(Unknown Source)
        at us.pfrommer.insteon.terminal.IOFun.updatePort(Unknown Source)
        at us.pfrommer.insteon.terminal.IOFun.connectToSerial(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/1662416007392-libjSerialComm.so: /tmp/1662416007392-libjSerialComm.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
>>>

Regards,
BurzinHello Insteon-Terminal Group,

I'm running a freshly updated Raspberry 4 Pi 4B with a 64bit Raspberry Pi OS (Bullseye), and it appears that I'm missing a shared library as I get the following error when attempting to run insteon-terminal.

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/1662416007392-libjSerialComm.so: /tmp/1662416007392-libjSerialComm.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)

The problem is similar to what is described here:  https://groups.google.com/u/1/g/insteon-terminal/c/q69oUn_vSX8/m/zDbdb0o1FQAJ?pli=1.   However, it doesn't look like I have a library in /lib/serial

However, I do not have any libraries in /lib/serial.   I don't even have /lib/serial.

Here are the full details including the exact OS and Java versions. 

openhabadmin@openhab:/etc/insteon-terminal $ uname -srvmo
Linux 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux

openhabadmin@openhab:/etc/insteon-terminal $ java --version
openjdk 11.0.16 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode)
openhabadmin@openhab:/etc/insteon-terminal $

openhabadmin@openhab:/etc/insteon-terminal $ sudo ./insteon-terminal
Buildfile: /etc/insteon-terminal/build.xml

compile:
    [mkdir] Created dir: /etc/insteon-terminal/bin
     [copy] Copying 3 files to /etc/insteon-terminal/bin
    [javac] Compiling 39 source files to /etc/insteon-terminal/bin
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.

jar:
    [mkdir] Created dir: /etc/insteon-terminal/build/jars
      [jar] Building jar: /etc/insteon-terminal/build/jars/insteon-terminal.jar

BUILD SUCCESSFUL
Total time: 17 seconds
Insteon Terminal
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.python.core.PySystemState (file:/etc/insteon-terminal/build/jars/insteon-terminal.jar) to method java.io.Console.encoding()
WARNING: Please consider reporting this to the maintainers of org.python.core.PySystemState
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Connecting
Failed to initialize python interpreter:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "./init.py", line 34, in <module>
    connectToMySerial()
  File "./init.py", line 28, in connectToMySerial
    connectToSerial("/dev/ttyUSB0")
  File "python/console_commands.py", line 93, in connectToSerial
    iofun.connectToSerial(dev)
  File "python/console_commands.py", line 93, in connectToSerial
    iofun.connectToSerial(dev)
  File "python/iofun.py", line 64, in connectToSerial
    console.connectToSerial(dev)
        at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
        at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2445)
        at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2501)
        at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2700)
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630)
        at java.base/java.lang.Runtime.load0(Runtime.java:768)
        at java.base/java.lang.System.load(System.java:1837)
        at com.fazecast.jSerialComm.SerialPort.<clinit>(SerialPort.java:181)
        at us.pfrommer.insteon.msg.serial.SerialIOStream.open(Unknown Source)
        at us.pfrommer.insteon.msg.IOPort.open(Unknown Source)
        at us.pfrommer.insteon.terminal.IOFun.updatePort(Unknown Source)
        at us.pfrommer.insteon.terminal.IOFun.connectToSerial(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/1662416007392-libjSerialComm.so: /tmp/1662416007392-libjSerialComm.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
>>>

Regards,
Burzin

Burzin Sumariwalla

unread,
Sep 5, 2022, 10:24:19 PM9/5/22
to insteon-terminal
Update:  I noticed the ../lib sub directory in insteon-terminal directory, and I replaced jSerialComm jar file there, but I still get the same error.
Reply all
Reply to author
Forward
0 new messages