Wrapper INSTALLATION NOTES

Contents

1  Import Changes

2  Software Packages Used by Wrapper

2.1  Building of 3rd party packages

The pkgbuilder building tool is now employed to greatly simplify the installation of third party packages. The environment variable LDASTOPSRCDIR must be set to use the rules given below. The value of this environment variable should be set to the fully qualified path of the top level directory of the LDAS source tree.
Before any of the packages can be installed, a directory of "/ldcg" must be created with read/write permissions for the user installing the software and read permissions for all other users. Although this directory is anchored at the root directory, it can reside anywhere there is sufficient space and have a symbolic link from there to "/ldcg." This needs to be added to the PATH and LD_LIBRARY_PATH environment variables. To set this variable for bourne shell and its derivitives use "PATH=/ldcg/bin:${PATH}; export PATH". For C shell and its derivities use "setenv PATH /ldcg/bin:${PATH}". Also for C shell and derivitives the rehash command will be need to be executed after each package installation. To set this variable for bourne shell and its derivitives use "LD_LIBRARY_PATH=/ldcg/lib:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH". For C shell and its derivities use "setenv LD_LIBRARY_PATH /ldcg/lib:${LD_LIBRARY_PATH}".
It is required to use stow. Please review the section dedicated to stow and install this package first.
The table below describes which packages are are needed for various configurations of LDAS. The columns "Solaris 10" and "CentOS 5.2/Intel" describe the operating system on which the LDAS software is to be compiled and run. The sub-column CVS stands for building of the LDAS system from the source in the CVS archive. The sub-column Tar-Ball stands for building of the LDAS system from a tar-ball distribution (ldas-x.x.x.tar.gz). The three field values are "Required", "Optional", and "RPM". A field value of "Required" means the package must be built. A field value of "Optional" means the package does not need to be built. A field value of "RPM" means that the package is required and can either be built from its sources or the RPM from RedHat may be used.
Software Packages used by Wrapper
Package OS Distribution Requiremnts
stow 1.3.3 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
pkgbuilder 0.11.0 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
zlib 1.1.4 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS RPM
Tarball RPM
BZip2 1.0.2 Solaris 10 CVS OS Supplied
Tarball OS Supplied
CentOS 5.2 CVS RPM (bzip2-devel-1.0.2-16 bzip2-libs-1.0.2-16 bzip2-1.0.2-16)
Tarball RPM (bzip2-devel-1.0.2-16 bzip2-libs-1.0.2-16 bzip2-1.0.2-16)
tar 1.15.1 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
patch Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
binutils Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
gcc Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
coreutils Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
make 3.79.1 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
m4 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
autoconf Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
automake Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
libtool Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
bison Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
flex Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
lam Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
tcl Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
swig Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
ospace Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required
gsl Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.2  stow 1.3.3

2.2.1  Description

GNU Stow is a program for managing the installation of software packages, keeping them separate (/usr/local/stow/emacs vs. /usr/local/stow/perl, for example) while making them appear to be installed in the same place (/usr/local). Stow is a Perl script which should run correctly under Perl 5.005 and above. You must install Perl before running Stow. Stow was inspired by Carnegie Mellon's Depot program, but is substantially simpler.

2.2.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/stow/
Download
ftp://ftp.gnu.org/gnu//stow/stow-1.3.3.tar.gz
Mirror
LDAS Patch

2.2.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
stow 1.3.3 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.2.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:stow

2.3  pkgbuilder 0.11.0

2.3.1  Description

Pkgbuilder is a utility designed to automate the process of building third party packages.

2.3.2  Links

Link DescriptionLink
Home Page
http://ldas-sw.ligo.caltech.edu/packages/pkgbuilder-0.11.0.tar.gz
Download
http://ldas-sw.ligo.caltech.edu/packages/pkgbuilder-0.11.0.tar.gz
Mirror
LDAS Patch

2.3.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
pkgbuilder 0.11.0 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.3.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

./configure -prefix=/ldcg
make bootstrap

2.4  zlib 1.1.4

2.4.1  Description

