dependencies
- python 2.7, Python 3.0 not tested.If you intend to use ecFlow Python api, You will need to install python.If python installed in non standard installation, 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:
> 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:
> 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 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_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/changePYTHONPATH and LD_LIBRARY_PATH
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.
- ECFLOWVIEW_HOME shell variable may be set to link ecflowview to the directory where to find ‘servers’ and ‘ecflowview.menu’ files
- ECFLOWRC variable may be set to use alternative directory for user ecflowview option files (default is $HOME/.ecflowrc)