Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
HTML
<div class="section" id="install">
<span id="index-0"></span><span id="id1"></span>
<ul>
<li><p class="first">dependencies</p>
<blockquote>
<div><ul>
<li><div class="first line-block">
<div class="line">python 2.7,  Python 3.0 not tested.</div>
<div class="line">If you intend to use ecFlow Python api, You will need to install python.</div>
<div class="line">If python installed in non standard installation, you may need to</div>
<div class="line">customise $BOOST_ROOT/tools/build/v2/site-config.jam</div>
<div class="line">The python installation should include the development packages</div>
</div>
</li>
<li><p class="first">Xlib, X11, XMotif for <a class="reference internal" href="/wiki/display/ECFLOW/Glossary#term-ecflowview"><em class="xref std std-term">ecflowview</em></a>. Do <em>not</em> use Lesstif library
to compile ecflowview as a replacement for Motif. OpenMotif can be
downloaded from <a class="reference external" href="http://www.ist.co.uk/downloads/motif_download.html">http://www.ist.co.uk/downloads/motif_download.html</a></p>
</li>
</ul>
</div></blockquote>
</li>
<li><p class="first">ecfFlow consists of two tar files i.e. :</p>
<blockquote>
<div><ul class="simple">
<li><tt class="file docutils literal"><span class="pre">boost_1_47_0.tar.gz</span></tt></li>
<li><tt class="file docutils literal"><span class="pre">ecflow_2_0_31.tar.gz</span></tt></li>
</ul>
</div></blockquote>
</li>
<li><p class="first">Create a directory for the build:</p>
<div class="highlight-python"><pre>&gt; mkdir /tmp/ecflow_build</pre>
</div>
</li>
<li><p class="first">Copy the the two tar file into this directory, then change directory to <tt class="file docutils literal"><span class="pre">/tmp/ecflow_build</span></tt></p>
</li>
<li><p class="first">Un-zip then un-tar the two file files:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="c"># gunzip boost_1_47_0.tar.gz</span>
<span class="c"># gunzip ecflow_2_0_31.tar.gz</span>
<span class="c"># tar -xf boost_1_47_0.tar</span>
<span class="c"># tar -xf ecflow_2_0_31.tar</span>
</pre></div>
</div>
</li>
<li><p class="first">You should have two directories created:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">boost_1_47_0</span>
<span class="n">ecflow_2_0_31</span>
</pre></div>
</div>
</li>
<li><p class="first">Create two environment variables. These are used by some of scripts:</p>
<div class="highlight-python"><pre>&gt; export WK=/tmp/ecflow_build/ecflow_2_0_31
&gt; export BOOST_ROOT=/tmp/ecflow_build/boost_1_47_0</pre>
</div>
</li>
<li><div class="first line-block">
<div class="line">For installation the following environment variables are required.</div>
</div>
<div class="highlight-python"><div class="highlight"><pre><span class="n">ECFLOW_INSTALL_DIR</span>         <span class="c"># Directory Location for client ,server and gui program&#39;s</span>
<span class="n">ECFLOW_PYTHON_INSTALL_DIR</span>  <span class="c"># Directory Location for ecflow python package</span>
</pre></div>
</div>
<p>The python installation can be customised, by changing Pyext/jamfile.jam and site-config.jam</p>
</li>
<li><div class="first line-block">
<div class="line">Boost uses bjam for build.  ecFlow also uses bjam for build and installation</div>
<div class="line">bjam source is available in boost, hence we first need to build bjam itself</div>
</div>
<div class="highlight-python"><pre>&gt; cd $BOOST_ROOT
&gt; ./bootstrap.sh</pre>
</div>
<p>Now make sure bjam is accessible from $PATH</p>
</li>
<li><div class="first line-block">
<div class="line">Ecflow uses some of compiled libraries in boost. The following script</div>
<div class="line">will build the required lib&#8217;s, in both debug and release forms</div>
<div class="line">and will configure boost build according to your platform</div>
</div>
<div class="highlight-python"><pre>&gt; cd $BOOST_ROOT
&gt; $WK/build/boost_1_53_fix.sh    # fix for boost, only for some platforms
&gt; $WK/build/boost_build.sh       # compile boost libs used by ecFlow</pre>
</div>
</li>
<li><p class="first">We now need to build ecFlow. Currently ecflowview is only built if
environment variable of name ARCH is set to linux:</p>
<div class="highlight-python"><pre>&gt; cd $WK
&gt; bjam variant=release install-all</pre>
</div>
<div class="line-block">
<div class="line">On some systems like fedora/redhat you may run into compiler errors</div>
<div class="line">which complain about the template depth being exceeded.</div>
<div class="line">In this case compile using:</div>
</div>
<div class="highlight-python"><pre>&gt; cd $WK
&gt; bjam c++-template-depth=512 variant=release install-all</pre>
</div>
<div class="line-block">
<div class="line">If you have a multi-core machine, you can speed up the build using:</div>
<div class="line">the -j&lt;n&gt; option. Where &#8216;n&#8217; is an integer, of the number of cores.</div>
</div>
<div class="highlight-python"><pre>bjam variant=release -j4</pre>
</div>
</li>
<li><div class="first line-block">
<div class="line">Once ecFlow is built it can be installed.</div>
</div>
<div class="highlight-python"><pre>bjam variant=release install-all</pre>
</div>
<p>This will create directories:</p>
<div class="highlight-python"><pre>&lt;ECFLOW_INSTALL_DIR&gt;/bin
&lt;ECFLOW_INSTALL_DIR&gt;/lib
&lt;ECFLOW_INSTALL_DIR&gt;/doc
&lt;ECFLOW_PYTHON_INSTALL_DIR&gt;</pre>
</div>
<p>Depending on your umask setting you may need to call chmod 755 on the executables</p>
</li>
<li><div class="first line-block">
<div class="line">To use the <a class="reference internal" href="/wiki/display/ECFLOW/ecFlow+Python+Api#python-api"><em>ecFlow Python Api</em></a>, you need to add/change</div>
<div class="line">PYTHONPATH and LD_LIBRARY_PATH</div>
</div>
<div class="highlight-python"><pre>export PYTHONPATH=$PYTHONPATH:$ECFLOW_PYTHON_INSTALL_DIR
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ECFLOW_PYTHON_INSTALL_DIR</pre>
</div>
</li>
<li><p class="first">When compiling ecflowview in a system where motif is not installed in the
usual location, or where both motif and lesstif are installed, it is possible
to export the environment variables MOTIF_INCLUDE and MOTIF_LIBRARY to help
bjam to find the right location for include files and libraries.</p>
<p>Openmotif may be retrieve from IST server and installed locally:
wget <a class="reference external" href="http://www.ist-inc.com/motif/download/motif_files/openmotif-2.1.32-2_IST.x86_64.rpm">http://www.ist-inc.com/motif/download/motif_files/openmotif-2.1.32-2_IST.x86_64.rpm</a>
rpm2cpio openmotif-2.1.32-2_IST.x86_64.rpm | cpio -idmv</p>
<p>user shall then compile setting MOTIF_INCLUDE and MOTIF_LIBRARY variable.</p>
</li>
</ul>
<ul class="simple">
<li>ECFLOWVIEW_HOME shell variable may be set to link ecflowview to the directory
where to find &#8216;servers&#8217; and &#8216;ecflowview.menu&#8217; files</li>
<li>ECFLOWRC variable may be set to use alternative directory for user
ecflowview option files (default is $HOME/.ecflowrc)</li>
</ul>
</div>