dependencies
- python 2.7 ( Python 3.0 not tested )If you intend to use ecFlow Python api, You will need to install python.Please ensure that python is accessible on $PATH otherwise, you may need tocustomise $BOOST_ROOT/tools/build/v2/site-config.jamThe python installation should include the development packages
Xlib, X11, XMotif for ecflowview. Do not use Lesstif library to compile ecflowview as a replacement for Motif. OpenMotif can be downloaded from http://www.ist.co.uk/downloads/motif_download.html
ecfFlow consists of two tar files i.e. :
- boost_1_53_0.tar.gz
- ecflow_4_0_2.tar.gz
Create a directory for the build:
mkdir /tmp/ecflow_build
Copy the the two tar file into this directory, then change directory to /tmp/ecflow_build
Un-zip then un-tar the two file files:
gunzip boost_1_53_0.tar.gz gunzip ecflow_4_0_2.tar.gz tar -xf boost_1_53_0.tar tar -xf ecflow_4_0_2.tar
You should have two directories created:
boost_1_53_0 ecflow_4_0_2
Create two environment variables. These are used by some of scripts:
export WK=/tmp/ecflow_build/ecflow_4_0_2 export BOOST_ROOT=/tmp/ecflow_build/boost_1_53_0
- For installation the following environment variables are required.
ECFLOW_INSTALL_DIR # Directory Location for client ,server and gui program's ECFLOW_PYTHON_INSTALL_DIR # Directory Location for ecflow python package
The python installation can be customised, by changing Pyext/jamfile.jam and $BOOST_ROOT/tools/build/v2/site-config.jam
- Boost uses bjam for build. ecFlow also uses bjam for build and installationbjam source is available in boost, hence we first need to build bjam itself:
cd $BOOST_ROOT ./bootstrap.sh
Now make sure bjam is accessible from $PATH
- Ecflow uses some of compiled libraries in boost. The following scriptwill build the required lib’s, in both debug and release formsand will configure boost build according to your platform.
cd $BOOST_ROOT $WK/build/boost_1_53_fix.sh # fix for boost, only for some platforms $WK/build/boost_build.sh # compile boost libs used by ecFlow
We now need to build ecFlow. Currently ecflowview is only built if environment variable of name ARCH is set to linux:
cd $WK bjam variant=release
On some systems like fedora/redhat you may run into compiler errorswhich complain about the template depth being exceeded.In this case compile using:cd $WK bjam c++-template-depth=512 variant=release
If you have a multi-core machine, you can speed up the build using:the -j<n> option. Where ‘n’ is an integer, of the number of cores.bjam variant=release -j4
- Once ecFlow is built it can be installed:
bjam variant=release install-all
This will create directories:
<ECFLOW_INSTALL_DIR>/bin <ECFLOW_INSTALL_DIR>/lib <ECFLOW_INSTALL_DIR>/doc <ECFLOW_INSTALL_DIR>/share <ECFLOW_PYTHON_INSTALL_DIR>
Depending on your umask setting you may need to call chmod 755 on the executables
- To use the ecFlow Python Api, you need to add/change PYTHONPATH . (Note: with release 4.0.2, the LD_LIBRARY_PATH no longer needs to be set)
export PYTHONPATH=$PYTHONPATH:$ECFLOW_PYTHON_INSTALL_DIR
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.
Openmotif may be retrieve from IST server and installed locally: wget http://www.ist-inc.com/motif/download/motif_files/openmotif-2.1.32-2_IST.x86_64.rpm rpm2cpio openmotif-2.1.32-2_IST.x86_64.rpm | cpio -idmv
user shall then compile setting MOTIF_INCLUDE and MOTIF_LIBRARY variable.
- By default the ecflowview 'server' and‘ecflowview.menu’ files are placed in <ECFLOW_INSTALL_DIR>/share/ecflow directory. However you can use ECFLOWVIEW_HOME shell variable to override this.
- ECFLOWRC variable may be set to use alternative directory for user ecflowview option files (default is $HOME/.ecflowrc)