[kepler-users] Kepler 2.3 and MATLAB

Derik Barseghian barseghian at nceas.ucsb.edu
Fri Apr 20 20:30:41 PDT 2012


Sorry this hasn't been easy, and no help from me yet -- I'm trying to get Matlab and a license for my 32bit XP box so that I can try to replicate, hopefully on Monday. It seems to me it should work on your XP box. The last commit message for ptmatlab.dll says it's 32bit:
--------------
r24053 | crawl | 2010-04-29 13:30:49 -0700 (Thu, 29 Apr 2010) | 2 lines

updating matlab jni library for 32 bit windows
based on ptmatlab.cc r57728.
--------------

Interesting to hear about the error on 64bit AMD, sounds like we have an (additional) problem there.

Can you send your PATH?
Derik

On Apr 20, 2012, at 8:14 PM, Wade Sheldon 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.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)
>>>    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)
>>> 
>>> 
>>> On 4/20/2012 6:38 PM, Christopher Brooks wrote:
>>>> Hi Wade,
>>>> I don't think I have a WinXP installation at hand, but I was able to run the MatlabExpression demo under Windows Server 2003 with a 32-bit JVM from a clean install of Kepler-2.3.  Windows Server 2003 is fairly similar to XP.
>>>> 
>>>> To determine the bit width of your JVM, start up Kepler, go to Tools -> check settings and look at the value of
>>>> sun.arch.data.model = 32
>>>> 
>>>> When I start a dos shell (Start->Run->cmd), I can start matlab from the command line, which works for you. 
>>> 
>> 
> 
> -- 
> ______________________________________________________________________________
> 
> 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



More information about the Kepler-users mailing list