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.

Docker Image Installation

The following installation instructions are recommended for deployment on a laptop or workstation.

Building the Images

DALiuGE is available from the ICRAR github repo. There are three packages:

  • daliuge-common – the base image containing the basic DALiuGE libraries and dependencies.

  • daliuge-translator – the DALiuGE translator, built on top of the base image. This converts Logical Graphs into Physical Graphs.

  • daliuge-engine – the DALiuGE execution engine, built on top of the base image.

cd <install dir>
git clone
cd daliuge/daliuge-common; ./ dev
cd ../daliuge-translator; ./ dev
cd ../daliuge-engine; ./ dev

In JACAL, the standard daliuge-engine is replaced with a JACAL version that is based on both the DALiuGE base image and the Yandasoft image.

cd <install dir>
git clone
cd ska-sdp-jacal; ./ jacal

EAGLE is a web-based visual workspace for generating Logical Graphs.

cd <install dir>
git clone
cd EAGLE; ./ dev

Running the Images

Now that the images have been built, they need to be run. After this they can be graphed and deployed via EAGLE.

cd <install dir>
cd daliuge/daliuge-translator; ./ dev
cd <install dir>
cd ska-sdp-jacal; ./ jacal
cd <install dir>
cd EAGLE; ./ dev

Bare-metal Installation


For most use cases the docker installation described above is recommended.


See DALiuGE documentation for up-to-date installation and usage information.


See Yandasoft documentation for up-to-date installation and usage information. Note that Yandasoft has a list of dependencies on its own, including casacore, wcslib, cfitsio, fftw, boost, log4cxx and gsl.


Once DALiuGE and Yandasoft are installed, JACAL itself can be built. JACAL uses the CMake build system, hence the build instructions are those one would expect:

cd <install dir>
git clone
cd ska-sdp-jacal
mkdir build
cd build
cmake ..

This process should generate a shared library which one can use within DALiuGE’s DynlibApp components. Stand-alone executables are also produced under test, which are used for testing the code outside the context of DALiuGE.