Installation¶
Dependencies¶
Jacal has two main dependencies (which in turn might require a lot more):
The DALiuGE execution framework, and
The Yandasoft libraries
Installation for both dependencies is covered below:
DALiuGE¶
DALiuGE is written in python and has publicly available releases in PyPI:
pip install daliuge
Alternatively one can install it directly from its GitHub repository:
pip install git+https://github.com/ICRAR/daliuge
In both cases all dependencies will automatically be built and installed. Most are offered as binary wheels and require no compilation, but some do; hence a compiler will be needed.
Yandasoft¶
Yandasoft is written in C++ and uses the CMake build system for its installation. The source code that makes up Yandasoft is not contained in a single repository but in a few, which can be found here. However, a separate “integrated” repo brings them all together into a single build pass, with options to skip building some of the repositories if one doesn’t need them.
Note
At the moment of writing,
jacal builds against the develop
branch of Yandasoft.
Not all Yandasoft components are required by jacal. Therefore to build Yandasoft in preparation for jacal the following instructions would be required:
git clone https://github.com/rtobar/all_yandasoft
cd all_yandasoft
./git-do clone
mkdir build
cd build
cmake .. -DBUILD_ANALYSIS=OFF -DBUILD_PIPELINE=OFF
make
make install
Note that Yandasoft has a list of dependencies on its own. These include:
casacore and casarest
wcslib
cfitsio
fftw
boost
log4cxx
gsl
These need to be installed before attempting to install Yandasoft, but instructions to do so are outside the scope of this document.
jacal¶
Once all dependencies are installed, jacal itself can be built. jacal uses the CMake build system, hence the build instructions are those one would expect:
git clone https://gitlab.com/ska-telescope/jacal
cd jacal
mkdir build
cd build
cmake ..
make
This process should generate a libjacal.so
shared library
which one can use within DALiuGE’s DynlibApp
components.
Two stand-alone executables are also produced under test
which are used for testing the code outside the context of DALiuGE.