Skip to content

Repository Contents

tstaig edited this page Dec 8, 2014 · 25 revisions

Top-level modules

https://github.com/ACS-Community/ACS

  • Benchmark: ACS Benchmarking suite and tests
  • Documents: Documentation tree
  • ExtProd: External products and patches, prerequisite for building ACS
  • LGPL: Core ACS packages released under LGPL license
  • RPM: packaging tools and scripts to generate an ACS distribution based on RPM

Additionally these two files are relevant to identify an ACS release:

  • ACS_VERSION: The current ACS version
  • ACS_PATH_LEVEL: The current ACS patch level

Checking out ACS

~ $  git clone git@github.com:ACS-Community/ACS.git

Further git references and conversion from/to other SCMs are available [here](Git User Guide).

Branches

New development and patches are always applied to the master, while every ACS release is split off into a separate branch.

Building ACS

ACS can be built in Red Hat Enterpise Linux 5.X or 6.X, 32-bit or 64-bit (also works on CentOS and Scientific Linux). In RHEL 6.X mico ORB, which is part of the external products, will fail, this is expected and should not affect the rest of the installation.

To build ACS, it is required the installation of the development tools package set, plus the following packages:

  • ksh
  • blas-devel
  • expat-devel
  • jdk-1.7.0 rpm downloaded from oracle
  • gcc
  • gcc-g++
  • make
  • byacc
  • gcc-fortran
  • patch
  • vim
  • vs
  • subversion
  • openssh
  • git
  • libX11-devel
  • libncurses-devel
  • libncursesw-devel
  • readline
  • libgdbm-devel
  • libbz2-devel
  • zlib-devel
  • libsqllite3-devel
  • openssl-devel
  • gdbm
  • libdb4.5-devel
  • openldap-devel
  • libfreetype-devel
  • libpng12-devel
  • libxml2-devel
  • libxslt-devel
  • sunrpc
  • gsl-devel
  • flex
  • xemacs
  • xemacs-sumo
  • doxygen
  • autoconf2.1
  • autoconf
  • mintty
  • bc
  • util-linux
  • unzip
  • time

Please consider that the names may vary depending on the OS used. The following packages are needed once ACS has been installed:

  • procmail

The following are the steps to build ACS:

  1. Create the alma directory mkdir /alma/ and change the ownership to the user who will build ACS chown -R <user> /alma
  2. Source the ACS bash profile source ACS/LGPL/acsBUILD/config/.acs/.bash_profile.acs
  3. Download the external products cd ACS/ExtProd/PRODUCTS; ./download-products.sh
  4. Build the external products cd ACS/ExtProd/INSTALL; ./buildTools
  5. Export the following environment variables: export MAKE_NOSTATIC=yes; export MAKE_NOIFR_CHECK=on
  6. Build ACS cd ACS; make

It is possible to use multiple CPUs when ACS is being built. To do that the MAKE_PARS environment variable has to be exported and it should contain the make parameters to be used in the build. For example if your machine has 4 cores available, you can use: MAKE_PARS=" -j 4 " make in the top level ACS directory

Running ACS for the first time

After ACS is installed it is require to check that the /etc/hosts file has been properly configured, otherwise ACS may not be able to start. The first entry on the /etc/hosts file will be used as the network interface used for ACS network communications, this interface can be the local loopback. The important thing here is that the short and the fully qualified network name have to be mapped to a network address.

For example, if the machine used to run acs is called acsvm, its domain is localdomain, and its network adapter has the address 10.0.0.100. If it is desired to use the local network adapter, then the /etc/hosts has to look like:

10.0.0.100  acsvm acsvm.localdomain
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 

In the case the local loopback wants to be used (no communications outside the local machine), then the /etc/hosts file should look like

127.0.0.1   acsvm acsvm.localdomain localhost localhost.localdomain localhost4 localhost4.localdomain4 

Code Examples

Implementation language specific code examples are available as follows:

Documentation

General ACS documents are available in Documents.

Clone this wiki locally