<div dir="ltr">Hi Michal,<div><br></div><div>Basically we have our own actor that we use to execute commands either locally or remotely using our own tools (Nimrod/G and Nimrod/K). The problem is in those actors when I try to evaluate the expression which has environment variable in it that is not part of the regular set (PATH, HOME etc). Is there some way I can evaluate them programatically? </div>
<div><br></div><div>I had to change the code so that the parameter mode is set to lazy (command.setLazy(true)) because we try to build the environment from incoming ports and such. If I could load the environment variable list and parse it myself in the code I would do it. So do you have any idea how to access it in code?</div>
<div><br></div><div>Thanks in advance for your answers,</div><div>Slavisa</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 10, 2014 at 12:11 PM, Michal Owsiak <span dir="ltr"><<a href="mailto:michalo@man.poznan.pl" target="_blank">michalo@man.poznan.pl</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is this something you are looking for (see attachment)<span class="HOEnZb"><font color="#888888"><br>
<br>
Michal</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That works fine. Can we use this somehow in External Execution actors? I<br>
tried and failed.<br>
<br>
What we need is a way to use environment variables to locate executables,<br>
e.g. FSLDIR=/opt/local/bet, so that I can execute $FSLDIR/bin/bet. I<br>
understand that if added to PATH these will be accessible by simply by<br>
executing 'bet' but we'd still like to have access to environment variables<br>
to locate specific versions etc.<br>
<br>
Slavisa<br>
<br>
<br>
On Tue, Jun 10, 2014 at 11:56 AM, Michal Owsiak <<a href="mailto:michalo@man.poznan.pl" target="_blank">michalo@man.poznan.pl</a>><br>
wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Try following instead.<br>
<br>
Inside expression actor use following:<br>
<br>
getenv("YOUR_VARIABLE_GOES_<u></u>HERE")<br>
<br>
Michal<br>
<br>
<br>
  Hi,<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Could someone explain to me if there is a bug or I am doing something<br>
wrong<br>
that my workflows can't access environment variables.<br>
<br>
I tried setting them up in usual ways (profile scripts) and by using<br>
environment.txt but no actor has access to them.<br>
<br>
For example I tried setting up TESTVAR and then accessing it in constant<br>
actor but it raises an error as if it was not there. Top of the exception<br>
stack is just below.<br>
<br>
Regards,<br>
Slavisa Garic<br>
PS. I can see this being set with kepler-2.4.0/module-info/<br>
environment.txt<br>
when Kepler is launched by kepler.sh and I get messages such as<br>
<br>
....<br>
Set environment variable: TESTVAR = mymessage<br>
Set environment variable: R_HOME = /Library/Frameworks/R.<br>
framework/Resources<br>
....<br>
<br>
<br>
ptolemy.kernel.util.<u></u>IllegalActionException: Error evaluating expression:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
$TESTVAR<br>
    in .Unnamed1.Constant.value<br>
Because:<br>
Error parsing expression "$TESTVAR"<br>
Because:<br>
Encountered "" at line 1, column 1.<br>
Was expecting one of:<br>
<br>
Because:<br>
Error evaluating expression: $TESTVAR<br>
    in .Unnamed1.Constant.value<br>
Because:<br>
Error parsing expression "$TESTVAR"<br>
Because:<br>
Encountered "" at line 1, column 1.<br>
Was expecting one of:<br>
<br>
at ptolemy.data.expr.Variable.<u></u>validate(Variable.java:1491)<br>
at ptolemy.moml.MoMLParser.<u></u>endDocument(MoMLParser.java:<u></u>802)<br>
at com.microstar.xml.XmlParser.<u></u>doParse(XmlParser.java:162)<br>
at com.microstar.xml.XmlParser.<u></u>parse(XmlParser.java:132)<br>
at ptolemy.moml.MoMLParser.parse(<u></u>MoMLParser.java:1540)<br>
at ptolemy.moml.MoMLParser.parse(<u></u>MoMLParser.java:1512)<br>
at ptolemy.moml.MoMLParser.parse(<u></u>MoMLParser.java:1668)<br>
at ptolemy.moml.<u></u>MoMLChangeRequest._execute(<u></u>MoMLChangeRequest.java:289)<br>
at ptolemy.actor.gui.<u></u>PtolemyQuery$3._execute(<u></u>PtolemyQuery.java:824)<br>
at ptolemy.kernel.util.<u></u>ChangeRequest.execute(<u></u>ChangeRequest.java:171)<br>
at ptolemy.kernel.util.NamedObj._<u></u>executeChangeRequests(<br>
NamedObj.java:2559)<br>
at ptolemy.kernel.util.NamedObj.<u></u>executeChangeRequests(<u></u>NamedObj.java:725)<br>
at ptolemy.kernel.util.NamedObj.<u></u>requestChange(NamedObj.java:<u></u>1776)<br>
at ptolemy.actor.CompositeActor.<u></u>requestChange(CompositeActor.<u></u>java:1957)<br>
at ptolemy.kernel.util.NamedObj.<u></u>requestChange(NamedObj.java:<u></u>1761)<br>
at ptolemy.actor.gui.<u></u>PtolemyQuery.changed(<u></u>PtolemyQuery.java:885)<br>
at ptolemy.gui.Query._<u></u>notifyListeners(Query.java:<u></u>1928)<br>
at ptolemy.gui.Query$<u></u>QueryFocusListener.focusLost(<u></u>Query.java:2515)<br>
at java.awt.AWTEventMulticaster.<u></u>focusLost(AWTEventMulticaster.<u></u>java:213)<br>
at java.awt.Component.<u></u>processFocusEvent(Component.<u></u>java:6306)<br>
at java.awt.Component.<u></u>processEvent(Component.java:<u></u>6170)<br>
at java.awt.Container.<u></u>processEvent(Container.java:<u></u>2084)<br>
at java.awt.Component.<u></u>dispatchEventImpl(Component.<u></u>java:4776)<br>
at java.awt.Container.<u></u>dispatchEventImpl(Container.<u></u>java:2142)<br>
at java.awt.Component.<u></u>dispatchEvent(Component.java:<u></u>4604)<br>
at<br>
java.awt.KeyboardFocusManager.<u></u>redispatchEvent(<u></u>KeyboardFocusManager.java:<br>
1856)<br>
at<br>
java.awt.<u></u>DefaultKeyboardFocusManager.<u></u>typeAheadAssertions(<br>
DefaultKeyboardFocusManager.<u></u>java:920)<br>
at<br>
java.awt.<u></u>DefaultKeyboardFocusManager.<u></u>dispatchEvent(<br>
DefaultKeyboardFocusManager.<u></u>java:578)<br>
<br>
</blockquote>
<br>
.....<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
.....<br>
<br>
</blockquote>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Kepler-dev mailing list<br>
<a href="mailto:Kepler-dev@kepler-project.org" target="_blank">Kepler-dev@kepler-project.org</a><br>
<a href="http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev" target="_blank">http://lists.nceas.ucsb.edu/<u></u>kepler/mailman/listinfo/<u></u>kepler-dev</a><br>
<br>
<br>
</blockquote>
______________________________<u></u>_________________<br>
Kepler-dev mailing list<br>
<a href="mailto:Kepler-dev@kepler-project.org" target="_blank">Kepler-dev@kepler-project.org</a><br>
<a href="http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev" target="_blank">http://lists.nceas.ucsb.edu/<u></u>kepler/mailman/listinfo/<u></u>kepler-dev</a><br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br></div>