Versions Compared

Key

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

...

  • Boost uses bjam for building the boost libs.
    bjam source is available in boost, hence we first need to build bjam itself:

     

    Code Block
    languagebash
    cd $BOOST_ROOT
    ./bootstrap.sh
  • For python3

    Code Block
    ./bootstrap.sh --with-python=/path/to/python3
    
    You may need to update $BOOST_ROOT/project-config.jam, with path to executable and path to include files. Note: remember to preserve the spaces, as they are significant. i.e.
    Code Block
    # using python
    #     :  # version
    #     :  # cmd-or-prefix
    #     :  # includes
    #     :  # libraries
    #     :  # condition
    #     ;
    using python : 3.5 : python3 : /usr/local/apps/python3/3.5.1-01/include/python3.5m ;
  • IF you do not require the ecflow ecFlow python api, you can avoid building boost python libs by setting.

...

You will also need to disable python when building ecflowecFlow.  See the instruction under cmake

 
  • Ecflow 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

    Code Block
    languagebash
    titleBuild boost libraries 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

 

...

As configure, CMake  will run some tests on the customer's system to find out if required third-party software libraries are available and notes their locations (paths). Based on this information it will produces the Makefiles needed to compile and install ecflowecFlow

CMake is a cross-platform free software program for managing the build process of software using a compiler-independent method.

...

cmake options
doc
default
CMAKE_INSTALL_PREFIXwhere you want to install your ecflowecFlow /usr/local
CMAKE_BUILD_TYPE

to select the type of compilation:

  • Debug
  • RelWithDebInfo
  • Release (fully optimised compiler options)
  • Production
Release
CMAKE_CXX_FLAGSmore flags  for the C++ compiler 
ENABLE_SERVERbuild the ecflow ecFlow serveron
ENABLE_PYTHONenable python interfaceon
PYTHON_EXECUTABLEPyhon3.  Path to python3 executable 
ENABLE_UIenable build of ecflowUI (requires Qt)on
CMAKE_PREFIX_PATH

use to provide path to dependent libraries which are installed in a non-system locations.
For example, if you have installed Qt in a non-system location, you should set the path in this variable.

 
ENABLE_GUIenable build of ecflowview (requires X11 and motif)on
ENABLE_ALL_TESTS

enable performance, migration, memory leak , and regression tests

off
ENABLE_SSL

Encrypted communication for user commands (experimental, from ecflow ecFlow release 4.5.0).

Please see: Open ssl for more details.

off
ENABLE_SECURE_USER

password based protection for user commands (experimental, from ecflow ecFlow release 4.5.0)

Please see: Black list file (experimental) for more details.

off
BOOST_ROOT

where to find boost ( if non-standard installation  )

If not specified cmake will look for an environment variable of the same name.

 

...

 

Code Block
languagebash
export PYTHONPATH=$PYTHONPATH:<prefix>/4.7.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.7.0/lib/python2.7/site-packages/ecflow 

Installing ecFlow Python to a custom  directory

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

However sometimes we may need to install the ecflow 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.7.0 -DCOMPONENT=python -P cmake_install.cmake -- make install  # install python module under /tmp/avi/custom/ecflow/4.7.0

 

ecflow_ui: Make a list servers accessible to all users

The GUI used by ecflow ecFlow is called ecflow_ui.  This is used to interact and visualize the ecflow ecFlow servers.

You can make the list of servers available for your users by:

...