[kepler-users] Kepler 2.3 and MATLAB
Matt Jones
jones at nceas.ucsb.edu
Fri Apr 20 20:44:37 PDT 2012
Wade --
Matlab is a bit trickier than R because the linkage to Kepler uses JNI via
a shared library (dll on Windows) for matlab, whereas we use a shell
invocation for R. So, for it to work, both the class path has to be right
and the dll has to match the OS and architecture. I don't have Windows or
Matlab to test this on myself right now, but in the past the issue has been
simply getting the right dll to be invoked as the bridge over to matlab.
If you haven't worked this out by Monday, I'll see if I can get a copy of
Matlab from NCEAS and try it myself. The fact that Christopher is able to
run it with his Kepler 2.3 is good news. I think either Dan Crawl or Jianwu
Wang have successfully run it on 2.3 as well -- maybe they'll have some
insights.
Matt
On Friday, April 20, 2012, Wade Sheldon <sheldon at uga.edu> wrote:
> No joy under Win7/64 either with a clean install of Kepler 2.3 and the
proper Matlab paths (albeit R2010a 64bit). However this time I get an error
related to running 32bit libraries on the system:
> C:\Program Files
(x86)\Kepler-2.3\common-2.3.0\lib\ptolemy\matlab\ptmatlab.dll: Can't load
IA 32-bit .dll on a AMD 64-bit platform
>
> (This is an Intel Core i7, not AMD cpu, BTW).
>
> Sigh. Harder than I'd hoped. Python and R work fine as on WinXP/32 - the
problem is just related to the MatlabExpression actor, which is what I'm
particularly interested in using.
>
> -Wade
>
>
> On 4/20/2012 10:41 PM, Wade Sheldon wrote:
>
> Also, I updated Java to the latest version (1.6.0_31-b05), uninstalled
Kepler, and reinstalled from a full admin account. Same results. From what
I can find on the web, that "The operating system cannot run %1" is a
generic error that implies a path issue. Anything I can check regarding the
Kepler classpath or libraries come to mind?
>
> Thanks again for your help.
>
> -Wade
>
> On 4/20/2012 10:02 PM, Wade Sheldon wrote:
>
> Thanks, Christopher. I had already perused the mailing list archives via
Google and just saw references to the same issue without solutions. I
confirmed that the JVM bit width is 32 (Java version 1.6.0_20).
>
> I set up a simpler workflow with just a SDF director, MatalbExpression
actor and text display actor, and configured the expression:
"rand(100,1);", but I got the same error. Here's the trace from the first
time it was invoked, which yielded a little more info as you indicated,
specifically "C:\Program
Files\Kepler-2.3\common-2.3.0\lib\ptolemy\matlab\ptmatlab.dll: The
operating system cannot run %1". Hope that points to a specific issue.
>
> Thanks.
>
> -Wade
>
> complete stack dump:
> ptolemy.kernel.util.IllegalActionException: There was a problem invoking
the Ptolemy II Matlab interface.
> The interface has been tested under Linux, Mac OS X, and Windows.
> The interface requires that Matlab be installed on the local machine and
that the ptmatlab shared library available.
> * Under Linux, you must have the LD_LIBRARY_PATH environment variable set
to include the directories that contain libmx.so and libptmatlab.so.
> * Under Mac OS X, you must have the DYLD_LIBRARY_PATH environment
variable set to include the directories that contain libmx.dylib and
libptmatlab.jnilib.
> * Under Windows, you must have your PATH set to include the Matlab
bin/win32 or equivalent directory so that libmex.dll is found and the
directory that contains libptmatlab.dll. In addition, if you are running
under Windows from the Cygwin bash prompt, then you must start Vergil with
the -jni argument: $PTII/bin/vergil -jni. For details, see
$PTII/jni/package.html.
> Refer to $PTII/ptolemy/matlab/makefile for more information.
> in .Unnamed1.MatlabExpression
> Because:
> C:\Program Files\Kepler-2.3\common-2.3.0\lib\ptolemy\matlab\ptmatlab.dll:
The operating system cannot run %1
> at ptolemy.matlab.Expression.preinitialize(Expression.java:263)
> at ptolemy.actor.Director.preinitialize(Director.java:1056)
> at ptolemy.actor.Director.preinitialize(Director.java:1035)
> at
ptolemy.domains.sdf.kernel.SDFDirector.preinitialize(SDFDirector.java:655)
> at ptolemy.actor.CompositeActor.preinitialize(CompositeActor.java:1735)
> at ptolemy.actor.Manager.preinitializeAndResolveTypes(Manager.java:930)
> at ptolemy.actor.Manager.initialize(Manager.java:636)
> at ptolemy.actor.Manager.execute(Manager.java:340)
> at ptolemy.actor.Manager.run(Manager.java:1111)
> at ptolemy.actor.Manager$PtolemyRunThread.run(Manager.java:1641)
> Caused by: java.lang.UnsatisfiedLinkError: C:\Program
Files\Kepler-2.3\common-2.3.0\lib\ptolemy\matlab\ptmatlab.dll: The
operating system cannot run %1
> at java.lang.ClassLoader$NativeLibrary.load(Native Method)
> at java.lang.ClassLoader.loadLibrary0(Unknown Source)
> at java.lang.ClassLoader.loadLibrary(Unknown Source)
> at java.lang.Runtime.load0(Unknown Source)
> at java.lang.System.load(Unknown Source)
> at
ptolemy.data.expr.UtilityFunctions._loadLibrary(UtilityFunctions.java:2068)
> at
ptolemy.data.expr.UtilityFunctions.loadLibrary(UtilityFunctions.java:927)
> at ptolemy.matlab.Engine.<clinit>(Engine.java:176)
> at ptolemy.matlab.Expression.preinitialize(Expression.java:260)
> ... 9 more
> Caused by: java.lang.UnsatisfiedLinkError: C:\Program
Files\Kepler-2.3\common-2.3.0\lib\ptolemy\matlab\ptmatlab.dll: The
operating system cannot run %1
> at java.lang.ClassLoader$NativeLibrary.load(Native Method)
> at java.lang.ClassLoader.loadLibrary0(Unknown Source)
> at java.lang.ClassLoader.loadLibrary(Unknown Source)
> at java.lang.Runtime.load0(Unknown Source)
> at java.lang.System.load(Unknown Source)
> at ptolemy.data.expr
>
>
______________________________________________________________________________
>
> Wade M. Sheldon
> GCE-LTER Information Manager/SIMO Database Administrator
> School of Marine Programs
> University of Georgia
> Athens, GA 30602-3636
> Email: sheldon at uga.edu
> WWW:
http://gce-lter.marsci.uga.edu/public/app/personnel_bios.asp?id=wsheldon
>
>
> _______________________________________________
> Kepler-users mailing list
> Kepler-users at kepler-project.org
> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-users/attachments/20120420/8951da0d/attachment.html>
More information about the Kepler-users
mailing list