Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.
getting java.lang.UnsatisfiedLinkError when running as modbusmaster
-
Hello,
I am experiencing problems running the following code:
ModbusFactory factory = new ModbusFactory(); SerialParameters params = new SerialParameters(); params.setCommPortId("/dev/ttyM0"); params.setBaudRate(9600); params.setDataBits(8); params.setParity(0); params.setStopBits(1); RtuMaster master = (RtuMaster) factory.createRtuMaster(params); try { master.setTimeout(1000); master.init(); List<Integer> slaves = master.scanForSlaveNodes(); System.out.println("slaves: "+slaves); } catch (ModbusInitException ex) { Logger.getLogger(modbus.class.getName()).log(Level.SEVERE, null, ex); }when I run the above code, I get the following error:
java -cp lib/ -jar HaystackClient.jar
log4j:WARN No appenders could be found for logger (com.serotonin.io.serial.JsscSerialPortProxy).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.UnsatisfiedLinkError: /root/.jssc/linux/libjSSC-2.8_armsf.so: /root/.jssc/linux/libjSSC-2.8_armsf.so: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at jssc.SerialNativeInterface.<clinit>(SerialNativeInterface.java:172)
at jssc.SerialPort.<init>(SerialPort.java:120)
at com.serotonin.io.serial.JsscSerialPortProxy.openImpl(JsscSerialPortProxy.java:111)
at com.serotonin.io.serial.SerialPortProxy.open(SerialPortProxy.java:80)
at com.serotonin.io.serial.SerialUtils.openSerialPort(SerialUtils.java:95)
at com.serotonin.modbus4j.serial.SerialMaster.init(SerialMaster.java:58)
at com.serotonin.modbus4j.serial.rtu.RtuMaster.init(RtuMaster.java:45)
at modbus.main(modbus.java:39)Two strange things:
1: The file in the error message actually exists
2: The processor is an ARMv7 Cortex-A8 which has hard float, so it doesn't make sense to load armsf lib.Any ideas would be greatly appreciated :-)
-
you run on a linux system. please confirm the serial com name is "/dev/ttyM0"? right?
and this should be a jssc environment problem,pleause comfirm if you lose some jar lib
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login