Zlib is designed to be a free, general-purpose, legally unencumbered, lossless data-compression library for use on virtually any computer hardware and operating system. The zlib data format is itself portable across platforms. Unlike the LZW compression method used in Unix compress(1), the compression method currently used in zlib essentially never expands the data. (LZW can double or triple the file size in extreme cases.) zlib's memory footprint is also independent of the input data and can be reduced, if necessary, at some cost in compression.

2.4.2  Links

Link DescriptionLink
Home Pagehttp://www.gzip.org/zlib/

2.4.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
zlib 1.1.4 Solaris 10 CVS OS Supplied
Tarball OS Supplied
CentOS 5.2 CVS RPM (zlib-devel-1.2.2.2-5.fc4 zlib-1.2.2.2-5.fc4)
Tarball RPM (zlib-devel-1.2.2.2-5.fc4 zlib-1.2.2.2-5.fc4)

2.4.4  Build Instructions

This package should already be installed on your system.
For Red Hat Linux verify with:
rpm -qa | grep zlib
You should get a list of packages as referenced in the RPM list above.
For Solaris, check for the existance of the following files:
If you have an incomplete installation, please contact your system administrator as this package require system privileges to install.

2.5  BZip2 1.0.2

2.5.1  Description

bzip2 is a freely available, patent free, high-quality data compressor. It typically compresses files to within 10 percent to 15 percent of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.

2.5.2  Links

Link DescriptionLink
Home Pagehttp://sources.redhat.com/bzip2/

2.5.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
BZip2 1.0.2 Solaris 10 CVS OS Supplied
Tarball OS Supplied
CentOS 5.2 CVS RPM (bzip2-devel-1.0.2-16 bzip2-libs-1.0.2-16 bzip2-1.0.2-16)
Tarball RPM (bzip2-devel-1.0.2-16 bzip2-libs-1.0.2-16 bzip2-1.0.2-16)

2.5.4  Build Instructions

This package should already be installed on your system.
For Red Hat Linux verify with:
rpm -qa | grep bzip2
You should get a list of packages as referenced in the RPM list.
For Solaris, check for the existance of the following files:
If you have an incomplete installation, please contact your system administrator as this package require system privileges to install.

2.6  tar 1.15.1

2.6.1  Description

