java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver

user285594 picture user285594 · May 25, 2012 · Viewed 43.1k times · Source

Fedora using right now (package is installed Package rxtx-2.2-0.5.20100211.fc15.i686 already installed and latest version ).

I have used/tried:

# locate librxtxSerial
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/i686-unknown-linux-gnu/librxtxSerial.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/ia64-unkown-linux-gnu/librxtxSerial.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/x86_64-unknown-linux-gnu/librxtxSerial.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Mac_OS_X/librxtxSerial.jnilib
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Solaris/sparc-solaris/sparc32-sun-solaris2.8/librxtxSerial-2.1-7.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Solaris/sparc-solaris/sparc32-sun-solaris2.8/librxtxSerial.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Solaris/sparc-solaris/sparc64-sun-solaris2.8/librxtxSerial-2.1-7.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Solaris/sparc-solaris/sparc64-sun-solaris2.8/librxtxSerial.so
/usr/lib/rxtx/librxtxSerial-2.2pre1.so
/usr/lib/rxtx/librxtxSerial.so

Then used:

-Djava.library.path=/usr/lib/rxtx/librxtxSerial.so -Djava.library.path=/usr/lib/jni

But still i get always this following:

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
    at java.lang.Runtime.loadLibrary0(Runtime.java:840)
    at java.lang.System.loadLibrary(System.java:1047)
    at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
    at main.Tty.sendCommand1(Tty.java:212)
    at main.Tty.main(Tty.java:236)

How to resolve this ?

Follow up:

WRONG:

-Djava.library.path=/usr/lib/rxtx -Djava.library.path=/usr/lib/jni

CORRECT

-Djava.library.path=/usr/lib/jni -Djava.library.path=/usr/lib/rxtx

Answer

J&#246;rn Horstmann picture Jörn Horstmann · May 25, 2012

I guess the problem is that you have multiple -Djava.library.path parameters and the second one is overwriting the value of the first. The value should also be the path to the folder containing the library, not including the library name.

On linux system you should be able to combine both path parameters using a colon as separator:

-Djava.library.path=/usr/lib/rxtx:/usr/lib/jni