ecFlow's documentation is now on readthedocs!

The install relies on brew. please see https://brew.sh, 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 https://raw.githubusercontent.com/Homebrew/install/master/install.sh )"
  • 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@git.ecmwf.int/ecflow/ecflow.git
    git clone ssh://git@git.ecmwf.int/ecsdk/ecbuild.git
    git clone ssh://git@git.ecmwf.int/ecsdk/metabuilder.git  # optional
  • build ecflow, and install to ${HOME}/install/ecflow/${version}

    cd $HOME/git/ecflow
    git checkout develop
    sh -x build_scripts/mac.sh make -j8 install # if you make a mistake use: sh -x build_scripts/mac.sh 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'       
    export SCRATCH='$HOME/SCRATCH'
    export METABUILDER_TESTING=1
  • 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/quick_install.sh

    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 mac.sh
    #
    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