GNU `tar' saves many files together into a single tape or disk archive, and can restore individual files from the archive. It includes multivolume support, the ability to archive sparse files, automatic archive compression/decompression, remote archives and special features that allow `tar' to be used for incremental and full backups. It also includes `rmt', the remote tape server (the `mt' tape drive control program is in GNU `cpio').

2.6.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/tar/tar.html
Download
ftp://ftp.gnu.org/gnu//tar/tar-1.15.1.tar.gz
Mirror
LDAS Patch

2.6.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
tar 1.15.1 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.6.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:tar

2.7  patch

2.7.1  Description

patch takes a patch file containing a difference listing produced by the diff program and applies those differences to one or more original files, producing patched versions. Normally the patched versions are put in place of the originals. Backups can be made.

2.7.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/patch/patch.html
Download
ftp://ftp.gnu.org/gnu//patch/patch-.tar.gz
Mirror
LDAS Patch

2.7.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
patch Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.7.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:patch

2.8  binutils

2.8.1  Description

GNU binutils work mostly behind the scenes of Linux development, largely because GNU make and the GCC frontend does so many things automatically. Utilities include: ld as nm objdump objcopy nm ar ranlib strip c++filt size addr2line and dlltool.

2.8.2  Links

Link DescriptionLink
Home Page
http://sources.redhat.com/binutils/
Download
ftp://ftp.gnu.org/gnu//binutils/binutils-.tar.gz
Mirror
LDAS Patch

2.8.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
binutils Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.8.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:binutils

2.9  gcc

2.9.1  Description

The GNU Compiler Collection contains frontends for C, C++, Objective-C, Fortran, Java, and Ada as well as libraries for these languages. It is a full-featured ANSI C compiler with support for K&R C as well. GCC provides many levels of source code error checking traditionally provided by other tools (such as lint), produces debugging information, and can perform many different optimizations to the resulting object code.

2.9.2  Links

Link DescriptionLink
Home Page
http://gcc.gnu.org
Download
ftp://gcc.gnu.org/pub/gcc/releases/gcc-/gcc-.tar.bz2
Mirror
ftp://ftp.gnu.org/gnu//gcc/gcc-/gcc-.tar.bz2
LDAS Patch

2.9.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
gcc Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.9.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:gcc

2.10  GNU Coreutils

2.10.1  Description

GNU Coreutils are a set of basic file, shell, and text manipulation utilities for the GNU operating system that are expected to exist on every operating system. Previously, they were offered as three individual packages: fileutils, sh-utils, and textutils.

2.10.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/coreutils/
Download
http://mirrors.usc.edu/pub/gnu/coreutils/coreutils-.tar.gz
Mirror
ftp://ftp.gnu.org/gnu/coreutils/coreutils-.tar.gz
LDAS Patch

2.10.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
GNU Coreutils Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.10.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:coreutils

2.11  make 3.79.1

2.11.1  Description

GNU Make examines the timestamps on a set of interdependent files, and, if necessary, issues commands to bring them up-to-date. The user creates a makefile describing the files, their relationships, and the commands to run. Most often make is used to rebuild libraries and programs when their sources are changed, but it can be used for any situation where one set of files needs to be generated from another set.

2.11.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/make/make.html
Download
ftp://ftp.gnu.org/gnu//make/make-3.79.1.tar.gz
Mirror
LDAS Patch

2.11.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
make 3.79.1 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.11.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:make

2.12  m4

2.12.1  Description

GNU m4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible, although it has some extensions (for example, handling more than 9 positional parameters to macros). GNU m4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.

2.12.2  Links

Link DescriptionLink
Home Page
http://www.seindal.dk/rene/gnu/
Download
ftp://ftp.gnu.org/gnu//m4/m4-.tar.bz2
Mirror
LDAS Patch

2.12.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
m4 Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.12.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:m4

2.13  autoconf

2.13.1  Description

Autoconf is an extensible package of m4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the package to many kinds of UNIX-like systems without manual user intervention.

2.13.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/autoconf/
Download
ftp://ftp.gnu.org/gnu//autoconf/autoconf-.tar.bz2
Mirror
LDAS Patch

2.13.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
autoconf Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.13.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:autoconf

2.14  automake

2.14.1  Description

Automake is a tool for automatically generating Makefiles compliant with the GNU Coding Standards. It was inspired by the 4.4BSD make and include files, but aims to be portable and to conform to the GNU standards for Makefile variables and targets. Automake is a Perl script. The input files are called Makefile.am. The output files are called Makefile.in; They are intended for use with Autoconf. Automake requires certain things to be done in your configure.in. This package also includes the äclocal" program. aclocal is a program to generate an 'aclocal.m4' based on the contents of 'configure.in'. It is useful as an extensible, maintainable mechanism for augmenting autoconf.

2.14.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/automake/automake.html
Download
ftp://ftp.gnu.org/gnu//automake/automake-.tar.bz2
Mirror
LDAS Patch

2.14.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
automake Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.14.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:automake

2.15  libtool

2.15.1  Description

GNU libtool is a generic library support script. Libtool hides the complexity of using shared and static libraries behind a consistent, portable interface. Libtool supports building static libraries on all platforms.

2.15.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/libtool/
Download
ftp://ftp.gnu.org/gnu//libtool/libtool-.tar.gz
Mirror
LDAS Patch

2.15.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
libtool Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.15.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:libtool

2.16  bison

2.16.1  Description

Bison is a parser generator in the style of yacc(1). It should be upwardly compatible with input files designed for yacc.

2.16.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/bison/bison.html
Download
ftp://ftp.gnu.org/gnu//bison/bison-.tar.gz
Mirror
LDAS Patch

2.16.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
bison Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.16.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:bison

2.17  flex

2.17.1  Description

Flex is a fast lexical analyser generator. It is a tool for generating programs that perform pattern-matching on text. There are many applications for Flex, including writing compilers in conjunction with GNU Bison. Flex is a free implementation of the well known Lex program. It features a Lex compatibility mode, and also provides several new features such as exclusive start conditions.

2.17.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/flex/flex.html
Download
http://easynews.dl.sourceforge.net/sourceforge/flex/flex-.tar.bz2
Mirror
LDAS Patch

2.17.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
flex Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.17.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:flex

2.18  lam

2.18.1  Description

LAM/MPI is an implementation of the Message Passing Interface (MPI) parallel standard that is especially friendly to clusters. It includes a persistent run-time environment for parallel programs, support for all of MPI-1 (except MPI_Canceling sent messages), and a good chunk of MPI-2, such as spawn, one-way communication, C++ bindings, and MPI-IO. LAM/MPI 6.4.x includes support for Interoperable MPI (IMPI).

2.18.2  Links

Link DescriptionLink
Home Page
http://www.lam-mpi.org/
Download
http://www.lam-mpi.org/download/files/lam-.tar.gz
Mirror
http://ldas-sw.ligo.caltech.edu/packages/lam-.tar.gz
LDAS Patch

2.18.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
lam Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.18.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:lam

2.19  tcl

2.19.1  Description

Tcl provides a portable scripting environment for Unix, Windows, and Macintosh that supports string processing and pattern matching, native file system access, shell-like control over other programs, TCP/IP networking, timers, and event-driven I/O. Tcl has traditional programming constructs like variables, loops, procedures, namespaces, error handling, script packages, and dynamic loading of DLLs.

2.19.2  Links

Link DescriptionLink
Home Page
http://tcl.activestate.com/
Download
http://easynews.dl.sourceforge.net/sourceforge/tcl/tcl-src.tar.gz
Mirror
ftp://tcl.activestate.com/pub/tcl/tcl8_3/tcl-src.tar.gz
LDAS Patch

2.19.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
tcl Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.19.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:tcl

2.20  swig

2.20.1  Description

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as Java, OCAML and C#. Also several interpreted and compiled Scheme implementations (Guile, MzScheme, Chicken) are supported. SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG can also export its parse tree in the form of XML and Lisp s-expressions.

2.20.2  Links

Link DescriptionLink
Home Page
http://www.swig.org
Download
http://easynews.dl.sourceforge.net/sourceforge/swig/swig-.tar.gz
Mirror
LDAS Patch

2.20.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
swig Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.20.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:swig

2.21  ospace

2.21.1  Description

Object Space

2.21.2  Links

Link DescriptionLink
Home Page
Download
http://ldas-sw.ligo.caltech.edu/packages/ObjectSpace-sunos.tar.gz
Mirror
LDAS Patch

2.21.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
ospace Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.21.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:ospace

2.22  gsl

2.22.1  Description

The GNU Scientific Library (GSL) is a collection of routines for numerical computing. The routines are written from scratch by the GSL team in ANSI C, and present a modern API for C programmers, while allowing wrappers to be written for very high-level languages.

2.22.2  Links

Link DescriptionLink
Home Page
http://www.gnu.org/software/gsl/gsl.html
Download
ftp://ftp.gnu.org/gnu//gsl/gsl-.tar.gz
Mirror
LDAS Patch

2.22.3  Build Requirements

Software Package used by Wrapper
Package OS Distribution Requiremnts
gsl Solaris 10 CVS Required
Tarball Required
CentOS 5.2 CVS Required
Tarball Required

2.22.4  Build Instructions


#
# Please review section 2.1 of this document titled
# "Building of 3rd party packages" on how to correctly
# set the environment variables used here
#

pkgbuilder ${LDASTOPSRCDIR}/doc/utilities/ldas:gsl

3  Retrieving the Source Code

3.1  The Entire System

When building the entire system, there are two methods of obtaining the source code. The first is by ftping the tar-ball and the second is by CVS. The tar-ball distribution is the preferred method as this is a known stable version of the software. The CVS version is best for developers and others who need the latest developmental version of the Wrapper software.

3.1.1  Tar-ball distribution

With the tar-ball distribution, all of the source code is contained in one large tar archive that has been compress with GNU zip. Use the command "gzip -dc wrapper-1.16.3.tar.gz - tar xf -" to extract the sources. This will create a subdirectory wrapper-1.16.3. The latest version can be obtained from http://ldas-sw.ligo.caltech.edu/packages/wrapper-1.16.3.tar.gz.

3.1.2  CVS distribution

The CVS repository is available via the web. It is a good way to browse the code and look for changes that may have affected the system in an adverse way. The location is https://ldas-sw.ligo.caltech.edu/cgi-bin/gnatsweb.cgi.
To retrieve sources from CVS you must have access to the CVS repository. If you do not already have access and feel that you need access, please contact Kent Blackburn or Albert Lazzarini with your request.
There are two flags. The "-D<DATE>" flag retrieves the most recent revision of the file that is no later than <DATE>. The date format is versatile and supports most any format of dates. Please see the man or info page for CVS for a complete description. The reserved <DATE> of "now" can be used to retrieve the latest version of the source code.
The "-r<TAG>" flag retrieves files belonging to the specified <TAG>. These tags have several variations to support different efforts. The most common is "ldas-<major_version>_<minor_version>_<patch_version>". These represent the official releases of the Wrapper software. The reserved <TAG> "HEAD" may be used to retrieve the latest version of the source code.
In all the commands listed below, it is assumed the most recent version of the software is desired. If not, please substitute "-rHEAD" with the appropriate flag as described above.

3.1.3  Retrieving the Relevant Pieces

To work with the most recent version of the LDAS software, follow the instructions below.
cvs login
cvs export -rHEAD -l ldas
cvs export -rHEAD -l ldas/lib
cvs export -rHEAD ldas/lib/perceps
cvs export -rHEAD ldas/lib/general
cvs export -rHEAD ldas/lib/ilwd
cvs export -rHEAD ldas/lib/dbaccess
cvs export -rHEAD -l ldas/api
cvs export -rHEAD ldas/api/wrapperAPI
cvs export -rHEAD ldas/api/genericAPI
cvs export -rHEAD ldas/api/test
cvs export -rHEAD ldas/dbms

4  Building the Source

4.1  Default configuration

The Wrapper script "wrapper-1.16.3/build-ldas" (or "ldas/build-ldas " if building from CVS) will examine the system, configure the software, and build all libraries and APIs. Currently the only supported operating systems are Solaris 10 and CentOS 5.2.

4.2  Custom configuration

There are many options to wrapper-1.16.3/build-ldas to modify its default behavior. wrapper-1.16.3/build-ldas takes options starting with two hyphens (--) as options that need to be passed to configure. Options that start with a single hyphen (-) are options interpreted only by wrapper-1.16.3/build-ldas.
Of special note is the building of the metadataAPI. It is not necessary to build this API unless needing to interact with a database. The LDAS system uses DB2 under Solaris. On other systems, the iODBC library can be linked against to produce the shared object. The other option, which is cleaner, is the disabling of the building of the metadataAPI shared object. This is achieved by the --enable-metadata-api=no flag. See below.

4.2.1  wrapper-1.16.3/build-ldas Options

Option NameDescription
-helpPrint help message and then exit
-config-onlyDo all steps up to and including configuration
-forceDon't stop make on errors
-installPerform the installation step.
-no-stowDon't use stow's installation paradigm.
-mail[=ADDR]Mail know warning messages and known error messages. If ADDR is specified it is used, else the mail is sent to the invoking user.
-parallel[=NUM]Make use of parallel make. If NUM is specified, then only spawn NUM subprocesses, else spawn as many as possible.
-tmpdir[=DIR]Specify the location of temporary files. The default value is the current directory.
-distcheckThis option causes the build process to verify the integrity of the build process by first creating a tarball and then running configure, make and make check using the files from the tarball. NOTE: This option will not work if used on a tarball distribution since the tarball distribution cannot make a tarball of itself. It is best to run make check by hand in the buid directory of a tarball distribution to verify the build at the unit level.
-warn-unsupported-compilerThis option allows the user to try compiling with a compiler that has not been certified. It changes the error level of unsupported compiler from fail to warning. If this option is used with a supported compiler, no message is generated.

4.2.2  Configure Options

OptionDescription
--prefix=PREFIXinstall architecture-independent files in PREFIX [/ldas/ldas-0.0]
--enable-metadata-api[=yes]build the metadata API
--disable-tclSpecifically disable all TCL bindings. This was added for building the datacond library package without TCL.
--with-extra-cxxflagsAdditional C++ compiler flags
--with-extra-ldflagsAdditional linker flags
--with-ldflagsReplace linker flags
--with-mountptSpecify frame builder directory
--with-optimization Compiler optimization [extreme - high - medium - low - none]
--enable-inliningforces inlining of code
--with-ospace[=DIR]ObjectSpace directory

4.2.3  wrapper-1.16.3/build-ldas Options - View status of the LDAS build

The options described here should be used after the build-script completes with the compilation of the LDAS software. The will grep the log files and return information about how the compilation completed. If there is a need to examine the full context of messages, the log files are in a subdirectory of the build-ldas script of: "`uname`-`uname -m`/build_logs".
Option NameDescription
-errorsDisplay known error messages in all log files
-errors-makeDisplay known error messages in make log file
-statusDisplay build process currently executing along with directory listing of log files sorted by time last modified
-warningsDisplay known warning message in all log files
-warnings-makeDisplay known warning messages in make log file

4.2.4  Important Configuration Options for Building Standalone

There are several options that should be used when building LDAS for testing standalone wrappers.
The first of these options is -install. With this option the software will be installed according to the --prefix and -no-stow options if there were no errors during the compilation. If this option is not used, the the installer must manually go into the build directory and execute the command make install. NOTE: If the manual approach is used, be sure not to override the value of prefix (ex: make prefix=/tmp install) as the installed system will not operate properly and may not start at all.
The another option is -no-stow. LDAS recommends using stow for all software installed (Read the description of the package for further information). If stow cannot be used, then this option will recalculate the the destination directory purely on the --prefix option specified.

5  Reporting problems

Wrapper uses GNATS for reporting and tracking problem reports. Each major piece of code and each major task has a category. For example, errors that are found in this documentation should be submitted under the category "doc" since it represents a documentation error.

5.1  Accessing GNATS via the Web

https://ldas-sw.ligo.caltech.edu/cgi-bin/gnatsweb.cgi?database=ldas
The above link will bring you to a page explaining levels of severity, levels of priorities, and explain the types of classes. The link at the bottom of the page will bring you into the GNATS system where you will be able to submit and query problem reports.
All users can submit problem and query reports. Only developers can modify problem reports once they have been submitted.

5.1.1  Submitting a new problem report.

Once in the GNATS system, choose "create". This brings up a form which must be filled out.
Does
Don'ts
Once the form has been completely filled out, go to the top or the bottom of the page and select the "submit" button. You will receive e-mail notifying you of your submitted problem report and the id with which it is associate. You will also receive e-mail whenever there is a change to the problem report.

5.1.2  Checking the status of a problem report

There are two ways of checking the status of a problem report. The first is using the "View problem report" option from the GNATs main page. If you have the problem report id, just type in the number and select the "view" button. A page with the full details of the problem report will appear.
The second method allows you to query the GNATS system for problem reports of interest and has two flavors. The simplest is the "Query Problem Reports." Use this method by selecting the "query" button. A web form page will appear. Refine the search by using the drop down selectors and/or using the text widgets. The query is executed after selecting the "submit" button. If you are interested in problem reports that are potentially closed, be sure the "Ignore Closed" button below the "State" field is not selected.
For more advanced queries, select the "advanced query" button. This form allows you to search by time and date and by regular expressions. Again if you are interested in problem reports that are potentially closed, be sure the "Ignore Closed" button in the "State" field is not selected.



File translated from TEX by TTH, version 3.66.
On 4 Nov 2009, 14:00.