...
Code Block | ||
---|---|---|
| ||
export PYTHONPATH=$PYTHONPATH:<prefix>/4.1.0.9/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.1.0.9/lib/python2.7/site-packages/ecflow |
Installing Python to a custom directory
The default install for ecflow, will install python(if it was enabled) under the directory given to CMAKE_INSTALL_PREFIX.
However sometimes we may need to install the ecflow python module to a different prefix.
This can be done using:
Code Block |
---|
cd $WK/build # change to the build directory
cmake -DCMAKE_INSTALL_PREFIX=/var/tmp/avi/custom -DCOMPONENT=python -P cmake_install.cmake -- make install # install python module under /var/tmp/avi/custom |
boost-build/bjam
- Now make sure bjam is accessible from $PATH or use $BOOST_ROOT/bjam in place bjam below.
- For installation the following environment variables are required.
ECFLOW_INSTALL_DIR # Directory Location for client ,server and gui program's ECFLOW_PYTHON_INSTALL_DIR # Directory Location for ecflow python package
The python installation can be customised, by changing Pyext/jamfile.jam and $BOOST_ROOT/tools/build/v2/site-config.jam.
To use python3, you need to update/add in site-config.jam or user-config.jam.Code Block # Python configuration #using python # : # version # : # cmd-or-prefix # : # includes # : # libraries # : # condition # ; using python : 3.5 : python3 : <path/to/python3/exe> ;
- To disable ecflow python api. "export ECF_NO_PYTHON=1"
We now need to build ecFlow. Currently ecflowview/GUI is only built if environment variable of name ARCH is set to linux:
Code Block language bash cd $WK bjam variant=release
On some systems like fedora/redhat you may run into compiler errors which complain about the template depth being exceeded. In this case compile using:Code Block language bash cd $WK bjam c++-template-depth=512 variant=release # using boost 1.53 with gcc 4.8, will have excessive warnings. To prune these warnings use bjam c++-template-depth=512 cxxflags=-Wno-unused-local-typedefs variant=release
If you have a multi-core machine, you can speed up the build using, the -j<n> option. Where ‘n’ is an integer, of the number of cores.Code Block language applescript CPUS=$(lscpu -p | grep -v '#' | wc -l) bjam variant=release -j${CPUS)
- Once ecFlow is built it can be installed. NOTE, if you used c++-template-depth=512 || cxxflags=-Wno-unused-local-typedefs, use it again for the next step.
Code Block language bash bjam variant=release install-all
This will create directories:
Code Block <ECFLOW_INSTALL_DIR>/bin <ECFLOW_INSTALL_DIR>/lib <ECFLOW_INSTALL_DIR>/doc <ECFLOW_INSTALL_DIR>/share <ECFLOW_PYTHON_INSTALL_DIR>
Depending on your umask setting you may need to call chmod 755 on the executables
- To use the ecFlow Python Api , you need to add/change PYTHONPATH .
Code Block language bash export PYTHONPATH=$PYTHONPATH:$ECFLOW_PYTHON_INSTALL_DIR
...