• Post Reply Bookmark Topic Watch Topic
  • New Topic

unsatisfiedlinkerror while loading library file  RSS feed

Siddharth Gaur
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is what I am trying to do.
I have a c file, which we are trying to use in java through JNI

Compiling getDBMImpl.c file with
gcc -fPIC -c getDBMImpl.c

creating library file
gcc -shared -o libmylib.so getDBMImpl.o

setting environment variable LD_LIBRARY_PATH to the directory where library file is located.

We are trying to load this library in WebHost.java with underline code.

This is working fine on my system but gives the following error on other system.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no mylib in java.library.path
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.<init>(Throwable.java:87)
at java.lang.Error.<init>(Error.java:43)
at java.lang.LinkageError.<init>(LinkageError.java:36)
at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:35)
at java.lang.ClassLoader.loadLibrary(Compiled Code)
at java.lang.Runtime.loadLibrary0(Runtime.java:467)
at java.lang.System.loadLibrary(System.java:771)
at <Unloaded Method>

I also tried following two options but no use.

1 Setting java.library.path
2 System.load("/home/gaurs2/trunk"); (giving absolute path of the shared object)

I am compiling and making library files on my system and copying them on the other as there is no compiler on that system.

Thanks in advance
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!