Globus 2.2 Installation Guide

  1. Choosing Bundles
  2. Installing Globus
  3. More about GPT

Choosing Bundles

The Globus Toolkit 2.4 uses the Grid Packaging Technology for installation. A collection of GPT packages is called a "bundle". There are source and binary bundles available. Here are some guidelines to help you choose what to download:

  1. Installing from a binary distribution

    If you are obtaining the Globus Toolkit primarily to build a Grid, to develop Grid-enabled applications using our libraries, or to use our Grid tools, you may choose to obtain precompiled binaries. By doing this, you can save the storage space required by the code and you can skip the compilation phase of your installation.  Also, GPT2 allows source packages may to be installed on top of a binary installation.
  2. Install from a source distribution

    If you intend to make changes to the Globus Toolkit code or debug the Globus Toolkit code at the source level, or if you need to install the Globus Toolkit on a system for which precompiled binaries are not available, then you must obtain the source code, compile it yourself using our build tools, and install the resulting libraries and programs.

Whether you choose source or binary bundles, the first step in either choice is to download and install the Grid Packaging Toolkit. Once that is installed and configured, you will download and install the bundles of your choice.

What bundles are available?

There are several bundles available, packaged according to module. The modules are described in the overview.

Source bundles

Source bundles are available for clients, servers, and SDKs.  A complete installation of the toolkit consists of installing all of these bundles.  If you are not familiar with the toolkit, we recommend that you install all the bundles until you are more familiar with the components that will be required at your site.

The server bundle will contain the necessary pieces to install the servers, but do not contain everything required to be a client of those servers.  The client bundle contains the client tools, but not the server components.  The SDK for a component contains the libraries and headers required to compile and link your programs against that component. If you want to develop against Globus, get the SDK bundle. This includes scenarios where you want to install something like MPICH-G2 on top of Globus.

Binary bundles

Binary bundles have been built for specific platforms. For any given platform, you have a choice of downloading the clients, servers, or both.

Extra Packages

There are some extra packages available with Globus 2.4 which only apply to certain setups.  These are the scheduler-specific jobmanager packages, and the gram-reporter packages.  By default, GRAM server bundles will come with only the fork jobmanager, which executes jobs on the local machine.  If you have a scheduler installed that you would like to have GRAM integrate with, download the appropriate jobmanager package, and see the Advanced Configuration section of the guide.

The gram-reporter packages publish scheduler-specific information into MDS.  Only the "All" and "All Server" binary bundles contain the gram-reporter packages by default, since that is the only bundle which contains both GRAM and MDS.  If you are planning on installing both GRAM and MDS, you may want to download the gram-reporter packages as well.

The extra packages are available from the Globus 2.2 download page.

Installing Globus

The installation will follow these steps:

  1. Create a user named "globus" (optional, but recommended)
  2. Create a location to install Globus
  3. Download and install GPT
  4. Download source or binary bundles
  5. Use GPT to install the bundles
  6. Configure the installation

Create a user named "globus"

Create an account named "globus" using whatever tool is appropriate for your system. The rest of these instructions assume that you are performing these commands as the user named "globus", except where noted.

If you do not have root privileges to create this account, you can install as your ordinary user account.  If you do have root, we recommend the creation of this user instead of installing it directly as root.  If your site policy requires installation as root, that is fine.  Take special note in the verification section, however, for there are some verification tests that should not be run as root.

Create a location to install Globus

Create a directory where you want to install the Globus Toolkit.  It should be owned by the user named "globus" (or your user account, if you did not create the globus account).

Set the environment variable GLOBUS_LOCATION to point to this location. You should keep the area where you download the bundles and build them separate from the final installation location.  Also set the environment variable GPT_LOCATION to where you would like the GPT software installed.  We recommend creating separate locations for the two components.

Download GPT

The GPT software is developed at NCSA, and the latest version is available from the GPT homepage. There is also a link to GPT from: the GT2 download page.

Perl 5.005 or greater is required to use GPT. You can download Perl from www.perl.comNote: GPT depends on GNU tar and GNU make.  We have found that on non-GNU (i.e. non-Linux) systems it helps to have these tools available as gtar and gmake.

Install GPT

Unzip and untar the file:

% gzip -dc gpt-*.tar.gz | tar xf -

This will create a directory named "gpt-version/". cd into the directory:

