39
IDC/SA June 2011 English only National Data Centre Software Installation Plan (Waveform Components) This document defines the installation plan for the waveform components of the National Data Centre (NDC) software. The installation plan lists the sites where the software is to be installed. It defines the pre-requisites for installation in terms of hardware, software and security. It also describes the roles required to perform the installation including the skills and experience needed for each role. Finally, it describes the installation process including backup, installation, acceptance testing, rollback procedures and reporting. Summary The National Data Centre (NDC) software consists of a number of software components which provide functionality for working with waveform data as specified in the IDC Operational Manual (CTBTO, 2002). The software is under active development, and will be updated and expanded in the future.

National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA June 2011

English only

National Data Centre Software Installation Plan

(Waveform Components)

This document defines the installation plan for the waveform components of the National Data Centre (NDC) software. The installation plan lists the sites where the software is to be installed. It defines the pre-requisites for installation in terms of hardware, software and security. It also describes the roles required to perform the installation including the skills and experience needed for each role. Finally, it describes the installation process including backup, installation, acceptance testing, rollback procedures and reporting.

Summary

The National Data Centre (NDC) software consists of a number of software components which provide functionality for working with waveform data as specified in the IDC Operational Manual (CTBTO, 2002). The software is under active development, and will be updated and expanded in the future.

Page 2: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 2

Document history

Version Date Author Description

0.1 04 October 2005 John Coyne Initial draft

0.2 21 November 2005 Stephen Lloyd Added Gbase ‘--enable-shared=no’

0.3 23 December 2005 Stephen Lloyd Reflected changes to gbase/cdtools libraries

1.0 03 February 2006 Stephen Lloyd Fixed errors found by services

1.1 14 February 2006 Stephen Lloyd Fixed error in library paths

1.2 09 May 2006 Gordana Korolija Added idc-tables-min

1.3

1.4

1.5

1.6

1.7

1.8

29 January 2008

13 November 2008

08 March 2010

10 June 2010

01 February 2011

01 June 2011

Vera Miljanovic

Vera Miljanovic

Vera Miljanovic

Vera Miljanovic

Vera Miljanovic

Vera Miljanovic

Updated version #s, added GSL reference, and waveform aspect of the software

Updated dependencies, version #s, added GNU autotools Updated version #s, added Readline reference and how to compile on Fedora, Ubuntu, openSUSE and Mac OS X

Added how to compile on CentOS

Updated version #s, dependency graphs, added cbase, libCD and new installation procedure

Updated installation procedure and example installation

session

Page 3: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 3

Contents

Document history ....................................................................................................................... 2

Contents ...................................................................................................................................... 3

Table of tables ............................................................................................................................ 4

Table of figures .......................................................................................................................... 4

1. Scope .................................................................................................................................. 5

1.1. Identification ................................................................................................................ 5 1.2. System overview .......................................................................................................... 5 1.3. Document overview ..................................................................................................... 6

2. Requirements and Constraints ............................................................................................ 6 2.1. Installation environment .............................................................................................. 6

2.1.1. Installation sites .................................................................................................. 6 2.1.2. Hardware environment ....................................................................................... 6 2.1.3. Software environment ........................................................................................ 7

2.2. Installation constraints ................................................................................................. 7 2.3. Security and privacy constraints .................................................................................. 7 2.4. Risk management ......................................................................................................... 8

2.4.1. Identifier continuity – global.lastid table ........................................................... 8

2.4.2. Local static tables ............................................................................................... 8 2.4.3. Local velocity model .......................................................................................... 8

3. Roles and Responsibilities .................................................................................................. 8 3.1. Deployment manager ................................................................................................... 8 3.2. System administrator ................................................................................................... 9

4. Installation Process ........................................................................................................... 10 4.1. Package dependencies ............................................................................................... 10

4.1.1. CD Tools dependencies .................................................................................... 10 Geotool ............................................................................................................................. 11

5. Installation Process ........................................................................................................... 12 5.1. Pre-installation procedures ........................................................................................ 12

5.1.1. OpenLDAP ....................................................................................................... 13 5.1.2. OpenSSL .......................................................................................................... 13 5.1.3. NetCDF ............................................................................................................ 14 5.1.4. ODBC ............................................................................................................... 14 5.1.5. Zlib ................................................................................................................... 18 5.1.6. X Windows installation .................................................................................... 18 5.1.7. Motif installation .............................................................................................. 19 5.1.8. OpenGL installation ......................................................................................... 19 5.1.9. GSL installation ................................................................................................ 20 5.1.10. Readline installation ......................................................................................... 21

5.2. NDC software installation procedures ....................................................................... 21 5.2.1. Obtain source files ............................................................................................ 21 5.2.2. Configure software for compilation ................................................................. 22

5.2.3. Compile the source code .................................................................................. 25 5.2.4. Install application ............................................................................................. 25

5.3. Post-installation procedures ....................................................................................... 26 5.3.1. Cleanup unnecessary files ................................................................................ 26

5.4. Installation testing ...................................................................................................... 26 5.4.1. Success criteria ................................................................................................. 26 5.4.2. Installation checklist ......................................................................................... 27

Page 4: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 4

5.5. Rollback procedures .................................................................................................. 27 Appendix I Example installation session ............................................................................ 28

APPENDIX II ........................................................................................................................... 30

Trouble shooting installation problems .................................................................................... 30 Running ‘make’ before ‘configure’ ...................................................................................... 30 Running ‘make install’ before ‘configure’ ........................................................................... 30 Touched files trigger ‘automake’ ......................................................................................... 30

APPENDIX III ......................................................................................................................... 31

GNU Autotools ......................................................................................................................... 31

GNU Autoconf ................................................................................................................. 31 GNU Automake ................................................................................................................ 31 GNU Libtool ..................................................................................................................... 31

APPENDIX IV ......................................................................................................................... 32

Compilation on MAC OS X/FEDORA/Ubuntu/openSUSE/CentOS ...................................... 32

Glossary ................................................................................................................................ 36

Abbreviations ....................................................................................................................... 38

References ................................................................................................................................ 38

Table of tables

Table 1. NDC Packages ...........................................................................................................................................5 Table 2. Disk space requirements (MB) ...................................................................................................................7

Table 3. Package dependencies .............................................................................................................................. 12 Table 4. Package use by NDC software ................................................................................................................. 12

Table 5. Example commands for configuring NDC software packages ................................................................. 24 Table 6. Example start commands ......................................................................................................................... 26

Table of figures

Figure 1. CD Tools dependencies .......................................................................................................................... 10 Figure 2. Geotool dependencies ............................................................................................................................. 11

Page 5: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 5

1. SCOPE

1.1. Identification

This document describes the installation procedures for the following software packages:

(a) Cbase Libraries (b) libCD Library (c) Gbase Libraries (d) IDC Tables (e) IDC Tables Minimal (f) CD Tools (g) Geotool

1.2. System overview

The National Data Centre (NDC) software consists of a number of software components which provide functionality as specified in the IDC Operational Manual (CTBTO, 2002). The software is under active development, and will be updated and expanded in the future.

The software is available to all States Parties and is suitable for a wide range of users. It includes simple, easy to use functionality for novice users and additional features for advanced users. The software is distributed as a collection of packages. These are introduced in Table 1 below.

Table 1. NDC Packages

Package name Description

Cbase

libCD

Gbase

Common libraries used by the NDC software

Library for handling continuous data

Includes a number or libraries needed by the NDC software

idc-tables

idc-tables-min

Provides most of the input tables needed by the NDC software

Provides minimal (mandatory) set of tables needed by NDC software. Subset of idc-tables.

CD Tools Tools for sending and receiving data in CD format (see F&P for Continuous Data, IDC 2002)

Geotool Tool for interactive review and processing of waveform data

Each package of NDC software includes various software components. Not all packages need to be installed; the choice of which packages to install can be made based on your local needs and constraints. However, you must also keep in mind that there are some dependencies between packages (see section 4.1), and the installation sequence is also important (see section 5).

Page 6: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 6

1.3. Document overview

This document defines the NDC software installation plan. The installation plan describes the set of tasks necessary to install and test the software so it can be used operationally.

