ecFlow's documentation is now on readthedocs!

The install relies on brew. please see, by default using the apple clang compiler. Alternatively, we can use gnu, but this requires additional steps as we need to build boost ourselves.

  • first, install brew. Paste that in a macOS Terminal or Linux shell prompt.

    /bin/bash -c "$(curl -fsSL )"
  • next, install ecflow dependencies

    brew install cmake
    brew install boost
    brew install boost-python3
    brew install openssl
    brew install qt
    brew install figlet # replacement for banner in scripts (i.e. .ecf files)
  • clone and place in $HOME/git

    git clone ssh://
    git clone ssh://
    git clone ssh://  # optional
  • build ecflow, and install to ${HOME}/install/ecflow/${version}

    cd $HOME/git/ecflow
    git checkout develop
    sh -x build_scripts/ make -j8 install # if you make a mistake use: sh -x build_scripts/ clean make -j8 install # clean will blast build directory 
  • Add the following to your .bash_profile

    ecflow_version=$(awk '/^project/ && /ecflow/ && /VERSION/ {for (I=1;I<=NF;I++) if ($I == "VERSION") {print $(I+1)};}' $HOME/git/ecflow/CMakeLists.txt)      
    python_dot_version=$(python3 -c 'import sys;print(sys.version_info[0],".",sys.version_info[1],sep="")')
    export PATH="$PATH:$HOME/install/ecflow/$ecflow_version/bin"
    export PYTHONPATH="$HOME/install/ecflow/$ecflow_version/lib/python${python_dot_version}/site-packages"
    export WK='$HOME/git/ecflow'
    # to use the meta builder on MAC:
    export PERM='$HOME/PERM'       
  • To use the meta builder on mac: Assumes you have updated .bash_profile.

    cd $WK
    # This will kill the server if its already running, then start the server on port 4141
    # Run the metabuilder/develop
    # start the GUI
    sh -x build_scripts/nightly/

    You will only be able to run the apple_clang compiler in the metabuilder, to use gnu.92 you will need to install/build with this compiler.

1 Comment

  1. Unknown User (ma0)

    # example not using
    LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" cmake ../ecFlow-5.3.0-Source -DQt5Svg_DIR=$(brew --prefix qt5)/lib/cmake/Qt5Svg -DQt5Network_DIR=$(brew --prefix qt5)/lib/cmake/Qt5Network -DQt5Widgets_DIR=$(brew --prefix qt5)/lib/cmake/Qt5Widgets -DENABLE_UI=1 -DCMAKE_CXX_FLAGS='-ftemplate-depth=512' -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 -DBOOST_ROOT=/usr/local