Interesting ... I have no such symlink in /usr/bin, but that must be because I 
installed Kepler by dragging the app into my Applications folder, and perhaps 
you installed it some other way (e.g,. building from source)?

On Jun 29, 2011, at 2:15 PM, Daniel Crawl wrote:

> 
> Hi Joe,
> 
> In Kepler, you can see what $PATH contains by using the
> Expression Evaluator in the Tools menu. Run this:
> 
> getenv('PATH')
> 
> On my mac, $PATH does not contain /Applications/Matlab...,
> but does have /usr/bin, which has a symlink to the Matlab
> binary. Matlab probably created the link when it installed.
> If you can't edit $PATH, you could make a symlink in a
> directory in $PATH.
> 
>  --dan
> 
> 
> On 6/29/11 9:28 AM, Joe Futrelle wrote:
>> Further results. My advice upthread "use launchctl to set [PATH]" is not 
>> correct.
>> 
>> Putting Matlab on your path so that Kepler can invoke it turns out to be a 
>> different process depending on whether you are running Kepler from a shell 
>> prompt, or whether you're double-clicking the application icon.
>> 
>> As of Snow Leopard, it appears that the only way to set the PATH variable 
>> seen by GUI applications when they are launched from the Finder/Dock is 
>> using ~/.MacOSX/environment.plist.
>> 
>> However this approach is somewhat problematic in that in environment.plist 
>> variable references (i.e., $PATH) are not expanded, so there is no 
>> non-kludgy way I've found to *append* the Matlab executable's path to the 
>> PATH seen by GUI applications, using environment.plist.
>> 
>> 
>> The PATH approach that does work is using ordinary shell methods to append 
>> the Matlab bin directory to the path, and then invoking Kepler from that 
>> shell, like so:
>> 
>> $ launchctl getenv DYLD_LIBRARY_PATH
>> /Applications/MATLAB_R2011a.app/bin/maci64
>> $ export PATH=$PATH:/Applications/MATLAB_R2011a.app/bin
>> $ echo $PATH
>> /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Applications/MATLAB_R2011a.app/bin
>> $ open /Applications/Kepler-2.2/Kepler.app/
>> 
>> Can anyone advise how I might be able to get this working for launching 
>> Kepler from Finder/Dock? Obviously I can just stick with the shell approach, 
>> but I'd really like to be able to launch Kepler from the Dock.
>> 
>> On Jun 28, 2011, at 3:48 PM, Joe Futrelle wrote:
>> 
>>> OK, this thread resolved all of my issues. Thanks a lot guys! :)
>>> 
>>> To summarize:
>>> 
>>> DYLD_LIBRARY_PATH must include the Matlab libraries. Setting them with 
>>> launchctl works, but don't expect to see them as shell environment 
>>> variables unless you export them to the shell.
>>> 
>>> The Matlab executable (from its app package's bin directory) must be in 
>>> your path. (Again, use launchctl to set).
>>> 
>>> I get different results when I use "open" from the command line to launch 
>>> Kepler (works!) and when I double-click Kepler's app icon (doesn't), but I 
>>> hypothesize that if I put both the DYLD_LIBRARY_PATH and PATH settings in 
>>> /etc/launchd.conf and reboot, that it'll work. Unconfirmed as of yet.
>>> 
>>> Hopefully the above account is accurate and not confused ...
>>> 
>>> On Jun 28, 2011, at 3:20 PM, Daniel Crawl wrote:
>>> 
>>>> 
>>>> The matlab binary must be in your $PATH.
>>>> 
>>>> --dan
>>>> 
>>>> On 6/28/11 12:12 PM, Joe Futrelle wrote:
>>>>> This works.
>>>>> 
>>>>> And it gets me past the stack trace I was getting before! :)
>>>>> 
>>>>> Here's the transcript. I combined advice from two posts upthread.
>>>>> 
>>>>> bash-3.2# DYLD_LIBRARY_PATH=/Applications/MATLAB_R2011a.app/bin/maci64/ 
>>>>> env | grep DYLD
>>>>> DYLD_LIBRARY_PATH=/Applications/MATLAB_R2011a.app/bin/maci64/
>>>>> bash-3.2# open /Applications/Kepler-2.2/Kepler.app
>>>>> 
>>>>> Now I'm getting a different stacktrace. I have a properly-licensed Matlab 
>>>>> instance running and csh is @ /bin/csh.
>>>>> 
>>>>> ptolemy.kernel.util.IllegalActionException: matlabEngine.open(null) : 
>>>>> can't find Matlab engine. Try starting Matlab by hand as an application 
>>>>> to verify that Matlab is set up properly and the license is correct. 
>>>>> Under Windows, try running "matlab /regserver", the Matlab C API 
>>>>> communicates with Matlab via COM, and apparently the COM interface is not 
>>>>> automatically registered when Matlab is installed. Under Linux and other 
>>>>> types of UNIX, csh must be installed in /bin/csh.
>>>>>   at ptolemy.matlab.Engine.open(Engine.java:280)
>>>>>   at ptolemy.matlab.Engine.open(Engine.java:232)
>>>>>   at ptolemy.matlab.Expression.preinitialize(Expression.java:303)
>>>>>   at ptolemy.actor.Director.preinitialize(Director.java:1010)
>>>>>   at ptolemy.actor.Director.preinitialize(Director.java:991)
>>>>>   at 
>>>>> ptolemy.domains.ct.kernel.CTDirector.preinitialize(CTDirector.java:748)
>>>>>   at 
>>>>> ptolemy.domains.ct.kernel.CTMultiSolverDirector.preinitialize(CTMultiSolverDirector.java:637)
>>>>>   at ptolemy.actor.CompositeActor.preinitialize(CompositeActor.java:1735)
>>>>>   at ptolemy.actor.Manager.preinitializeAndResolveTypes(Manager.java:983)
>>>>>   at ptolemy.actor.Manager.initialize(Manager.java:643)
>>>>>   at ptolemy.actor.Manager.execute(Manager.java:340)
>>>>>   at ptolemy.actor.Manager.run(Manager.java:1164)
>>>>>   at ptolemy.actor.Manager$3.run(Manager.java:1217)
>>>>> 
>>>>> 
>>>>> On Jun 28, 2011, at 3:02 PM, Sean Riddle wrote:
>>>>> 
>>>>>> I can't get launchd.conf to set DYLD_LIBRARY_PATH, but for some reason
>>>>>> it doesn't set anything else either. But DYLD_LIBRARY_PATH is
>>>>>> settable, at least in some ways:
>>>>>> 
>>>>>> dhcp33-gc5:~ sean$ DYLD_LIBRARY_PATH=hello env | grep "DYLD_LIBRARY_PATH"
>>>>>> DYLD_LIBRARY_PATH=hello
>>>>>> 
>>>>>> I would recommend trying the support including in the build system for
>>>>>> setting environment variables. Create a file
>>>>>> kepler/module-info/environment.txt and specify the value there. You
>>>>>> can look at r/module-info/environment.txt for an example. Note that as
>>>>>> in the example, you can (and possible must, I'm not sure) specify
>>>>>> separate values for all three of the platforms that Kepler supports.
>>>>>> 
>>>>>> - Sean
>>>>>> 
>>>>>> On Tue, Jun 28, 2011 at 11:27 AM, Joe Futrelle<[email protected]>   
>>>>>> wrote:
>>>>>>> I tried that, didn't work.
>>>>>>> 
>>>>>>> Again, I have no problem setting system-wide environment variables in 
>>>>>>> launchd.conf. If I set "foo" to "bar" then "foo" is set to "bar" in my 
>>>>>>> environment. But if I set DYLD_LIBRARY_PATH to anything, it's like I 
>>>>>>> didn't set it at all.
>>>>>>> 
>>>>>>> Exactly the same behavior with environment.plist. It seems to me like 
>>>>>>> DYLD_LIBRARY_PATH is on some kind of blacklist.
>>>>>>> 
>>>>>>> On Jun 28, 2011, at 2:15 PM, Sean Riddle wrote:
>>>>>>> 
>>>>>>>> I always heard that if you wanted to set environment variables for GUI
>>>>>>>> applications in OS X, you needed to edit the environment.plist file. A
>>>>>>>> stackoverflow thread
>>>>>>>> (http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x)
>>>>>>>> says it can be set on a per-user basis at ~/.MacOSX/environment.plist.
>>>>>>>> However, that thread also says that launchd.conf also works for GUI
>>>>>>>> applications. Maybe try setting it in environment.plist to see if that
>>>>>>>> makes a difference.
>>>>>>>> 
>>>>>>>> - Sean
>>>>>>>> 
>>>>>>>> PS - Property List Editor in Utilities is what creates and edits 
>>>>>>>> .plist files.
>>>>>>>> 
>>>>>>>> On Tue, Jun 28, 2011 at 11:09 AM, Joe Futrelle<[email protected]>   
>>>>>>>> wrote:
>>>>>>>>> Hi, I'm trying to run Matlab codes from Kepler in Mac OS (Snow 
>>>>>>>>> Leopard). As an inexperienced user I'm simply firing up the 
>>>>>>>>> prepackaged Mac OS distribution of Kepler and double-clicking on the 
>>>>>>>>> app icon.
>>>>>>>>> 
>>>>>>>>> It's no problem constructing a workflow with a "Matlab expression" in 
>>>>>>>>> it, but when I run I get a stacktrace about the Matlab libraries not 
>>>>>>>>> being on the DYLD_LIBRARY_PATH.
>>>>>>>>> 
>>>>>>>>> I'm having no trouble finding those libraries manually; they're right 
>>>>>>>>> where they should be in my Matlab install, and they're 64 bit, and 
>>>>>>>>> everything seems in order.
>>>>>>>>> 
>>>>>>>>> Setting DYLD_LIBRARY_PATH doesn't seem possible in Mac OS; I can set 
>>>>>>>>> environment variables in launchd.conf, but launchd appears to 
>>>>>>>>> silently ignore DYLD_LIBRARY_PATH; maybe it's special-casing it for 
>>>>>>>>> some reason.
>>>>>>>>> 
>>>>>>>>> I'm having trouble finding a previous post on this list, or a bug in 
>>>>>>>>> Kepler's bugzilla database, or a documentation section or FAQ entry 
>>>>>>>>> that explains how to solve this. It's clear that some people have had 
>>>>>>>>> problems with this in the past, but I don't see a clear description 
>>>>>>>>> of what I should be doing. Any and all advice welcome.
>>>>>>>>> 
>>>>>>>>> Mac OS version: 10.6.7
>>>>>>>>> Java version: 1.6.0_24 (Java HotSpot(TM) 64-Bit Server VM (build 
>>>>>>>>> 19.1-b02-334, mixed mode))
>>>>>>>>> Kepler version: 2.2
>>>>>>>>> Matlab version: R2011a
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Joe Futrelle
>>>>>>>>> Woods Hole Oceanographic Institution
>>>>>>>>> [email protected]
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> Kepler-users mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Joe Futrelle
>>>>>>> Woods Hole Oceanographic Institution
>>>>>>> [email protected]
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> --
>>>>> Joe Futrelle
>>>>> Woods Hole Oceanographic Institution
>>>>> [email protected]
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Kepler-users mailing list
>>>>> [email protected]
>>>>> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>>>>> 
>>>> 
>>> 
>>> --
>>> Joe Futrelle
>>> Woods Hole Oceanographic Institution
>>> [email protected]
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Kepler-users mailing list
>>> [email protected]
>>> http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>>> 
>> 
>> --
>> Joe Futrelle
>> Woods Hole Oceanographic Institution
>> [email protected]
>> 
>> 
>> 
>> 
> 

--
Joe Futrelle
Woods Hole Oceanographic Institution
[email protected]




_______________________________________________
Kepler-users mailing list
[email protected]
http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users

Reply via email to