/gnutools-roll

Triton gnu roll

Primary LanguageMakefile

SDSC "gnutools" roll

Overview

This roll bundles a number of GNU tools into a single Rocks(r) roll and provides a Modules interface to allow loading of the tool paths into the user environment.

For more information about the various packages included in the gnutools roll please visit their official web pages:

GNU Tools

  • GNU Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages.
  • GNU Automake is a tool for automatically generating Makefile.in files compliant with the GNU Coding Standards. Automake requires the use of Autoconf.
  • GNU Binutils are a collection of binary tools.
  • GNU GDB the GNU Project debugger, allows you to see what is going on inside another program while it executes -- or what another program was doing at the moment it crashed.
  • GNU Libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
  • GNU parallel is a shell tool for executing jobs in parallel using one or more computers.
  • GNU Texinfo is the official documentation format of the GNU project.
  • GNU libunistring provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.

Other Tools

  • libffi provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run-time.
  • gnutools is a portable command-line driven graphing utility.

Requirements

To build/install this roll you must have root access to a Rocks development machine (e.g., a frontend or development appliance).

If your Rocks development machine does not have Internet access you must download the appropriate gnu source file(s) using a machine that does have Internet access and copy them into the src/<package> directories on your Rocks development machine.

Dependencies

yum install texinfo

The sdsc-roll must be installed on the build machine, since the build process depends on make include files provided by that roll.

The roll sources assume that modulefiles provided by SDSC compiler rolls are available, but it will build without them as long as the environment variables they provide are otherwise defined.

Building

To build the gnutools-roll, execute this on a Rocks development machine (e.g., a frontend or development appliance):

% make 2>&1 | tee build.log

A successful build will create the file gnutools-*.disk1.iso. If you built the roll on a Rocks frontend, proceed to the installation step. If you built the roll on a Rocks development appliance, you need to copy the roll to your Rocks frontend before continuing with installation.

If a "gnu" environment module is available on the system, the roll loads it before building each software package.

Installation

To install, execute these instructions on a Rocks frontend:

% rocks add roll *.iso
% rocks enable roll gnutools
% cd /export/rocks/install
% rocks create distro

Subsequent installs of compute and login nodes will then include the contents of the gnutools-roll. To avoid cluttering the cluster frontend with unused software, the gnutools-roll is configured to install only on compute and login nodes. To force installation on your frontend, run this command after adding the gnutools-roll to your distro

% rocks run roll gnutools host=NAME | bash

where NAME is the DNS name of a compute or login node in your cluster.

In addition to the software itself, the roll installs gnutools environment module files in:

/opt/modulefiles/applications/gnutools

Testing

The gnutools-roll includes a test script which can be run to verify proper installation of the roll documentation, binaries and module files. To run the test scripts execute the following command(s):

% /root/rolltests/gnutools.t