ecFlow's documentation is now on readthedocs!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 50 Next »

  • dependencies

  • ecfFlow consists of two tar files i.e. :

    • boost_1_53_0.tar.gz
    • ecflow_4_0_7.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_7.tar.gz
    tar -xf boost_1_53_0.tar
    tar -xf ecflow_4_0_7.tar
  • You should have three directories created:

    boost_1_53_0
    ecflow_4_0_7
    ecbuild
  • Create two environment variables. These are used by some of scripts:

     

    export WK=/tmp/ecflow_build/ecflow_4_0_7
    export BOOST_ROOT=/tmp/ecflow_build/boost_1_53_0

Build boost

  • Boost uses bjam for building the boost libs.
    bjam 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 script
    will build the required lib’s, in both debug and release forms
    and 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

Build

There are two build systems available for ecflow:

  • boost-build/bjam 
  • cmake/ecbuild

It is recommended to try cmake/ecbuild first.

cmake/ecbuild

Use $WK/ecbuild.sh, to configure build and install ecflow. Just provide a install directory prefix.

 
cmake/ecbuild
cd $WK
sh -x ecbuild.sh  /usr/local/apps/ecflow

To use the ecFlow Python Api , you need to add/change PYTHONPATH . 

 

 

export PYTHONPATH=$PYTHONPATH:/usr/local/apps/ecflow/4.0.7/lib/python2.7/site-packages/ecflow

 

boost-build/bjam

  • 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

  • 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 errors
    which 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 . 

     

    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)

 

  • No labels