Versions Compared

Key

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

...

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

    • boost_1_71_0.tar.gz (or any recent boost)

    • ecFlow-5.45.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_71_0.tar.gz
    tar -zxf ecFlow-5.45.0-Source.tar.gz


  • You should have two directories created:

    Code Block
    boost_1_71_0
    ecFlow-5.45.0-Source
    


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

    Code Block
    export WK=/tmp/ecflow_build/ecFlow-5.45.0-Source
    export BOOST_ROOT=/tmp/ecflow_build/boost_1_71_0


  • If you have a module system, please ensure that before you start, gcc,cmake,python3,etc are available in $PATH.

    Code Block
    languagebash
    module load gnu
    module load cmake
    module load python3
    module load qt
    


...

Code Block
languagebash
titlecmake/ecbuild
cd $WK
mkdir build; cd build;

# Go with defaults, will build with CMAKE_BUILD_TYPE=Release and install to /usr/local
cmake .. 

# build release with debug info  
# cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo

# Override install prefix 
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/apps/ecflow/5.45.0 

# do NOT build the gui.
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/apps/ecflow -DCMAKE_BUILD_TYPE=Release -DENABLE_GUI=OFF

# ignore Wdeprecated-declarations compiler warning messages and do NOT build python api
# cmake .. -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations"  -DENABLE_PYTHON=OFF

# Use -j option to speed up compilation. Determine number of cpu's
CPUS=$(lscpu -p | grep -v '#' | wc -l)
make -j${CPUS}
make check
make install

...

Code Block
languagebash
export PYTHONPATH=$PYTHONPATH:<prefix>/5.45.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/5.45.0/lib/python3.6/site-packages/ecflow 

...

Code Block
cd $WK/build  # change to the build directory
cmake -DCMAKE_INSTALL_PREFIX=/tmp/avi/custom/ecflow/5.45.0 -DCOMPONENT=python -P cmake_install.cmake -- make install  # install python module under /tmp/avi/custom/ecflow/5.45.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/5.45.0/share/ecflow/.