Installation Procedure

Create a backup copy of any existing version of GT.M before running the installation procedure. The installation procedure overwrites any existing version of GT.M in the installation target directory.

[Important] Important

Never install a GT.M release into an existing directory overwriting another release that might be needed for research or recovery and never on the one currently in use. FIS recommends installing each version of GT.M in a separate directory using the naming convention /usr/lib/fis-gtm/version_platform , where version is the GT.M version being installed and platform is the hardware architecture. For example, /usr/lib/fis-gtm/V6.3-002_x86_64.

Run the installation procedure as root for everything to install correctly.

Find or create a temporary directory to hold your GT.M distribution files.

Example:

$ mkdir /tmp/unpackgtm ; cd /tmp/unpackgtm

or

$ mkdir /var/tmp/unpackgtm ; cd /var/tmp/unpackgtm
[Note] Note

When choosing a temporary directory, keep in mind the following points:

  • Whether it is safe to use a directory (like /tmp) subject to concurrent use by the operating system, applications, and so on.

  • Whether you can protect any sensitive information in temporary files with appropriate access permissions.

Unpack the distribution to the temporary directory with a command such as the following (your UNIX version may require you to first use gzip to decompress the archive and then tar to unpack it; the tar options may also vary; On AIX, if you use the default tar you have to unpack as root, or use GNU tar):

$ tar zxvf /Distrib/GT.M/gtm_V63002_linux_i586_pro.tar.gz -C /temporary/directory
[Note] Note

The name of the device and the tar options may vary from system to system.

The GT.M distribution contains various GT.M system administration scripts. These include:

configure to install GT.M
gtm sets a default user environment and starts GT.M. 
gtmbase An example to set up a default user environment.

Note that gtmbase is simply an example of the type of script you can develop. Do not use it as is.

For more information on using gtmbase and other scripts, refer to Chapter 3: “Basic Operations.

To start the GT.M installation procedure, change to the temporary directory and execute the configure script:

#cd /temporary/directory
#./configure

The configure script displays a message like the following:

 GT.M Configuration Script
GT.M Configuration Script Copyright 2009, 2017 Fidelity Information Services, Inc. Use of this
software is restricted by the provisions of your license agreement.
What user account should own the files? (bin) 

Enter the name of the user who should own GT.M distribution files. The default is bin. If there is no user with the name bin, the configure script asks for an alternate user who should own GT.M distribution files.

What group should own the files? (bin) 

Enter the name of the group who should own GT.M distribution files. The default is bin. If there is no group with the name bin, the configure script asks for an alternate group who should own GT.M distribution files.

Should execution of GT.M be restricted to this group? (y or n)

Choose y to restrict the use of your GT.M distribution to the specified group. This is a security-related option. By default, GT.M does not restrict access by group.

In what directory should GT.M be installed?

Enter a directory name, such as /usr/lib/fis-gtm/V6.3-002_x86_64. If the directory does not exist, the configure script displays a message like the following:

Directory /usr/lib/fis-gtm/V6.3-002_x86_64 does not exist. 
Do you wish to create it as part of this installation? (y or n)

Choose y to create the directory orn to cancel the installation.

Installing GT.M...

This is followed by a confirmation message for installing UTF-8 support.

Should UTF-8 support be installed? (y or n)

Choose y to confirm. If you choosen, UTF-8 functionality is not installed.

[Note] Note

GT.M requires at least ICU Version 3.6 to be installed. The installation script uses pkg-config (icu-config, if pkg-config is not available) to find system default ICU version.

The configure script displays the following message:

All of the GT.M MUMPS routines are distributed with uppercase 
names. You can create lowercase copies of these routines 
if you wish, but to avoid problems with compatibility in 
the future, consider keeping only the uppercase versions 
of the files.
Do you want uppercase and lowercase versions of the MUMPS routines? (y or n).

Choose y to confirm. The configure script then displays the list of MUMPS routines while creating their lowercase versions. Then the script compiles those MUMPS routines. On platforms where GT.M supports placing object code in shared library, it creates a library libgtmutil.so with the object files of the utility programs and GDE distributed with GT.M. On these platforms, it asks the question:

Object files of M routines placed in shared library /usr/lib/fis-gtm/V6.3-002_x86_64/libgtmutil.so. 
Keep original .o object files (y or n)? 

Unless your scripts require separate object files for these routines, you can safely delete the .o object files, and place $gtm_dist/libgtmutil.so as the last element of gtmroutines in lieu of $gtm_dist.

The configure script then asks you:

Installation completed. Would you like all the temporary files removed from this directory? (y or n)

Choose y to confirm. FIS recommends deleting all temporary files.

Congratulations! GT.M is now installed on the system. Proceed to “Compiling the Reference Implementation Plugin ” section to identify and resolve shared library dependencies on your system and then Chapter 3: “Basic Operations to set up a default user environment.

Compiling the Reference Implementation Plugin

If you plan to use database encryption and TLS replication, you must compile the reference implementation plugin to match the shared library dependencies unique to your platform.

Instructions

Compile the reference implementation plugin as follows:

  1. Install the development headers and libraries for libgcrypt, libgpgme, libconfig, and libssl. On Linux, the package names of development libraries usually have a suffix such as -dev or -devel and are available through the package manager. For example, on Ubuntu_x86_64 a command like the following installs the required development libraries:

    sudo apt-get install libgcrypt11-dev libgpgme11-dev libconfig-dev libssl-dev

    The package names vary by distribution / version.

  2. Unpack $gtm_dist/plugin/gtmcrypt/source.tar to a temporary directory, for example:

    mkdir /tmp/plugin-build
    cd /tmp/plugin-build
    cp $gtm_dist/plugin/gtmcrypt/source.tar .
    tar -xvf source.tar
  3. Follow the instructions in the README.

    • Open Makefile with your editor; review and edit the common header (IFLAGS) and library paths (LIBFLAGS) in the Makefile to reflect those on your system.

    • Define the gtm_dist environment variable to point to the absolute path for the directory where GT.M is installed

    • Copy and paste the commands from the README to compile and install the encryption plugin with the permissions defined at install time

  4. Compare the permissions of $gtm_dist/libgtmshr.so to the newly installed shared libraries in $gtm_dist/plugin. Adjust the permission of the newly installed libraries as necessary.