Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

    • boost_1_53_0.tar.gz

    • ecFlow-4.1214.0-Source.tar.gz

      Create a directory for the build:

      Code Block
      languagebash
      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:

    Code Block
    languagebash
    tar -zxf boost_1_53_0.tar.gz
    tar -zxf ecFlow-4.1214.0-Source.tar.gz


  • You should have two directories created:

    Code Block
    boost_1_53_0
    ecFlow-4.1214.0-Source
    


  • Create two environment variables. These are used by some of the scripts:

     

    Code Block
    languagebash
    export WK=/tmp/ecflow_build/ecFlow-4.1214.0-Source
    export BOOST_ROOT=/tmp/ecflow_build/boost_1_53_0


...

  • ecFlow uses some of compiled libraries in boost. The following script will build the required lib’s and  configure boost build according to your platform

    Code Block
    languagebash
    titleBuild boost libraries including python3 used by ecflow.
    cd $BOOST_ROOT
    $WK/build_scripts/boost_1_53_fix.sh    # fix for boost, only for some platforms
    $WK/build_scripts/boost_build.sh       # compile boost libs used by ecFlow. Please see notes in boost_build.sh, if you want to build both for python2 and python3 


  •  If you want to build python2 and python3. Then ALWAYS build the python3 first. See earlier steps

    Code Block
    titleBuilding boost python2 libs
    mv $BOOST_ROOT/project-config.jam $BOOST_ROOT/project-config.jam_python3   # move the python3 config to the side
    ./bootstrap.sh                                                             # || ./bootstrap.sh --with-python=/path/to/python2 to regenerate project-config.jam
    ./b2 --with-python --clean                                                 # Clean previous python3 build *VERY* important
    $WK/build_scripts/boost_build.sh                                           # Build boost python2 libs


...

 

Code Block
languagebash
export PYTHONPATH=$PYTHONPATH:<prefix>/4.1214.0/lib/python2.7/site-packages/ecflow
# If you used the default's then <prefix>=/usr/local
# otherwise you should use whatever you entered for -DCMAKE_INSTALL_PREFIX, hence in the examples above we would have:
export PYTHONPATH=$PYTHONPATH:/usr/local/apps/ecflow/4.1214.0/lib/python2.7/site-packages/ecflow 

Installing ecFlow Python to a custom  directory

The default install for ecFlow, will install python(if it was enabled) under the directory given to CMAKE_INSTALL_PREFIX.

However sometimes we may need to install the ecFlow python module to a different prefix.(starting with release 4.3.0)

This can be done using:

Code Block
cd $WK/build  # change to the build directory
cmake -DCMAKE_INSTALL_PREFIX=/tmp/avi/custom/ecflow/4.1214.0 -DCOMPONENT=python -P cmake_install.cmake -- make install  # install python module under /tmp/avi/custom/ecflow/4.1114.0

 

ecflow_ui: Make a list servers accessible to all users

...

  • creating a file called servers
  • The format of the servers file is very easy:

    Code Block
    titleserver file format
    <server_name> <machine_name> <port>

    An example might be:

    Code Block
    titleservers file
    server      machineX   3141
    projectX    machineabc 4141
    exp1        machineabc 4141
    mars        bigmac     11031


  • Copy this file to CMAKE_INSTALL_PREFIX/share/ecflow/.   This makes the list of servers accessible to all users of ecflow_ui

    Code Block
    cp servers /tmp/avi/custom/ecflow/4.1214.0/share/ecflow/.