This document lists the sites where the software is to be installed. It defines the pre-requisites for installation in terms of hardware, software and security. It also describes the roles required to perform the installation including the skills and experience needed for each role. Finally, it describes the installation process including backup, installation, acceptance testing, rollback procedures and reporting.

The installation process is described as a sequence of numbered steps. Each step contains a description of what needs to be done. Unless otherwise stated, the success criterion for each step is that no error messages are generated.

After the step description, there is usually a sequence of commands that can be entered to complete the step. These commands are displayed using the Courier font. These commands are just examples and may need to be adapted for different environments. An example session of using these commands is shown in Appendix I.

This document is mainly intended for the installer, the deployment manager and the project manager. This document is also of interest to senior management and user representatives.

This document is compliant with IDC (2003) Software Installation Plan Template, IDC (2002) Software Documentation Framework and the CTBTO/PTS (2002) Editorial Manual.

2. REQUIREMENTS AND CONSTRAINTS

2.1. Installation environment

2.1.1. Installation sites

The software will be installed in the International Data Centre (IDC), International Monitoring System (IMS), and On-Site Inspection (OSI) divisions at the Comprehensive Nuclear-Test-Ban Treaty Organisation (CTBTO) Provisional Technical Secretariat (PTS) in Vienna. In addition, the software may be installed by State Signatories at National Data Centres (NDCs), station operators and other sites.

2.1.2. Hardware environment

The software can be installed on Sun platforms and Intel-compatible platforms.

The minimum requirement for a Sun platform is an Ultra 10 workstation processor with 256 Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM. For both platforms, slower processors may work but have not been tested.

The disk space requirements are shown in table below. The columns show (from left) the package name, the size of the compressed ‘tar’ file, the size of the uncompressed ‘tar’ file, the size of the extracted ‘tar’ file, the size of the package after ‘make’ and finally the size of the

Page 7: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 7

package after ‘make clean’. All sizes are in Mbytes. Additional disk space is needed for Geotool data sets.

Table 2. Disk space requirements (MB)

Package Compressed Extracted After ‘make’

After ‘make clean’

Cbase 508K 2.5 6.2 3.2

libCD 560K 2.6 6.7 2.9

Gbase 2.6 15 49 18

IDC Tables 437 641 641 486

IDC Tables Min 206 323 323 323

CD Tools 4.7 14 24 14

Geotool 6.6 19 401 42

2.1.3. Software environment

The software can be installed on Solaris and Linux platforms. The software may also run on other Unix platforms although this has not been tested.

As with most X Windows applications, the graphical user interface GUI can also be displayed on an MS Windows platform, with X Server software installed, with the main software running on a Unix platform.

The software has been tested on Red Hat Enterprise Linux version 4 and 5.

The software has a number of software dependencies. Full details are given in section 4.1.

The software compilation requires a C and a C++ compiler. The software compilation has been tested with GNU Compiler Collection (GCC), version 4.1 and 4.3. The GNU Compiler can be used under both Solaris and Linux. It is imperative to use the same compiler for all the source code of the NDC software.

2.2. Installation constraints

There are no known installation constraints.

2.3. Security and privacy constraints

In order to install the software, a user account is needed that provides a command shell and write access to the installation directory. Also note that there is a file that is installed (‘tables/dynamic/global.lastid’) which must be writeable by all NDC software users who will add or save data. This includes actions such as saving arrivals or origins to files on the filesystem. The appropriate permissions can be granted either by having all NDC software users belong to a common group, and making the file group writeable, or by making the file world writeable (not recommended).

Root access is also required for the pre-installation procedures described in section 5.1.

Page 8: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 8

2.4. Risk management

There are no known risks associated with an initial installation but there are risks associated with subsequent installations. In particular, there are a few installed files that can be customized locally. These files are identified below. While the installation procedure will not overwrite these files, the person performing the installation should be aware if any files have been customized locally.

2.4.1. Identifier continuity – global.lastid table

If a version of idc-tables (or idc-tables-min) is already installed, the installation procedure will not install a new version of the global.lastid table. This means that the arrival IDs and origin IDs used by NDC software will be continuous with the previously installed version of NDC software. As mentioned earlier, all NDC software users who will add or save data should be able to write to this file.

2.4.2. Local static tables

If a version of Geotool is already installed, then there may be locally produced static tables. The installation procedure does not install any static tables with the local prefix, so no locally produced static table will be overwritten.

2.4.3. Local velocity model

The file crust_models describes local velocity models that are used to display travel times from the Travel Time window. Additional models can be added locally. The installation procedure will not overwrite an existing crust_models file.

3. ROLES AND RESPONSIBILITIES

A CTBTO deployment manager and local system administrator are needed for the installation.

3.1. Deployment manager

The deployment manager is a CTBTO employee whose responsibilities include

(a) Ensuring that the correct files are present on the server and available for download; (b) Burning the installation files to CD-ROM; (c) Distributing the installation CD-ROMs; (d) Distributing the installation documentation; (e) Acting as point of contact for the customer; (f) Getting feedback from the customer; (g) Informing the customer of future upgrades.

The deployment manager’s skills and experience should include1:

(a) Experience in deploying systems. 1 The skills and experience listed are similar to those for the deployment manager in the Rational Unified Process.

Page 9: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 9

(b) Experience installing the product. (c) Technical knowledge of the product being installed. (d) Background knowledge of the product including the high-level requirements met by

the product and the product’s history. (e) Good communication with the project manager in order to stay current with the

status of the product development and communicate the needs of the deployment activities to the project team. Often, the project manager role and the deployment manager role are realized by a single person.

(f) Planning skills in order to ensure that deployment can be performed on schedule and with the available resources.

(g) Goal-orientation in order to plan and drive the product to completion across the various teams.

3.2. System administrator

The system administrator is an employee of the organisation where the software will be installed. The system administrator installs the product on the target platform. His responsibilities include

(a) Obtaining the installation files and documentation; (b) Gaining access to the target platform; (c) Performing the installation; (d) Ensuring that files are writeable by the appropriate user (see section 2.3.); (e) Informing users about the new system; (f) Soliciting feedback from the users; (g) Reporting back any comments or issues to the deployment manager.

The system administrator’s skills and experience should include:

(a) Experience in installing systems. (b) Basic knowledge of the Unix operating system (logging in, downloading files,

setting environment variables, traversing directories, listing files etc.). (c) An understanding of how the installation may affect other systems on the target

platform. (d) The ability to back-up the system before the installation. (e) Problem solving and fault diagnosis skills. (f) Good communication with the deployment manager and future users of the system.

If the pre-installation procedures (see section 5.1) need to be followed then the system administrator also needs root permission.

Page 10: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 10

4. INSTALLATION PROCESS

4.1. Package dependencies

Before starting the installation, it is important to understand the dependencies between the different packages of the NDC software. This means that even if there is only one program you would like to compile, there may be a need to install additional packages as well. This section describes these dependencies. Keep in mind that there are also external software dependencies on system level software, as described in section 5.1.

4.1.1. CD Tools dependencies

The CD Tools software package depends on the Gbase package, as shown in Figure 1. Additional system software dependencies are also shown, and are explained later. This means that the Gbase software package must be configured and installed before the CD Tools software package is configured and installed.

Concerning the system software dependencies, the dark dashed lines show the optional dependencies which provide functionality that could be used by CD Tools, i.e. OpenSSL, LDAP and ODBC. The light dashed lines show optional dependencies that provide functionality which is not used by CD Tools.

Figure 1. CD Tools dependencies

Page 11: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 11

Geotool

The Geotool software package depends on the Gbase and tables software packages, as shown in Figure 2. All the required packages should be configured and installed before the Geotool software package is configured and installed. Geotool requires X Windows, Motif, and has optional dependency of GSL (GNU scientific library) and OpenGL. Gbase has optional dependencies on NetCDF, ODBC and Zlib. All system software dependencies are explained in section 5.1.

NDC Software

Dependencies

System Software

Dependencies

Figure 2. Geotool dependencies

Page 12: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 12

5. INSTALLATION PROCESS

5.1. Pre-installation procedures

The purpose of the pre-installation procedures is to learn about the dependencies between the NDC software and other system software, and to allow the installation team to determine what pre-requisite system software should be installed.

