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_2_0_31.tar.gz
Create a directory for the build:
Code Block 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_2_0_31.tar.gz # tar -xf boost_1_53_0.tar # tar -xf ecflow_2_0_31.tar
You should have two directories created:
boost_1_53_0 ecflow_2_0_31
Create two environment variables. These are used by some of scripts:
Code Block language bash export WK=/tmp/ecflow_build/ecflow_2_0_31 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:
Code Block 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.
Code Block 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:
Code Block 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:Code Block 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.Code Block bjam variant=release -j4
- Once ecFlow is built it can be installed:
Code Block bjam variant=release install-all
This will create directories:
Code Block <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 and PYTHONPATH . (Note: with release 4.0.2, the LD_LIBRARY_PATH no longer needs to be set)
Code Block language bash export PYTHONPATH=$PYTHONPATH:$ECFLOW_PYTHON_INSTALL_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$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 may be set to link ecflowview to the directory where to find ‘servers’ and ‘ecflowview.menu’ filesto override this.
- ECFLOWRC variable may be set to use alternative directory for user ecflowview option files (default is $HOME/.ecflowrc)
...