% cd gpt-*

Run build_gpt. This will install GPT into $GPT_LOCATION.

% ./build_gpt

Note: If your perl 5.005 executable is not named "perl" or is not in your command search path, add --with-perl={perl-cmd} to the build_gpt command to identify the perl executable to be used by the packaging tools.  Also, GPT is using the Archive::Tar perl module to perform bundle extraction.  Some system native tar executables produce output which the module does not expect, like "blocksize = 256".  If you run into such an error, re-compile GPT with a GNU tar at the front of your path.

Download bundles

You can download Source or Binary bundles from the download page.  We recommend that you not download the bundles into GLOBUS_LOCATION itself, as the build process will create some directories that you will delete later, most notably the BUILD/ subdirectory if you build from source.

Install bundles

The command to install a binary bundle with GPT 2 is

$GPT_LOCATION/sbin/gpt-install <options> <bundle-name> <flavor[s]>

The command to build a source bundle with GPT 2 is

$GPT_LOCATION/sbin/gpt-build <options> <bundle-name> <flavor[s]>

Both commands place the resulting installation into $GLOBUS_LOCATION.

Choose the flavor name and options for each bundle based on the following table:

    BUNDLE FLAVORS
    Data Management Client gcc32dbg
    Data Management SDK gcc32dbg
    Data Management Server gcc32dbg
    Information Services Client gcc32dbgpthr
    Information Services Server gcc32dbgpthr
    Information Services SDK gcc32dbgpthr
    Resource Management Client gcc32dbg
    Resource Management SDK* gcc32dbg
    Resource Management Server   gcc32dbg
    Replica gcc32dbgpthr
    GSI gcc32dbg

Note: If you are installing the replica bundle you will have to follow a different set of installation instructions.

Note: You do not need to install the GSI bundle if you have installed or plan to install any of the other bundles. It is meant for applications which only depend on GSI.

*If you have a vendor-native MPI implementation, you can use "mpicc" instead of "gcc" to make the Toolkit aware of the native MPI.  In this case, mpicc should be on your path.  This is used by MPICH-G2 if you install it.

For GPT2, you can set a -logdir=<dir> option to keep logs.

Configure the installation

After installing all of the bundles you want, run $GPT_LOCATION/sbin/gpt-postinstall to run the configuration scripts that will customize your Toolkit installation to your current host.  A reminder will scroll by that you need to run setup-gsi. 

If you have root on the system, you should become root and run $GLOBUS_LOCATION/setup/globus/setup-gsi.  This will install some GSI files into /etc/grid-security.  If you do not have root on the system, run $GLOBUS_LOCATION/setup/globus/setup-gsi -nonroot to install the security information into $GLOBUS_LOCATION/etc instead of /etc/grid-security.  The -nonroot option is aimed at client-side installs.

Next steps

You still need to acquire some certificates to be able to use your installation. In the next section, we will go over how to acquire certificates, and verify that your installation works correctly.

More about GPT

Note: You may skip this section if you are happy building with gcc on a 32 bit platform with debugging and pthreads.

Flavor names are a collection of compile time options. This lets you select between compilers (gcc, vendorcc, mpicc), architecture (32 or 64 bit), debugging or not, and threaded or not. You also choose whether to make something static at build time.

Therefore, when you look at the table of how to build the different packages, you can understand that the suggested flavors are for a 32 bit architecture with debugging turned on, always using gcc, and using pthreads when threading is applicable.

If you want to change any of these options, change the corresponding chunk of the flavor name. For instance, vendorcc64dbgmpi will build with 'cc', 64 bit, debugging on, using your native MPI. You can also change threading implementations, to use sproc or Solaris threads, for instance.

These options will be passed in the appropriate way to all of the packages in a bundle. To see a master list of flavors, and what options they pass, install GPT and run globus-flavor-configuration -standard.

It is also possible to install a single bundle with more than one flavor. This is, in fact, one of the reasons that flavors exist. A flavored version of a library contains its flavor name in the name of the library itself. Take a look in $GLOBUS_LOCATION/lib after installing some bundles to see. So if you install the SDK bundles, and you might want to build both threaded and non-threaded apps on top of them, build them with both threaded and non-threaded flavors.

Back to Index


Charles Bacon

Last modified: Thu Apr 24 10:05:01 CDT 2003