I turned on DEBUG logging, tested with latest 2.3.0-snapshot and got the following in openhab.log. It does look like a native library cannot be loaded:
java.lang.UnsatisfiedLinkError: no jansi-1.16 in java.library.path
Can someone comment how to go about fixing this? @Kai
If this would be an arm64 problem, then other platforms like Pine64 would also not work.
2017-12-27 09:57:59.442 [DEBUG] [ell.impl.action.osgi.CommandExtender] - org.apache.karaf.shell.commands (10): Starting extension synchronously
2017-12-27 09:57:59.722 [INFO ] [ll.impl.action.osgi.CommandExtension] - Registering commands for bundle org.apache.karaf.shell.commands/4.1.3
2017-12-27 09:57:59.800 [DEBUG] [org.jline ] - Error creating JNA based terminal: com/sun/jna/Platform
java.lang.NoClassDefFoundError: com/sun/jna/Platform
at org.jline.terminal.impl.jna.JnaNativePty.current(JnaNativePty.java:39) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jna.JnaSupportImpl.current(JnaSupportImpl.java:16) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:314) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:219) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:65) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Platform cannot be found by org.jline_3.5.1.sp1
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461) ~[?:?]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) ~[?:?]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) ~[?:?]
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?]
... 22 more
2017-12-27 09:57:59.948 [DEBUG] [org.jline ] - Error creating JANSI based terminal: Could not load library. Reasons: [java.lang.LinkageError: Unable to load library jansi64-1.16, java.lang.LinkageError: Unable to load library jansi-1.16, java.lang.LinkageError: Unable to load library jansi, java.lang.LinkageError: Unable to load library from /openhab/userdata/tmp/libjansi-1.16-8397193790654797633.so, java.lang.LinkageError: Unable to load library from /openhab/.hawtjni/jansi/libjansi-1.16-3333920788733061459.so]
java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [java.lang.LinkageError: Unable to load library jansi64-1.16, java.lang.LinkageError: Unable to load library jansi-1.16, java.lang.LinkageError: Unable to load library jansi, java.lang.LinkageError: Unable to load library from /openhab/userdata/tmp/libjansi-1.16-8397193790654797633.so, java.lang.LinkageError: Unable to load library from /openhab/.hawtjni/jansi/libjansi-1.16-3333920788733061459.so]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:204) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:156) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:41) ~[13:org.fusesource.jansi:1.16.0]
at org.jline.terminal.impl.jansi.JansiNativePty.ttyname(JansiNativePty.java:57) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.linux.LinuxNativePty.current(LinuxNativePty.java:26) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.JansiSupportImpl.current(JansiSupportImpl.java:54) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:324) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:219) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:65) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Suppressed: java.lang.LinkageError: Unable to load library jansi64-1.16
at org.fusesource.hawtjni.runtime.Library.load(Library.java:426) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:184) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:156) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:41) ~[13:org.fusesource.jansi:1.16.0]
at org.jline.terminal.impl.jansi.JansiNativePty.ttyname(JansiNativePty.java:57) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.linux.LinuxNativePty.current(LinuxNativePty.java:26) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.JansiSupportImpl.current(JansiSupportImpl.java:54) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:324) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:219) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:65) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Caused by: java.lang.UnsatisfiedLinkError: no jansi64-1.16 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:?]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:?]
at java.lang.System.loadLibrary(System.java:1122) ~[?:?]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:423) ~[?:?]
... 26 more
Suppressed: java.lang.LinkageError: Unable to load library jansi-1.16
at org.fusesource.hawtjni.runtime.Library.load(Library.java:426) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:186) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:156) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:41) ~[13:org.fusesource.jansi:1.16.0]
at org.jline.terminal.impl.jansi.JansiNativePty.ttyname(JansiNativePty.java:57) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.linux.LinuxNativePty.current(LinuxNativePty.java:26) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.JansiSupportImpl.current(JansiSupportImpl.java:54) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:324) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:219) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:65) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Caused by: java.lang.UnsatisfiedLinkError: no jansi-1.16 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:?]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:?]
at java.lang.System.loadLibrary(System.java:1122) ~[?:?]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:423) ~[?:?]
... 26 more
Suppressed: java.lang.LinkageError: Unable to load library jansi
at org.fusesource.hawtjni.runtime.Library.load(Library.java:426) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:188) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:156) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:41) ~[13:org.fusesource.jansi:1.16.0]
at org.jline.terminal.impl.jansi.JansiNativePty.ttyname(JansiNativePty.java:57) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.linux.LinuxNativePty.current(LinuxNativePty.java:26) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.JansiSupportImpl.current(JansiSupportImpl.java:54) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:324) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:219) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:65) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Caused by: java.lang.UnsatisfiedLinkError: no jansi in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:?]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:?]
at java.lang.System.loadLibrary(System.java:1122) ~[?:?]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:423) ~[?:?]
... 26 more
Suppressed: java.lang.LinkageError: Unable to load library from /openhab/userdata/tmp/libjansi-1.16-8397193790654797633.so
at org.fusesource.hawtjni.runtime.Library.load(Library.java:414) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.extractAndLoad(Library.java:294) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:198) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:156) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:41) ~[13:org.fusesource.jansi:1.16.0]
at org.jline.terminal.impl.jansi.JansiNativePty.ttyname(JansiNativePty.java:57) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.linux.LinuxNativePty.current(LinuxNativePty.java:26) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.JansiSupportImpl.current(JansiSupportImpl.java:54) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:324) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:219) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:65) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Caused by: java.lang.UnsatisfiedLinkError: /openhab/userdata/tmp/libjansi-1.16-8397193790654797633.so: Error relocating /openhab/userdata/tmp/libjansi-1.16-8397193790654797633.so: unsupported relocation type 7 (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[?:?]
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) ~[?:?]
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) ~[?:?]
at java.lang.Runtime.load0(Runtime.java:809) ~[?:?]
at java.lang.System.load(System.java:1086) ~[?:?]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:411) ~[?:?]
... 27 more
Suppressed: java.lang.LinkageError: Unable to load library from /openhab/.hawtjni/jansi/libjansi-1.16-3333920788733061459.so
at org.fusesource.hawtjni.runtime.Library.load(Library.java:414) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.extractAndLoad(Library.java:294) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:198) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:156) ~[13:org.fusesource.jansi:1.16.0]
at org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:41) ~[13:org.fusesource.jansi:1.16.0]
at org.jline.terminal.impl.jansi.JansiNativePty.ttyname(JansiNativePty.java:57) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.linux.LinuxNativePty.current(LinuxNativePty.java:26) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.jansi.JansiSupportImpl.current(JansiSupportImpl.java:54) ~[14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:324) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:219) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:65) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Caused by: java.lang.UnsatisfiedLinkError: /openhab/.hawtjni/jansi/libjansi-1.16-3333920788733061459.so: Error relocating /openhab/.hawtjni/jansi/libjansi-1.16-3333920788733061459.so: unsupported relocation type 7 (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[?:?]
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) ~[?:?]
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) ~[?:?]
at java.lang.Runtime.load0(Runtime.java:809) ~[?:?]
at java.lang.System.load(System.java:1086) ~[?:?]
at org.fusesource.hawtjni.runtime.Library.load(Library.java:411) ~[?:?]
... 27 more
2017-12-27 09:58:01.525 [DEBUG] [org.jline ] - Error registering handler for signal INFO
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [?:?]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [?:?]
at org.jline.utils.Signals.doRegister(Signals.java:94) [14:org.jline:3.5.1.sp1]
at org.jline.utils.Signals.register(Signals.java:55) [14:org.jline:3.5.1.sp1]
at org.jline.utils.Signals.register(Signals.java:35) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.PosixSysTerminal.<init>(PosixSysTerminal.java:49) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:334) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:219) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:65) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Caused by: java.lang.IllegalArgumentException: Unknown signal: INFO
at sun.misc.Signal.<init>(Signal.java:143) ~[?:?]
... 28 more
2017-12-27 09:58:01.561 [DEBUG] [org.jline ] - Registering shutdown-hook: Thread[JLine Shutdown Hook,5,main]
2017-12-27 09:58:01.571 [DEBUG] [org.jline ] - Adding shutdown-hook task: org.jline.terminal.impl.PosixSysTerminal$$Lambda$33/937365473@2841a6a
2017-12-27 09:58:01.584 [DEBUG] [org.jline ] - Using terminal PosixSysTerminal
2017-12-27 09:58:01.589 [DEBUG] [org.jline ] - Using pty ExecPty
2017-12-27 09:58:01.656 [DEBUG] [org.jline ] - Error registering handler for signal INFO
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [?:?]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [?:?]
at org.jline.utils.Signals.doRegister(Signals.java:94) [14:org.jline:3.5.1.sp1]
at org.jline.utils.Signals.register(Signals.java:55) [14:org.jline:3.5.1.sp1]
at org.jline.utils.Signals.register(Signals.java:35) [14:org.jline:3.5.1.sp1]
at org.jline.terminal.impl.PosixSysTerminal.handle(PosixSysTerminal.java:64) [14:org.jline:3.5.1.sp1]
at org.apache.karaf.shell.impl.console.JLineTerminal.<init>(JLineTerminal.java:56) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager$1.run(LocalConsoleManager.java:74) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager$1.run(LocalConsoleManager.java:68) [11:org.apache.karaf.shell.core:4.1.3]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.apache.karaf.util.jaas.JaasHelper.doAs(JaasHelper.java:101) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.LocalConsoleManager.start(LocalConsoleManager.java:68) [11:org.apache.karaf.shell.core:4.1.3]
at org.apache.karaf.shell.impl.console.osgi.Activator.start(Activator.java:114) [11:org.apache.karaf.shell.core:4.1.3]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) [?:?]
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) [?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) [?:?]
at org.eclipse.osgi.container.Module.doStart(Module.java:581) [?:?]
at org.eclipse.osgi.container.Module.start(Module.java:449) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]
Caused by: java.lang.IllegalArgumentException: Unknown signal: INFO
at sun.misc.Signal.<init>(Signal.java:143) ~[?:?]
... 31 more
Further investigation and trials brought me to the conclusion that since 2.2.0 release something changed that causes the detached mode (-d) not to work for arm64 anymore. When I run the container in interactive mode (-it) all works fine.
To summarize, detached modes give the described error on both OH versions:
I am not sure if these are related with the mentioned error captured in debug logs earlier (jansi binding). Here is a similar issue that involves karaf and alpine.
It would be good if someone else could confirm my observations on another arm64 platform/host os.
I have also tried building the docker image from scratch - I get the same results as going from the stock images.
For now, as a workaround I will continue to start interactive mode and then detach.
I’m seeing similar problems using a raspberry Pi 3 and trying to run openhab2 on kubernetes.
Launching the openHAB runtime...
__ _____ ____
____ ____ ___ ____ / / / / | / __ )
/ __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __ |
/ /_/ / /_/ / __/ / / / __ / ___ |/ /_/ /
\____/ .___/\___/_/ /_/_/ /_/_/ |_/_____/
/_/ 2.2.0
Release Build
Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown openHAB.
Error executing command: java.io.IOException: Unable to parse columns
So far I have tried with image openhab/openhab:2.2.0-armhf-alpine. Will troubleshoot more and also try the latest snapshot version.
Openhab-2.2 is running in a Kubernetes pod with conf/, addons/ and userdata/ mounted via NFS
The workaround you describe doesn’t work for me. Even with stdin: true and tty: true it would not work, or when running ./start.sh from bash inside the pod manually.