chwongris / simple-openni

Automatically exported from code.google.com/p/simple-openni
0 stars 0 forks source link

Lib can't load in OSX 10.7.5: no path set for filename argument of System.load() on OSX in SimpleOpenNI.java #62

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1. Install OpenNI and NITE libs via provided installer
2. Copy SimpleOpenNI library to Processing library folder
3. Attempt to run an example sketch

What is the expected output? What do you see instead?

Can't load SimpleOpenNI library (SimpleOpenNI) : 
java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: 
SimpleOpenNI
Exception in thread "Animation Thread" Verify if you installed SimpleOpenNI 
correctly.
http://code.google.com/p/simple-openni/wiki/Installation
java.lang.UnsatisfiedLinkError: SimpleOpenNI.SimpleOpenNIJNI.swig_module_init()V
    at SimpleOpenNI.SimpleOpenNIJNI.swig_module_init(Native Method)
    at SimpleOpenNI.SimpleOpenNIJNI.<clinit>(SimpleOpenNIJNI.java:288)
    at SimpleOpenNI.SimpleOpenNIConstants.<clinit>(SimpleOpenNIConstants.java:12)
    at simpleopennieclipse.SimpleOpenNIEclipse.setup(SimpleOpenNIEclipse.java:140)
    at processing.core.PApplet.handleDraw(PApplet.java:2117)
    at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:193)
    at processing.core.PApplet.run(PApplet.java:2020)
    at java.lang.Thread.run(Thread.java:680)

What version of the product are you using? On what operating system?

SimpleOpenNI version 0.27
Processing 2.0b7
OSX 10.7.5
  - java version "1.6.0_37"
  - Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
  - Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

Please provide any additional information below.

I've verified many, many times that I have the OpenNI libs installed properly 
and that the Processing library is in the right place.  I've also tried this by 
adding the library to an Eclipse project according to the instructions.  I get 
the same result in both cases.

After some investigation, it appears that according to Oracle, in the 
System.load() method the filename argument must be a complete path name. 
http://docs.oracle.com/javase/6/docs/api/java/lang/System.html#load(java.lang.St
ring) But in 
http://simple-openni.googlecode.com/svn/trunk/SimpleOpenNI-2.0/src/p5_src/Simple
OpenNI.java it appears no path is set for OSX (but is set for Linux and Windows 
for some reason).  (It is an empty string.)  The offending line is 81.

Original issue reported on code.google.com by clmen...@gmail.com on 10 Feb 2013 at 4:54