Table 3 below shows the relationship between the packages of NDC software (leftmost column) and the system software upon which it depends. The fields in the matrix can be: opt, meaning that the system software is optional; req, meaning that the system software is required; or blank, meaning that no dependency exists in this case. For example, the geotool package has the most dependencies, and is the only package with required dependencies. The required dependencies are on the packages X Windows, Motif, and OpenGL.

Table 3. Package dependencies

Package Open LDAP

Open SSL

Net CDF

ODBC Zlib X win-dows

Motif Open GL

GSL

Cbase

libCD

Gbase

opt

opt

opt

opt

opt

opt

opt

Tables

CD Tools opt opt opt

Geotool opt opt opt req req opt opt

In the case of optional packages, this table should be consulted to determine which system software packages are needed at your site. If a system package is not installed, then the corresponding functionality will not be available in the NDC software.

Table 4 below provides a brief explanation of how the system software packages are used by the NDC software. The subsequent subsections describe how to check for and install the system software packages.

Table 4. Package use by NDC software

Package Use by NDC Software

OpenLDAP Used to read certificates from an LDAP server

OpenSSL Used to sign and authenticate CD Frames

NetCDF Used to read geographic map data in NetCDF format

ODBC Used to interface with ODBC compliant databases

Zlib Used to read data in compressed formats

X Windows Used to draw graphics

Motif Used to draw graphics

OpenGL Used to draw 3D graphics

GSL Used for wide range of mathematical routines, in particular least-squares fitting

Page 13: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 13

5.1.1. OpenLDAP

This section is optional. It describes how to install OpenLDAP, which is an optional package for CD Tools. Root permission is required. OpenLDAP is used by CD Tools to retrieve certificates from an LDAP server. If this functionality is not needed, or if OpenLDAP is already installed, then go to the next section.

If you are using Linux, and you are not sure if OpenLDAP is installed, you may use the following procedure to verify the installation of these packages.

For Linux with packages installed using the RPM Package Manager the following command can be used to detect the presence of OpenLDAP:

rpm –q –a | egrep –i 'openldap'

Here is an example of a successful response to this query:

openldap-2.3.43-3.e15 openldap-devel-2.3.43-3.e15

Please note that the version numbers for the results of the queries above can vary but the package names should be similar to those shown above. In particular, the development package (devel) is needed, since it includes the header files which are needed to compile source code which depends on OpenLDAP.

If you do not have OpenLDAP and would like to install it, you should check your Linux vendor’s distribution mechanism for OpenLDAP. Most any recent version should be sufficient. You may also want to consult the homepage of the OpenLDAP project, which is http://www.openldap.org.

5.1.2. OpenSSL

This section is optional. It describes how to install OpenSSL, which is an optional package for CD Tools. Root permission is required. OpenLDAP is used by CD Tools to sign and authenticate CD frames. If this functionality is not needed, or if OpenSSL is already installed, then go to the next section

If you are using Linux, and you are not sure if OpenSSL is installed, you may use the following procedure to verify the installation of these packages.

For Linux with packages installed using the RPM Package Manager the following command can be used to detect the presence of OpenSSL:

rpm –q -a | egrep –i 'openssl'

Here is an example of a successful response to this query:

openssl-devel-0.9.8e-7.e15 openssl-0.9.8e-7.e15

Please note that the version numbers for the results of the queries above can vary but the package names should be similar to those shown above. In particular, the development package (devel) is needed, since it includes the header files which are needed to compile source code which depends on OpenSSL.

Page 14: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 14

If you do not have OpenSSL and would like to install it, you should check your Linux vendor’s distribution mechanism for OpenSSL. Most any recent version should be sufficient. You may also want to consult the homepage of the OpenSSL project, which is http://www.openssl.org.

5.1.3. NetCDF

This section is optional. It describes how to install NetCDF, which is an optional package for Geotool. NetCDF is used by Geotool to read map data stored in NetCDF format. If this functionality is not needed, or if NetCDF is already installed, then go to the next section.

If you would like to install NetCDF, then follow the procedure described below.

1. Download the source code of NetCDF from the following location:

ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.0.1.tar.gz

2. Extract the source code files:

gunzip netcdf-4.0.1.tar.gz tar xvf netcdf-4.0.1.tar

3. Configure, compile and install the NetCDF library:

cd netcdf-4.0.1/src ./configure –-prefix=/usr 2 make > make.log make install > install.log

4. Ensure that the library was installed correctly. The following command should return the path to the newly installed library:

