help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem with invoke call from Java


From: Olaf Lüke
Subject: Problem with invoke call from Java
Date: Thu, 05 Jun 2014 18:26:35 +0200

Hi,

Our project has the following general setup:

* Octave calls a Java method from a jar, which controls some hardware.
* Some time later the hardware gives information back to Java.
* Java then calls invoke (from OctaveReference) to give information from
the hardware back to Octave.

You can take a look at the project here:
http://www.tinkerforge.com/en/doc/Software/API_Bindings_MATLAB.html

The source itself is located here:
http://download.tinkerforge.com/bindings/matlab/tinkerforge_matlab_bindings_2_0_0.zip



I recently updated my Ubuntu box to 14.04 which updated my Octave from
version 2.6.4 to 2.8.1. With the new version the last part of our
approach doesn't work anymore. I tried lots of different configurations
and so on, every time the octave.jar internally calls doInvoke (which is
a native function of liboctinterp) we get the following exception:

java.lang.UnsatisfiedLinkError:
org.octave.Octave.doInvoke(I[Ljava/lang/Object;)V
        at org.octave.Octave.doInvoke(Native Method)
        at org.octave.OctaveReference.invoke(OctaveReference.java:54)

In theory this should mean that either the liboctinterp.so is not loaded
or the function doInvoke is not present in the lib. But as far as i can
tell it is loaded and the method is implemented properly.

I already tried to add a

static {
  System.loadLibrary("octinterp");
}

in the Octave.java and recompiled the octave.jar. The liboctinterp does
load, but i still get the exception.

The problem is also present if i compile the latest version of Octave
from source myself (instead of using the Ubuntu package).

What could be the problem and what can i do to debug this?

Thanks!

Olaf Lüke




reply via email to

[Prev in Thread] Current Thread [Next in Thread]