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 ;
  • 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
  • IF you do not require the ecflow python api, you can avoid building boost python libs by setting.

 

Code Block
languagebash
titleDisable boost python, *IF* ecflow python API not required
 export ECF_NO_PYTHON=1

 

before calling $WK/build_scripts/boost_build.sh
You will also need to disable python when building ecflow.  See the instruction under cmake
 

 

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

 

...

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

# Go with defaults, this should build with CMAKE_BUILD_TYPE=Release
cmake .. 

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

# Override install prefix, build the most optimised executables 
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/apps/ecflow -DCMAKE_BUILD_TYPE=Release  

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

# If you do not need the python api, use:
# cmake .. -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
Warning

If you experience problem with your installation, and need fix your install of QT,Python,Boost, then it is VERY important that you delete the build directory and start cmake build again. (This is because cmake keeps a cache of your configuration)

cd $WK

rm -rf build

mkdir build; cd build

cmake ..      # use whatever configuration  you used before

 

 

To use the ecFlow Python Api , you need to add/change PYTHONPATH . 

...