ls /usr/lib/*netCDF*

For more information concerning NetCDF, please consult the web page:

http://my.unidata.ucar.edu/content/software/netcdf/index.html

5.1.4. ODBC

This section is optional. It describes how to install ODBC, which is an optional package for the NDC software. Root permission is required. ODBC is used by the NDC software to read from and write to an ODBC compliant database. If this functionality is not needed, or if ODBC is already installed, then go to the next section.

ODBC is an open specification of how to interface with a data source using an ODBC driver. The system software to do this comes in two parts. One is the driver manager, and the other is the driver itself. The driver contains the code which is needed to communicate with a specific database, e.g., MySQL, SQLite or Oracle.

2 Note that the expression ‘--prefix=/usr’ will result in installing the library in ‘/usr/lib’, and the header files in ‘/usr/include’. If this is not desired, then change the argument given to ‘--prefix’ to the correct path.

Page 15: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 15

There are many choices for ODBC software. Some are commercial, while others are free offerings. The advantage of commercial software is that it also offers support, which can be helpful if there are problems. Easysoft is one company which offers commercial ODBC software and support (http://www.easysoft.com). The remainder of this section describes free software that can be used to connect to an Oracle database using ODBC.

5.1.4.1. Driver Manager

UnixODBC provides a popular and free ODBC driver manager. For Linux with packages installed using the RPM Package Manager the following command can be used to detect the presence of UnixODBC:

rpm -q -a | egrep -i 'unixodbc'

Here is an example of a successful response to this query:

unixODBC-2.2.11-7.1 unixODBC-devel-2.2.11-7.1

Please note that the version numbers for the results of the queries above can vary but the package names should be similar to those shown above. In particular, the development package (devel) is needed, since it includes the header files which are needed to compile source code which depends on ODBC.

If you do not have UnixODBC and would like to install it, you should check your Linux vendor’s distribution mechanism for UnixODBC. Any recent version should be sufficient. You may also want to consult the homepage of the UnixODBC project, which is http://www.UnixODBC.org.

If you would like to install UnixODBC from source code, then follow the procedure described below.

1. Download the source code of UnixODBC from the following location:

http://www.unixodbc.org/unixODBC-2.2.11.tar.gz

2. Extract the source code files:

gunzip unixODBC-2.2.11.tar.gz tar xvf unixODBC-2.2.11.tar

3. Configure, compile and install the UnixODBC library:

cd unixODBC-2.2.11 ./configure –-prefix=/usr 3 make > make.log make install > install.log

4. Ensure that the library was installed correctly. The following command should return the path to the newly installed library:

ls /usr/lib/*odbc.*

3 Note that the expression ‘--prefix=/usr’ will result in installing the library in ‘/usr/lib’, and the header files in ‘/usr/include’. If this is not desired then change the argument given to ‘--prefix’ to the correct path.

Page 16: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 16

5.1.4.2. Oracle Driver

There is a free Oracle ODBC driver available from http://home.fnal.gov/~dbox/oracle/odbc. If you would like to install the Oracle ODBC driver, then follow the procedure described below. Note that in order to use the oracle driver, Oracle client software must already be installed, as well as the Oracle development option, include header files and libraries.

1. Download the source code of the oracle ODBC driver from the following location:

http://home.fnal.gov/~dbox/oracle/odbc/oracle_odbc_driver.0.5.6.tar.gz

2. Extract the source code files:

gunzip oracle_odbc_driver.0.5.6.tar.gz tar xvf oracle_odbc_driver.0.5.6.tar

3. Configure, compile and install the odbc driver libraries:

cd oracle_odbc_driver ./configure –-prefix=/usr 4 --with-unixODBC=/usr 5 make > make.log make install > install.log

4. Ensure that the library was installed correctly. The following command should return the path to the newly installed libraries:

ls /usr/lib/*oraodbc*

5.1.4.3. ODBC Configuration

Once the ODBC driver manager and ODBC driver for your database are installed, then two ODBC configuration files must be configured. The following procedure describes how this can be done.

1. The files to be configured are:

/etc/odbc.ini /etc/odbcinst.ini

The initial version of these files should be installed when the ODBC driver is installed. The proper way to configure these files is to use a tool like ODBCConfig, which is described in the UnixODBC documentation. Another approach is to edit these files, as described below.

2. The file ‘/etc/odbc.ini’ describes the data sources which can be accessed through

ODBC. An example of this file is given below:

$ more /etc/odbc.ini [db1] Description = Database 1, Open Source ODBC Dr iver for Oracle Driver = oraodbc

4 Note that the expression ‘--prefix=/usr’ will result in installing the library in ‘/usr/lib’, and the header files in ‘/usr/include’. If this is not desired, then change the argument given to ‘--prefix’ to the correct path. 5 The expression ‘--with-unixODBC=/usr’ specifies that the oracle driver should interface with the unixODBC driver manager, and that the unixODBC software can be found in under the directory ‘/usr’. If this is not the case, then the correct path should be given to the ‘--with-unixODBC’ argument.

Page 17: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 17

DB = mickey ORACLE_HOME = TNS_ADMIN = [db2] Description = database2, Open Source ODBC Dr iver for Oracle Driver = oraodbc DB = mouse ORACLE_HOME = TNS_ADMIN =

3. Each data source entry begins with a name in brackets, e.g. ‘[db1]’. This is the data source name which will be referenced by the NDC software. The ‘Description’ line is plain text, and is used to provide a text description of the data source. The ‘Driver’ line specifies which driver will be used to access the data source. This same name is defined in the file ‘/etc/odbcinst.ini’, as described below. The ‘DB’ line specifies the name of the database, as specified by the underlying database, e.g. in the case of Oracle this name is defined in the file ‘$TNS_ADMIN/tnsname.ora’.

4. The file ‘/etc/odbcinst.ini’ describes the ODBC drivers. An example of this file is

given below:

$ more /etc/odbcinst.ini [ORACLE] Description = Easysoft ODBC Oracle Driver Driver = /opt/easysoft/oracle/libesoracle. so Setup = /opt/easysoft/oracle/libesoracles etup.so FileUsage = 1 [oraodbc] Description = Open Source Oracle Driver Driver = /usr/lib/liboraodbc.so Setup = /usr/lib/liboraodbcS.so FileUsage = 1

5. Each driver entry begins with a name in brackets, e.g. ‘[ORACLE]’. This is the driver

name referenced in the ‘odbc.ini’ file. The ‘Description’ line is a plain-text description of the driver. The ‘Driver’ line specifies the driver file name. The ‘Setup’ line points to a shared library containing functions to be called by ODBC Config. ODBC Config calls this library to get driver specific property names during data source configuration. If ODBC Config cannot access this file then it will assume some defaults. To check that the files odbc.ini and odbcinst.ini are properly configured, you can use the utility odbcinst, which is part of the UnixODBC distribution. For instance, to list all datasources defined in your odbc.ini file, use odbcinst –q –s. For more details on odbcinst, please see the UnixODBC project homepage.

Once the files ‘/etc/odbc.ini’ and ‘/etc/odbcinst.ini’ are properly configured, it should be possible to use ODBC from the NDC software.

Page 18: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 18

5.1.5. Zlib

This section is optional. It describes how to install Zlib, which is an optional package for the NDC software. Root permission is required. Zlib is used by the NDC software to directly read compressed files (i.e. files with the extension ‘.gz’). This functionality enables Geotool to read compressed waveform files. If this functionality is not needed, or if Zlib is already installed, then go to the next section

If you are using Linux, and you are not sure if Zlib is installed, you may use the following procedure to verify the installation of these packages.

For Linux with packages installed using the RPM Package Manager the following command can be used to detect the presence of Zlib:

rpm -q -a | egrep -i zlib

Here is an example of a successful response to this query:

zlib-1.2.3-3 zlib-devel-1.2.3-3

Please note that the version numbers for the results of the queries above can vary but the package names should be similar to those shown above. In particular, the development package (‘devel’) is needed, since it includes the header files which are needed to compile source code which depends on Zlib.

If you do not have Zlib and would like to install it, you should check your Linux vendor’s distribution mechanism for Zlib. Most any recent version should be sufficient. You may also want to consult the homepage of the Zlib project, which is http://www.zlib.net.

5.1.6. X Windows installation

This section is optional. It describes how to install the X Windows environment required by Geotool to display graphics. Root permission is required. If your target platform already has X Windows installed then go to the next section.

If you are using Linux, and you are not sure if X Windows are installed, you may use the following procedure to verify the installation of these packages.

For Linux with packages installed using the RPM Package Manager the following command can be used to detect the presence of X Windows:

rpm -q -a | egrep -i 'xorg'| egrep '((libs)|(dev))'

This should result in something close to:

xorg-x11-libs-6.8.2-1.EL.13.36 xorg-x11-devel-6.8.2-1.EL.13.36

Please note that the version numbers for the results of the queries above can vary but the package names should be similar to those shown above.

If you do not have X Windows installed and would like to install it, you should check your Linux vendor’s distribution mechanism for the correct package. There can be many dependencies between software that is already installed and X Windows, so during this step it

Page 19: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 19

is very important to install the proper version. You may also want to consult the homepage of the xorg project, which is http://www.x.org.

5.1.7. Motif installation

This section is optional. It describes how to install the Motif environment required by Geotool to display graphics. Free and commercial versions of Motif are available. Two free versions of Motif are OpenMotif and LessTif. Root permission is required. If your target platform already has Motif installed then go to the next section.

If you are using Linux, and you are not sure if Motif is installed, you may use the following procedure to verify the installation of these packages.

For Linux with packages installed using the RPM Package Manager the following command can be used to detect the presence of Motif or LessTif:

rpm -q -a | egrep -i 'tif'

Here is an example of a successful response to this query:

openmotif-2.3.1-2.e15 openmotif-devel-2.3.1-2.e15

or:

libtiff-3.8.2-7.e15_2.2 libtiff-devel-3.8.2-7.e15_2.2

Please note that the version numbers for the results of the queries above can vary but the package names should be similar to those shown above.

1. If Motif (or a Motif clone) is already installed on the target platform then go to the next section.

2. If Motif (or a Motif clone) is not installed on the target platform then install it. The first approach should be to check your Linux vendor’s distribution mechanism for Motif, or a Motif clone, such as LessTif. Once this is installed you can go to the next section.

3. Alternatively, free Motif clones and associated installation instructions can be found at www.openmotif.org and www.lesstif.org. If you purchase a Motif distribution then follow the installation instructions provided by the vendor. You can now go to the next section.

5.1.8. OpenGL installation

This section is optional. It describes how to install the OpenGL environment required by Geotool to draw three-dimensional graphics. Mesa is a free implementation of OpenGL which is commonly available under Linux. Root permission is required. If the target platform already has OpenGL installed then go to the next section.

If the target platform is running Solaris then download OpenGL from www.sun.com/software/graphics/OpenGL/download.html and follow the installation instructions provided. You can now go to the next section.

If you are using Linux, and you are not sure if OpenGL is installed, you may use the following procedure to verify the installation of these packages.

Page 20: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 20

For Linux with packages installed using the RPM Package Manager the following command can be used to detect the presence of Mesa:

rpm -q -a | egrep -i 'mesa'

Here is an example of a successful response to this query:

mesa-libGLw-devel-6.5.1-7.7.e15 mesa-libGL-devel-6.5.1-7.7.e15 mesa-libGLU-6.5.1-7.7.e15 mesa-libGLw-6.5.1-7.7.e15

Note that the header files of Mesa are often included with the other X window header files in the package xorg-x11-devel-6.8.2-1.EL.13.36. This package is discussed in the XWindows installation section.

Please note that the version numbers for the results of the queries above can vary but the package names should be similar to those shown above.

If you do not have OpenGL/Mesa and would like to install it, you should check your Linux vendor’s distribution mechanism for OpenGL/Mesa. Most any recent version should be sufficient. You may also want to consult the homepage of the Mesa project, which is http://sourceforge.net/projects/mesa3d.

5.1.9. GSL installation

The following section is optional. It describes how to install the current version GSL-1.13.

1. Download the source code of the GSL library from the following location:

ftp://ftp.gnu.org/gnu/gsl/ gsl-1.13.tar.gz

2. Extract the source code files:

gunzip gsl-1.13.tar.gz tar xvf gsl-1.13.tar

3. Configure, compile and install the gsl libraries:

cd gsl-1.13

make > make.log make install > install.log

4. Ensure that the library was installed correctly. Once the software has been installed, you can find further information about using gsl with these commands:

locate gsl which gsl man gsl

Page 21: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 21

5.1.10. Readline installation

This section is optional. It describes how to install the Readline.h required by Geotool.

The following command can be used to detect the presence of readline: rpm-q –a | egrep readline This is the example of a successful query: readline-5.1-1.1 readline-devel-5.1-1.1 However, if readline.h is not present and gives an error, readline-5.1.tar.gz can be easily downloaded and installed from the following link: ftp://ftp.gnu.org/gnu/readline/readline-5.1.tar.gz

5.2. NDC software installation procedures

The installation procedures consist of the following steps:

1) Download the source code files or copy them from a CD-ROM; 2) Configure the environment and generate the Makefiles by running the configuration script; 3) Compile the source code via Makefiles, with the command “make”; 4) Install the application via Makefiles, with the command “make install”. Appendix I contains a minimal list of example commands for configuring and installing the Geotool software. If you are familiar with configuring and compiling open source software, then this information may be sufficient. The following sections describe this process in detail.

An important concept to understand is that the files which are initially copied from the CD-ROM are stored in one directory hierarchy, while the files which are installed with the ‘make install’ command are in a different directory hierarchy. The downloaded files and the installed files are not in the same location.

In the following text, example commands for configuring and installing the software are given. These examples use the directory ‘/home/foo/NDC’ for copying the files from the CD-ROM, while the directory ‘/opt/NDC’ is the location where the software will be installed. These are only examples, and should be changed to suit your local needs.

5.2.1. Obtain source files

This section describes how to obtain the source files needed for the installation.

1. Change your directory to the location where you would like to download the NDC software packages. For example, if this directory is ‘/home/foo/NDC’, the command would be:

cd /home/foo/NDC

2. Once you can access the CD-ROM, copy the tar files of interest from the CD-ROM to the current directory. If you are undecided about what to do, review sections 1.2 and 4.1. These sections explain what each software package provides, and the dependencies

Page 22: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 22

between packages. For example, if you would like to copy all of the files, the commands to do this would be (do not forget to substitute the correct version numbers):

cp /cdrom/gbase-libs-<version>.tar . cp /cdrom/idc-tables-<version>.tar . OR cp /cdrom/idc-tables-<version>-min.tar . cp /cdrom/CDTools-<version>.tar . cp /cdrom/geotool-<version>.tar .

3. Uncompress and extract the source files from each of the tar files. If you would like to install all of the software, the commands would be (use the same version numbers as the previous step):

gunzip gbase-libs-<version>.tar.gz tar xf gbase-libs-<version>.tar tar xf idc-tables-<version>.tar

OR tar xf idc-tables-<version>-min.tar tar xf CDTools-<version>.tar tar xf geotool-<version>.tar

4. Ensure that the new directories have been created in the current directory. If you would like to install all of the software, the response to the ‘ls’ command in the current directory should be similar to the following (but with different version numbers):

ls cbase-libs-1.0.0/ cbase-libs-1.0.0.tar libCD-2.1.<>/ libCD-2.1.<>.tar gbase-libs-2.0.<>/ gbase-libs-2.0.<>.tar geotool++-2.1.<>/ geotool++-2.1.<>.tar idc-tables-6.2.0/ idc-tables-6.2.0.tar [idc-tables-6.2.0-min/ idc-tables-6.2.0-min.tar] CDTools-2.2.<>/ CDTools-2.2.<>.tar

5.2.2. Configure software for compilation

This section describes how to configure the compilation environment and generate the appropriate Makefiles. This is done using the configure script for each software package.

1. Before running the configure script, it is important to decide where the software will be installed. For these examples, the software will be installed under the directory ‘/opt/NDC’. If your target directory does not yet exist, create the directory with the ‘mkdir’ command. Depending on the path you choose, this may require root permission. For example:

mkdir –p /opt/NDC

Please note that this is just an example, and you can use an alternate empty directory, e.g. /home/ndc/std.

Page 23: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 23

2. Decide which C compiler will be used to compile the software. By default, the configure script will find an appropriate compiler, and will first search for the compiler gcc. If this is what you would like, you can continue to the next step. If you would like to use a different C compiler, such as the Sun C compiler located at ‘/opt/SUNWspro/bin/cc’, make note of this now.

3. For each software package, the same three commands must be used to configure, compile and install the software: ‘configure’, ‘make’, and ‘make install’. The order in which each package is installed is important. The suggested sequence is:

(i) Cbase (ii) libCD (iii) Gbase libraries, (iv) CD Tools, (v) IDC Tables or IDC Tables Minimal (vi) Geotool.

If there some packages which you do not need, those packages can be skipped. The dependencies between packages are described in section 4.1.

4. Move to the directory of the first software package to install. For example, the first package is Gbase libraries, the command to move to the directory will be:

cd gbase-libs-2.0.<>

5. View all the possible configuration parameters. This step is optional.

./configure --help

6. In this step the configure command will be run. The configure command is used to specify a number of options, including where the software will be installed. Additional options are described below. For example, if we want to install the software under ‘/opt/NDC’, the configure command will be:

./configure –-prefix=/opt/NDC

On the other hand, if we want to install the software under ‘/opt/NDC’, and use the Sun C compiler on a system which also has gcc installed, the configure command will be:

./configure –-prefix=/opt/NDC CC=/opt/SUNWspro/bin/ cc

The configure script performs a number of checks for the software installed on your machine. If the configuration step is successful, then you can proceed with the compilation section.

The configure script checks and tests header files and libraries for software that can be used by a package. If optional software is not found, then that functionality will be deactivated, and the script will continue. If required software is not found, then the configure script will print an error message and exit.

In some cases, the header files and/or libraries needed by the NDC software will not be in the standard location. For example, if Gbase is configured with the option ‘--prefix=/opt/NDC’, then the Gbase include files and libraries will be installed under ‘/opt/NDC/include’ and ‘/opt/NDC/lib’, respectively. In such a case, additional arguments must be passed to the configure script. For example, if Gbase is installed under ‘/opt/NDC’, then packages which depend on Gbase (i.e. CD Tools and Geotool) must be configured with the additional options CPPFLAGS and LDFLAGS, so that the paths to the include files and libraries can be specified.

Page 24: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 24

As discussed above, there are a number of options which can be given to configure when configuring each NDC software package. Table 5 below shows example commands that could be used for configuring each NDC software package.

For each package, there are optional system packages which you may want to use (see Table 4). If these packages are to be used and are installed in a non-standard location, then the appropriate paths may need to be specified with the CPPFLAGS and LDFLAGS options.

Table 5. Example commands for configuring NDC software packages

Package name Example configure command

Cbase

libCD

Gbase

./configure --prefix=/where/to/install/cbase \ --with-pic

./configure \ CPPFLAGS=-I/path/to/cbase/include \ LDFLAGS=-L/path/to/cbase/lib \ --prefix=/where/to/install/libcd \ --with-pic ./configure \ CFLAGS="-g -fPIC -DENVIRONMENT" CXXFLAGS="-g -fPIC" \ CPPFLAGS="-I/path/to/cbase/include -I/path/to/libcd/include/libCD" \ LDFLAGS="-L/path/to/cbase/lib -L/path/to/libcd/lib" \ --prefix=/where/to/install/gbase

CD Tools ./configure \ CPPFLAGS="-I/path/to/cbase/include -I/path/to/libcd/include/libCD -I/path/to/gbase/include" \ LDFLAGS="-L/path/to/cbase/lib -L/path/to/libcd/lib -L/path/to/gbase/lib" \ --prefix=/where/to/install/cdtools \ --with-pic

IDC Tables ./configure --prefix=/opt/NDC

IDC Tables Minimal

./configure --prefix=/opt/NDC

Geotool ./configure \ CFLAGS="-g -fPIC" CXXFLAGS="-g -fPIC"\ CPPFLAGS="-I/path/to/cbase/include -I/path/to/libcd/include -I/path/to/gbase/include" \ LDFLAGS="-L/path/to/cbase/lib -L/path/to/libcd/lib -L/path/to/gbase/lib" \ --prefix=/where/to/install/geotool

Page 25: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 25

Once a configure script from an NDC software package has finished, a summary of the results are printed. Example output for Gbase is shown below:

configure: default libraries ${LIBS}: -lns l -lrt -lm configure: ${LD_LIBRARY_PATH}: /usr /local/lib configure: configure: pthread support: y es configure: ZLIB support: y es configure: LDAP support: y es configure: OPENSSL support: y es configure: netcdf support: y es configure: ODBC support: y es

5.2.3. Compile the source code

This section describes how to compile a package of the NDC software. This step should be done immediately after the configure script for an NDC software package has run successfully. The text assumes that the current working directory is the top level directory of an NDC software package.

Important - This step is not required for compiling the IDC Tables package.

1. Compile and link the source code. This may take some minutes depending upon the target platform. It is successful if no error messages are generated. The command to do this is shown below.

make

2. If the compilation fails then look at the error messages. Also check the configure command. The configure command is long and easy to mistype. It can be found in the first lines of the ‘config.log’ file. You may need to delete the config.status file, reconfigure the environment differently (see 5.2.2) and restart the compilation.

rm ./config.status <reconfigure environment by rerunning the configure script with the correct arguments>, i.e. ./configure <proper arguments> make

Important – If you have already installed geotool and are installing in the same place please first run the command

make uninstall

in order to avoid possible errors.

5.2.4. Install application

This section describes how to install all the necessary programs and files in the target installation directory. This step is done immediately after the compilation of an NDC software package has run successfully. The text assumes that the current working directory is the top level directory of an NDC software package.

Page 26: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 26

1. Install all the necessary programs and files in the target installation directory. This may take several minutes depending upon the target platform.

make install

2. After the software is installed, a simple test can be run to verify that the software will run. In most cases, if the software is started with no command line arguments, a usage message will be printed, and the software will exit. For example, if the software is installed under ‘/opt/NDC’, the appropriate command to start some of the programs are shown below. For more detailed information on how to operate the software consult the appropriate User Guide or Tutorial.

Table 6. Example start commands

Program Example start command

CD Receiver /opt/NDC/bin/cdrecv

CD Sender /opt/NDC/bin/cdsend

Geotool /opt/NDC/bin/geotool

3. After the software is installed, it is critical that users are informed how their ‘$PATH’ should be changed so they can find the new software. If a user does not have the correct ‘$PATH’, they will not be able to easily start the software, and will need to turn to you for assistance.

5.3. Post-installation procedures

5.3.1. Cleanup unnecessary files

This section describes how to remove unused files that were generated during compilation. This is an optional step, which may be done after the software is installed. If disk space is not a problem, it is suggested that you skip this step, since the files that are removed may be useful for debugging purposes. The text assumes that the current working directory is the top level directory of an NDC software package.

1. Remove unused files (see Table 2 for the amount of disk space freed for each package). This is done with the command

make clean

5.4. Installation testing

5.4.1. Success criteria

Unless otherwise stated, each step of the installation process is successful if no errors are generated. Additional success criteria are given for selected steps, for example listing files and executing the software (see 5.2.1 and 5.2.4).

Page 27: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 27

5.4.2. Installation checklist

This installation is relatively small and straightforward. Therefore, no installation checklist is required.

5.5. Rollback procedures

It is possible to rollback the installation either before or after the “make install” command is given. Files that have been installed can be removed with the command “make uninstall” from the top level directory of each NDC software package. For example:

make uninstall

If there are problems with the compilation process, the procedure to start over again is described under item 3 of 6.2.4.

In the case of more severe compilation problems, it is possible to remove the entire source tree and begin over again. Note that this should only be done as a last resort, and any notes should be stored in a safe place, i.e., not in a directory that will be removed. An example of removing the entire source tree for Geotool is:

rm –rf geotool++-2.1.<>.tar

After this procedure, you should begin over again as described under 5.2.

Page 28: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 28

APPENDIX I

EXAMPLE INSTALLATION SESSION

The commands below show an example session to install all packages in directories under ‘local/ndc’.

Note: Version numbers will probably need to be changed.

zcat cbase-1.0.0.tar.gz | tar xf – zcat libCD-2.2.1.tar.gz | tar xf –

zcat gbase-libs-2.0.10.tar.gz | tar xf – zcat geotool++-2.1.31.tar.gz | tar xf – zcat idc-tables-2011.04.20.tar.gz | tar xf – zcat CDtools-2.2.1.tar.gz | tar xf – cd cbase-1.0.0 ./configure --prefix=/home/ndcuser/IDCSW \ --with-pic

make > makelog

make install > install.log cd .. cd libCD-2.2.1 ./configure --prefix=/home/ndcuser/IDCSW \ CPPFLAGS="-I/home/ndcuser/IDCSW/include" \ LDFLAGS="-L/home/ndcuser/IDCSW/lib" \ --with-pic make > makelog make install > install.log cd .. cd gbase-libs-2.0.10

./configure \ CFLAGS="-g -fPIC -DENVIRONMENT" CXXFLAGS="-g -fPIC" \ CPPFLAGS="-I/home/ndcuser/IDCSW/include -I/home/ndcuser /IDCSW/include/libCD" \ LDFLAGS="-L/home/ndcuser/IDCSW/lib" \

--prefix=/home/ndcuser/IDCSW make > makelog make install > install.log cd .. cd CDtools-2.2.1

./configure \ CPPFLAGS="-I/home/ndcuser/IDCSW/include -I/home/ndcuser/IDCSW/include/libCD" \ LDFLAGS="-L/home/ndcuser/IDCSW/lib" \ --prefix=/home/ndcuser/IDCSW \ --with-pic

make > makelog make install > install.log cd ..

Page 29: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 29

cd idc-tables-2011.04.20 ./configure –-prefix=/home/ndcuser/IDCSW make install > install.log cd .. [cd idc-tables-2011.04.20.-min ./configure --prefix=/home/ndcuser/IDCSW make install > install.log cd ..] cd geotool++-2.1.31

./configure \ CFLAGS="-g -fPIC" CXXFLAGS="-g -fPIC"\ CPPFLAGS="-I/home/ndcuser/IDCSW/include -I/home/ndcuser/I DCSW/include/libCD" \ LDFLAGS="-L/home/ndcuser/IDCSW/lib" \

--prefix=/home/ndcuser/IDCSW make > makelog make install > install.log cd ..

Page 30: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 30

APPENDIX II

TROUBLE SHOOTING INSTALLATION PROBLEMS

This appendix describes solutions to typical installation problems.

IMPORTANT: If you experience problems not covered in this appendix then please contact ‘[email protected]’. This information can then be used to improve this document.

Running ‘make’ before ‘configure’

If you try and run ‘make’ before running ‘configure’ then a message similar to the following will appear:

$ ls aclocal.m4 build configure configure.ac Makefil e.am Makefile.in README tables $ make install > install.log make: *** No targets specified and no makefile foun d. Stop.

The solution is to run ‘configure’ (see 5.2.2.) and then type ‘make’.

Running ‘make install’ before ‘configure’

If you try and run ‘make install’ before running ‘configure’ then a message similar to the following will appear:

$ ls aclocal.m4 build configure configure.ac Makefil e.am Makefile.in README tables $ make install > install.log make: *** No rule to make target `install'. Stop.

The solution is to run ‘configure’ (see 5.2.2.), type ‘make’, and then type ‘make install’.

Touched files trigger ‘automake’

A message similar to the following may appear after typing ‘make’:

automake: couldn't open `configure.in': No such fil e or directory

This may be caused by one of the distributed files being accidentally ‘touched’ (i.e. having the file’s last modified date being changed to the current time). This is turn will cause ‘automake’ to run which may fail with the above message. To solve the problem, restart the installation of the application from scratch (i.e. extract all source files from that ‘tar’ distribution file again and repeat the ‘configure’ and ‘make’ steps, see section 5.2.). The pre-installation steps do not need to be repeated (see section 5.1.).

Page 31: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 31

APPENDIX III

GNU AUTOTOOLS

GNU Autoconf

Autoconf processes files (configure.in or configure.ac ) to generate a configure script.

When running the generated configure script, other template files, customarily ending in ".in", such as Makefile.in , are processed to create their final output, in this case a Makefile .

Autoconf is used to attempt to work around the quirks found in various Unix-like operating systems. For example, some Unix-like systems may have certain facilities that are known to be broken or missing entirely. Autoconf creates a shell script which can detect these, and the program can work around them. The final output of the Autoconf utility is the configure script.

Autoconf comes with several auxiliary programs designed to ease the creation of configure.ac, such as the Autoheader tool, which is used to help manage C header files, autoscan, which can create an initial input file for Autoconf and ifnames, which can list C pre-processor identifiers used in the program.

GNU Automake

Automake helps to create portable Makefile s, which are in turn processed with the make utility. It takes its input as Makefile.am , and turns it into Makefile.in , which is used by the configure script to generate the file Makefile output.

GNU Libtool

Libtool helps manage the creation of static and dynamic libraries on various Unix-like operating systems. Libtool accomplishes this by abstracting the library creation process, hiding differences between various systems (e.g., GNU/Linux systems vs. Solaris).

IMPORTANT: Geotool has a generated ./configure script for the user. If you want to change the configure script (or if the GNU build system does not have a generated ./configure file available for the user), the user must generate it. One possible way this can be done is to execute a series of commands at a shell prompt:

$ aclocal

$ autoheader

$ automake

$ autoconf

Page 32: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 32

APPENDIX IV

COMPILATION ON MAC OS X/FEDORA/UBUNTU/OPEN SUSE/CENTOS

Compilation on MAC OS X

1. Install X11 from the installation DVD (this provides an X11 server running together with native Mac OS X Aqua)

2. Install the Developer's packages (Xcode) from the installation DVD or download the latest version from Apple Developer Connection (this provides BSD libraries, compilers and header files)

3. Download and install MacPorts from www.macports.org

4. In an xterm/terminal, make sure .profile is sourced (to get path to "port") and do a port installation of lesstiff:

source ~/.profile

sudo port install lesstiff

5. Unpack gbase, configure, make, and install somewhere

6. Unpack geotool++ and configure it, need to use

LDFLAGS="/usr/X11R6/lib" and CPPFLAGS="/usr/X11R6/include" in addition to gbase paths

7. Built the libsrc directory only:

cd libsrc; make; make install

8. Build the plugins/libsrc directory only:

cd plugins/libsrc; make; make install

9. Build geotool++ directory only:

cd src; make; make install

(You have now built everything except the extra helper applications)

10. Build and install of the other additional applications in plugins/src, except gspectro (due to linking issues)

11. geotool must be run from with X11 as X11 provides the X server environment

Page 33: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 33

Compilation on FEDORA

After installing the standard desktop installation of Fedora 12 there are some packages missing for compiling NDC-in-a-Box. These can be installed as root using: $su – root $yum –y install gcc zlib-devel openldap-devel openssl-devel unixODBC-devel libXt-devel lesstif-devel gsl-devel readline-devel gcc-c++ libGL-devel libGLw-devel libXmu-devel mesa-libGLU-devel netcdf-devel where the non- bold ones are necessary for installation of gbase, and the bold ones are necessary for installation of geotool. Note that Fedora uses open-source Lesstif instead of Motif. IDC tested Geotool compatibility with these packages for Fedora12: gcc-4.4.3-4.fc12.i686 zlib-devel-1.2.3-23.fc12.i686 openldap-devel-2.4.19-1.fc12.i686 openssl-devel-1.0.0-0.13.beta4.fc12.i686 unixODBC-devel-2.2.14-9.fc12.i686 libXt-devel-1.0.7-1.fc12.i686 lesstif-devel-0.95.2-1.fc12.i686 gsl-devel-1.13-1.fc12.i686 readline-devel-6.0-3.fc12.i686 gcc-c++-4.4.3-4.fc12.i686 mesa-libGL-devel-7.7-4.fc12.i686 mesa-libGLw-devel-6.5.1-8.fc12.i686 mesa-libGLU-devel-7.7-4.fc12.i686 libXmu-devel-1.0.5-1.fc12.i686 netcdf-devel-4:0.1-4.fc12.i686 After the installation of these packages you proceed building gbase and geotool as described in Appendix I.

Compilation on UBUNTU

After installing the standard desktop installation of Ubuntu 9.10 there are some packages missing for compiling NDC-in-a-Box. These can be installed in the following way: $ sudo aptitude –y install zlib1g-dev libssl-dev libldap2-dev unixodbc-dev g++ libxt-dev x11proto-print-dev libmotif-dev libxmu-dev libgl1-mesa-dev libglw1-mesa-dev libreadline-dev libgsl0-dev libnetcdf-dev libglu1-mesa-dev where the non- bold ones are necessary for installation of gbase, and the bold ones are necessary for installation of geotool.

Page 34: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 34

IDC tested Geotool compatibility with these packages for Ubuntu 9.10: Package Version zlib1g-dev 1:1.2.3.3.dfsg-13ubuntu3 libssl-dev 0.9.8g-16ubuntu3.1 libldap2-dev 2.4.18-0ubuntu1 unixodbc-dev 2.2.11-16ubuntu1 g++ 4:4.4.1-1ubuntu2 libxt-dev 1:1.0.5-3ubuntu1 x11proto-print-dev 1.0.3.xsf1-1 libmotif-dev 2.2.3-4 libgl1-mesa-dev 7.6.0-1ubuntu4 libglw1-mesa-dev 7.4-0ubuntu2 libreadline-dev 6.0-5 libgsl0-dev 1.12+dfsg-1 libnetcdf-dev 1:3.6.2-3.1ubuntu2 libxmu-dev 2:1.0.4-2 libglu1-mesa-dev 7.6.0-1ubuntu4 After the installation of these packages you proceed building gbase and geotool as described in Appendix I.

Compilation on openSUSE 11.2

After installing the standard desktop installation of openSUSE 11.2 there are some packages missing for compiling NDC-in-a-Box. These can be installed in the following way: $su – root $ yast –i gcc zlib-devel openssl-devel openldap2-devel unixODBC-devel make gcc-c++ xorg-x11-libXt-devel openmotif-devel Mesa-devel MesaGLw-devel gsl-devel readline-devel where the non- bold ones are necessary for installation of gbase, and the bold ones are necessary for installation of geotool. IDC tested Geotool compatibility with these packages for openSUSE 11.2: gcc-4.4-4.2.i586 zlib-devel-1.2.3-140.2.i586 package openssl-devel is not installed openldap2-devel-2.4.17-5.3.i586 unixODBC-devel-2.2.12-199.4.i586 make-3.81-130.2.i586 gcc-c++-4.4-4.2.i586

Page 35: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 35

xorg-x11-libXt-devel-7.4-6.1.i586 openmotif-devel-2.3.1-10.1.i586 Mesa-devel-7.6-3.1.i586 MesaGLw-devel-7.3-2.1.i586 gsl-devel-1.12-2.2.i586 readline-devel-6.0-18.4.1.i586 After the installation of these packages you proceed building gbase and geotool as described in Appendix I.

Compilation on CentOS

After installing the standard desktop installation of CentOS-5 there are some packages missing for compiling NDC-in-a-Box. These can be installed as root using: $su – root $ yum -y install gcc zlib-devel openldap-devel openssl-devel unixODBC-devel openmotif-devel gsl-devel readline-devel gcc-c++ libGL-devel libGLw-devel libXmu-devel freeglut-devel ncurses-devel where the non- bold ones are necessary for installation of gbase, and the bold ones are necessary for installation of geotool. IDC tested Geotool compatibility with these packages for CentOS-5: openldap-devel.i386 0:2.3.43-12.el5 openssl-devel.i386 0:0.9.8e-12.el5_4.6 unixODBC-devel.i386 0:2.2.11-7.1 zlib-devel.i386 0:1.2.3-3 gcc-c++.i386 0:4.1.2-48.el5 gsl-devel.i386 0:1.13-3.el5 libXmu-devel.i386 0:1.0.2-5 mesa-libGL-devel.i386 0:6.5.1-7.8.el5 mesa-libGLw-devel.i386 0:6.5.1-7.8.el5 readline-devel.i386 0:5.1-3.el5 openmotif-devel.i386 0:2.3.1-2.el5_4.1 mesa-libGLU-devel-6.5.1-7.8.el5.i386.rpm freeglut-devel-2.4.0-7.1.el5.i386.rpm ncurses-devel.i386 0:5.5-24.20060715 After the installation of these packages you proceed building gbase and geotool as described in Appendix I.

Page 36: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 36

Terminology

Glossary

Environment variable

The UNIX shell uses environment variables to send information about the user’s environment (such as the current working directory or the terminal type, for example) to the programs being run. The variable definitions are passed on to any program that is not built into the shell, and can be consulted, or modified by the program. For example, “TERM” (environment variables are expressed as upper case by programming convention) defines the type of terminal used. (Whatis, 2008)

GNU GNU is a UNIX-like operating system that comes with source code that can be copied, modified, and redistributed. The GNU project was started in 1983 by Richard Stallman and others, who formed the Free Software Foundation (FSF). The FSF uses a stipulation that it calls copyleft. Copyleft stipulates that anyone redistributing free software must also pass along the freedom to further copy and change the program, thereby ensuring that no one can claim ownership of future versions and place restrictions on users. (Whatis, 2008)

GNU Autotools The GNU Autotools consist of Autoconf, Automake and Libtool. These packages are used to make software more portable and to simplify the build process. Autoconf makes packages more portable by performing tests to discover system characteristics before the package is compiled. The source code can then adapt to these differences. Automake is a tool for generating Makefiles that conform to a number of standards. Libtool is a command line interface to the compiler and linker that makes it easy to portably generate static and shared libraries, regardless of the platform on which it is running. (Vaughan et al., 2000)

LDAP LDAP (Lightweight Directory Access Protocol) is a software protocol for enabling anyone to locate organizations, individuals, and other resources such as files and devices in a network, whether on the public Internet or on a corporate intranet. (Whatis, 2008)

Makefile A makefile is used with the UNIX make utility to determine which portions of a program to compile. A makefile is basically a script that guides the make utility to choose the appropriate program files that are to be compiled and linked together. (Whatis, 2008)

Motif Motif is a graphical user interface (GUI) guideline and development toolkit for the X Window System. As such, it defines the rules and tools for the “look-and-feel” in the graphical user interface of most UNIX-based operating systems and their applications. (Whatis, 2008)

NetCDF NetCDF (network Common Data Form) is an interface for array-oriented data access and a library that provides an implementation of the interface. The netCDF library also defines a machine-independent format for representing scientific data. Together, the interface, library, and format support the creation, access, and sharing of scientific data. (Unidata, 2008)

Open Database Connectivity (ODBC)

Open Database Connectivity (ODBC) is an open standard application programming interface (API) for accessing a database. By using ODBC statements in a program, you can access files in a number of different databases, including Access, dBase, DB2, Excel, and Text. In addition to the ODBC software, a separate module or driver is needed for each database to be accessed. (SearchOracle, 2008)

Page 37: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 37

OpenGL OpenGL (Open Graphics Library) is the computer industry's standard application program interface (API) for defining 2-D and 3-D graphic images. Prior to OpenGL, any company developing a graphical application typically had to rewrite the graphics part of it for each operating system platform and had to be cognizant of the graphics hardware as well. With OpenGL, an application can create the same effects in any operating system using any OpenGL-adhering graphics adapter. (Whatis, 2008)

OpenSSL The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit and its related documentation. (OpenSSL, 2008)

Rational Unified Process

The Rational Unified Process (RUP) is an object-oriented and Web-enabled program development methodology. According to Rational (developers of Rational Rose and the Unified Modeling Language), RUP is like an online mentor that provides guidelines, templates, and examples for all aspects and stages of program development. RUP combines the procedural aspects of development (such as defined stages, techniques, and practices) with other components of development (such as documents, models, manuals, code, and so on) within a unifying framework. (Whatis, 2008)

X Server An X server is a server of connections to X terminals in a distributed network that uses the X Window System. From the terminal user's point-of-view, the X server may seem like a server of applications in multiple windows. Actually, the applications in the remote computer with the X server are making client requests for the services of a windows manager that runs in each terminal. X servers (as part of the X Window System) typically are installed in a Unix-based operating system in a mainframe, minicomputer, or workstation . (Whatis, 2008)

X Window The X Window System is an open, cross-platform, client/server system for managing a windowed graphical user interface in a distributed network. In general, such systems are known as windowing systems. In X Window, the client-server relationship is reversed from the usual. Remote computers contain applications that make client requests for display management services in each PC or workstation. X Window is primarily used in networks of interconnected mainframes, minicomputers, and workstations. It is also used on the X terminal, which is essentially a workstation with display management capabilities but without its own applications. (Whatis, 2008)

Zlib Zlib is a free, general-purpose, lossless data-compression library for use on virtually any computer hardware and operating system. The zlib data format is itself portable across platforms. (Zlib, 2008)

Page 38: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC/SA/SI Page 38

Abbreviations

API Application Programming Interface

CD Continuous Data

CTBTO Comprehensive Nuclear-Test-Ban Treaty Organisation

F&P Formats and Protocols

IDC International Data Centre

IMS International Monitoring System

LDAP Lightweight Directory Access Protocol

MB Megabyte

MHz Megahertz

NDC National Data Centre

ODBC Open Database Connectivity

OSI On-site Inspection

PTS Provisional Technical Secretariat

RAM Random Access Memory

RPM Red Hat Package Manager

RUP Rational Unified Process

SQL Structured Query Language

REFERENCES

CTBTO/PTS (2002). Editorial Manual, CTBTO, Vienna.

CTBTO/PTS (2002). Draft working text of the operational manual for the International Data Centre, CTBTO, Vienna.

Gary V. Vaughan G. V., Elliston B., Tromey T. and Lance Taylor, I. (2000). GNU Autoconf, Automake and Libtool, New Riders Publishing, Berkely Ca..

IDC (2001). IDC Database Schema 5.1.1 Rev3, CTBTO, Vienna.

IDC (2002). Formats and Protocols for Continuous Data CD-1.0, IDC3.4.2Rev01, CTBTO, Vienna.

IDC (2002). Formats and Protocols for Continuous Data CD-1.1, IDC3.4.3Rev03, CTBTO, Vienna.

IDC (2002). Software Documentation Framework, CTBTO, Vienna.

IDC (2003). Software Installation Plan Template, CTBTO, Vienna.

Page 39: National Data Centre Software Installation Plan (Waveform ... · Mbyte of RAM. The minimum requirement for an Intel platform is a 1.7 GHz Pentium-4 processor with 256 Mbyte of RAM

IDC Page 39

OpenSSL (2008) Welcome to the OpenSSL project, URL http://www.openssl.org/ (Accessed 29 January 2008).

SearchOracle (2008). Open Database Connectivity, URL http://searchoracle.techtarget.com/ (Accessed 29 January 2008).

Sun Microsystems (2008). Maximum number of open files, URL http://sunsolve.sun.com (Accessed 29 January 2008).

Whatis (2008). TechTarget, URL http://www.whatis.com (Accessed 29 January 2008).

Unidata (2008). NetCDF, URL http://www.unidata.ucar.edu/software/netcdf (Accessed 29 January 2008).

Zlib (2008). Zlib, URL http://www.zlib.net/ (Accessed 29 January 2008).

GSL (2008), GSL, URL http://www.gnu.org/software/gsl/ (Accessed 29 January 2008).