Solved: Loading natives manually.
Posted by Firecow on Oct 08, 2010; 12:23pm
URL: https://forum.jogamp.org/Solved-Loading-natives-manually-tp1665153.html
Hey you guys..
I've been trying to make my own startup progress bar for my Jogl application..
In that work, i needed to load the Jogl and Gluegen natives manually...
As I've understood this can be done quite easily using System.load() if you want the native from an absolute path.
Just to make it as simple as possible to start of with, I'm trying to fetch the natives from a local location on my machine. Later i'll be caching then, so they won't be reloaded everytime.
My sample code
public static void main(String[] args) {
System.load("/home/me/libjogl.so");
System.load("/home/me/libjogl_awt.so");
System.load("/home/me/libjogl_cg.so");
System.load("/home/me/libgluegen-rt.so");
}
This is the exception i get:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/firecow/libjogl_cg.so: libCg.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:1803)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1003)
at bootstrap.NativeLoader.main(NativeLoader.java:381)
Why am I getting this exception?
Perhaps its my lack of understanding what a .so file actually is.
But to me this looks like it have an external reference to another .so file.
If that is the case how does a standard Jogl.jnlp file load theese other shared object files ?
By the way i'm running this in Ubuntu 10.04
Best
Mads