Getting Started - acquaman/acquaman GitHub Wiki

This page details the procedure required for obtaining the source for Acquaman, as well as the required dependencies and configuring the build environment.

Obtain the Acquaman Project(s) code

  • Create a directory which will eventually contain the three acquaman projects (for the rest of this guide we will refer to this as PROJECT_ROOT):
    mkdir PROJECT_ROOT

  • Navigate to the created directory:
    cd PROJECT_ROOT

  • Clone the acquaman repository (HTTPS is recommended):
    git clone https://github.com/acquaman/acquaman.git

  • Clone the MPlot repository (HTTPS is recommended):
    git clone https://github.com/acquaman/MPlot.git

  • Clone the AcquamanDataServer repository (HTTPS is recommended):
    git clone https://github.com/acquaman/AcquamanDataServer.git

Obtain the Dependencies (Linux)

NOTE 1: For SL5.4 at the cls these steps can be skipped. The dependencies are already pre-installed on OPI machines.
NOTE 2: The paradigm for where to place the manually built libraries is generally in PROJECT_ROOT/acquaman/contrib/... For example the GSL library might live in PROJECT_ROOT/acquaman/contrib/GSL. This is not strictly enforced and can be configured.

The following libraries are required:

  • qt4.7
  • libncurses5-dev
  • libreadline6-dev
  • libxml++2.6-dev
  • libqt4-opengl-dev
  • libssl-dev
  • GSL
  • CDF
  • EPICS

Qt4.7, ncurses5, readline6, xml++2.6 qt4-opengl and ssl-dev are available as standard for most distributions. Check your distro's package manager.

GSL (GNU Scientific Library)

  • Create a directory in which the GSL library will live (for the rest of this guide we will refer to this as GSL_INSTALL):
    mkdir GSL_INSTALL

  • Create a directory in which the GSL build will take place (for the rest of this guide we will refer to this as GSL_BUILD):
    mkdir GSL_BUILD

  • Navigate to the build directory:
    cd GSL_BUILD

  • Download GSL:
    wget http://mirror.csclub.uwaterloo.ca/gnu/gsl/gsl-1.14.tar.gz

  • Extract the downloaded package:
    tar -zxvf gsl-1.14.tar.gz -C .

  • Configure the GSL build:
    ./configure --disable-shared --prefix=GSL_INSTALL

  • Make:
    make

  • Install:
    make install

CDF (NASA Common Data Format)

  • Create a directory in which the CDF library will live (for the rest of this guide we will refer to this as CDF_INSTALL):
    mkdir CDF_INSTALL

  • Navigate to the created directory:
    cd CDF_INSTALL

  • Download the CDF source:
    wget http://cdaweb.gsfc.nasa.gov/pub/software/cdf/dist/obsolete/cdf34_1/linux/cdf34_1-dist-cdf.tar.gz

  • Extract the CDF source:
    tar -zxvf cdf34_1-dist-cdf.tar.gz -C .

  • Make:
    make OS=linux ENV=gnu all

  • Make Install:
    make install

EPICS

  • Create a directory in which the EPICS library will live (for the rest of this guide we will refer to this as EPICS_INSTALL):
    mkdir EPICS_INSTALL

  • Download the EPICS source:
    wget http://www.aps.anl.gov/epics/download/base/baseR3.14.12.tar.gz

  • Extract the EPICS source:
    tar -zxvf baseR3.14.12.2.tar.gz -C .

  • Set the target architecture for the build:
    export EPICS_HOST_ARCH=linux-x86_64

  • Make:
    make

Configuring the Build Environment

By default Acquaman is configured for the build environment which comes pre-installed on the CLS OPI machines. If not installing on one of these machines a user configuration file must be created. See Creating a User Build Configuration for more details.

Performing first build

The build order of the Acquaman projects is important, notably that MPlot be compiled before either acquaman or the AcquamanDataServer.