Specifics of the NorduGrid release of the Globus Toolkit 2™

Important notes

The NorduGrid middleware builds on top of the Globus Toolkit 2™. Although any reasonably stable release of GT2™ can be used, NorduGrid exploits many features which are often out of scope of the Globus developers. As a result, several patches and bug fixes for GT2™ are recommended and applied by the NorduGrid. Such patched version of Globus is recommended by the NorduGrid developers, since it allows users to avoid several shortcomings. It is packed as a single RPM distribution and is available for download from the NorduGrid downloads area.

While some patches and fixes are reported back to Globus, the propagation time for a patch into an official release takes too long (months at times). Also, some fixes are either of minor importance, or make use of components not supported by Globus any longer, while being still used by the NorduGrid. Hence the NorduGrid definitely has to provide an own Globus distribution, and intend to do so in future.

Other re-packaged Globus distributions, most notably, those from NMI or VDT, typicaly do not contain NorduGrid patches either, and have an unacceptable latency in releasing new versions. Moreover, the RPM packages provided by these projects are not natively built ones, and can not be re-built on different platforms. Thus, although NorduGrid can be built against such distributions, to achieve the best performance it is recommended to install the NorduGrid-patched Globus Toolkit 2™.

Installation

The NorduGrid's Globus release is available as pre-build binary packages, either in RPM or gzipped tar formats. The packages must be installed in the following order:

  1. Grid Packaging Tools (GPT)
  2. Globus Toolkit 2

Binaries are available through the NorduGrid Downloads area under "External software": choose "gpt" and "globus".

To install from RPMs, do:

rpm -Uvh gpt-<version>.rpm
rpm -Uvh globus-<version>.rpm

To install from the binary tarballs, simply unpack the packages.

Make sure that the environment variables GLOBUS_LOCATION and GPT_LOCATION are set according to your Globus installation: unless you forced installation in a specific location, the default locations should be /opt/globus and /opt/gpt respectively.

If you installed Globus from the binary tarballs, execute the post-installation script in $GLOBUS_LOCATION/setup/globus-post-install-script

Building

In addition to the pre-built Globus binary RPMs and tarballs, available for a dozen of GNU/Linux distributions, NorduGrid provides a source RPM for the patched Globus as well (globus-<x.y.z-N>ng). Re-building a single globus-<x.y.z-N>ng RPM requires a functional RPM build environment and prior installation of the following software:

To re-build an RPM from a source tar.gz file, do:

rpmbuild -ta <package>.tar.gz

or, from a .src.rpm, do:

rpmbuild --rebuild <package>.src.rpm

Proceed them with installation as written above.

Patches being applied for the NorduGrid GT2™ release

Check the list of all the bugs ever submitted by the NorduGrid to the Globus Toolkit™ Bugzilla.

Below is the list of patches currently or recently applied by the NorduGrid to the original Globus Toolkit 2™ distribution.


Patch Description Globus bug #
globus_gatekeeper.0.patch Adds an extra logging line with everything on one line Submitted by EDG
globus_gss_assist.0.patch Allows for dynamic accounts Submitted by EDG
globus_cygnus.patch Fixes some Cygwin build issues Not reported as Globus does not support Cygwin
globus_common_nogpt1.patch
globus_openldap_nonstripped_slapd.patch To not strip slapd NorduGrid bug #299
globus_rls_client.patch Fix for segfaults in globus-rls-client
globus_large_files_aix.patch fix compile problem on AIX (only applied on AIX builds)
globus_mds_timeout.patch Patch to make MDS handle timeouts properly. #1201, #1483 (re-submitted by VDT) – fixed
globus_replica_catalog-2.1.patch Use secure authentication while contacting globus replica server. Not reported because Globus does not support Replica Catalog anymore
globus_openldap_merge-0.9.patch Merge the 2 versions of OpenLDAP that Globus distributes (one for MDS and another for Replica Catalog). Not reported because Globus does not support Replica Catalog anymore
globus_gsincftp-mandir.patch Fix the problem with gsincftp manpage locations Not reported, non-critical
globus_cyrus-sasl_nousrlocal.patch Get around a bug in gcc-3.2 (applied only for gcc-3.2) Reported by others, Globus does not consider it a bug (see e.g. bug report #488)
globus_gsincftp_noextradirs.patch Get around a bug in gcc-3.2 (applied only for gcc-3.2) Reported by others, Globus does not consider it a bug (see e.g. bug report #488)
globus_openldap_perms.patch Correct permissions for openldap libraries. #858 – fixed - but still applied
globus_ftp_client_transfer.patch Handle timeout when asking for size of files on gsiftpserver. #1084 – assigned
globus_iov_max.patch Fixes something Reported by others: #992 – fixed (?)
globus_makefile-header.patch This patch fixes globus-makefile-header to work with gpt-3.0.1 Reported by others: #1141 – new (?)
globus_normalization.patch This patch makes globus_i_gss_assist_gridmap_parse_globusid use the same normalization as X509_NAME_oneline. #1417 &ndash assigned
globus_debug.h.patch Fix for using header in C++ #929 – fixed in globus_common 3.16 (update for 2.4.3); not applied

Packaged components

Listed in alphabetic order

TitleDescription (if any)
globus_common-3.17
globus_common_setup-2.2
globus_core-2.15
globus_cyrus-sasl-0.4
globus_data_conversion-2.0
globus_duct_common-2.0
globus_duct_control-2.0
globus_duct_runtime-2.0
globus_duroc_bootstrap-2.0
globus_duroc_common-2.0provides resource coallocation services for starting distributed jobs
globus_duroc_control-2.0
globus_duroc_runtime-2.0
globus_ftp_client-1.10provides a convenient way of accessing files on remote FTP servers
globus_ftp_control-1.11provides low-level services for implementing FTP client and servers
globus_gass_cache-5.0manages the local GASS cache on a client system
globus_gass_cache_program-2.6
globus_gass_copy-2.9provides a uniform interface for accessing files using a variety of protocols
globus_gass_server_ez-2.3provides a simple set of GASS server capabilities
globus_gass_transfer-2.4provides an API for clients and servers involved in GASS data transfer
globus_gatekeeper-2.5
globus_gatekeeper_setup-2.0
globus_gram_client-4.1provides remote job submission and management capabilities
globus_gram_client_tools-3.6
globus_gram_job_manager-3.13provides a simple, consistent way to interact locally with a variety of schedulers such as LSF, LoadLeveler, PBS, Condor, etc.
globus_gram_job_manager_setup-3.2
globus_gram_job_manager_setup_condor-1.4
globus_gram_job_manager_setup_fork-1.1
globus_gram_job_manager_setup_lsf-1.4
globus_gram_job_manager_setup_pbs-1.5
globus_gram_job_manager_setup_remote-1.1
globus_gram_myjob-2.0provides a basic communication mechanism for processes within a GRAM job
globus_gram_protocol-5.1
globus_gram_reporter-2.0
globus_gram_reporter_setup_condor-1.0
globus_gram_reporter_setup_fork-1.0
globus_gram_reporter_setup_lsf-1.0
globus_gram_reporter_setup_pbs-1.0
globus_gridftp_server-1.12
globus_gsi_callback-0.8
globus_gsi_cert_utils-0.12
globus_gsi_credential-0.9
globus_gsi_openssl_error-0.5
globus_gsi_proxy_core-0.10
globus_gsi_proxy_ssl-1.0
globus_gsi_sysconfig-0.11
globus_gsincftp-3.0.3
globus_gss_assist-3.5simplifies the use of the GSSAPI in the Globus environment
globus_gssapi_gsi-3.14
globus_hostname2contacts-1.0
globus_io-4.0provides high-performance I/O with integrated security and a socket-like interface
globus_ldapmodules-0.14
globus_libtool-0.3
globus_mds_back_giis-0.9
globus_mds_common-2.5
globus_mds_common_setup-2.4
globus_mds_gris-2.5
globus_mds_gris_setup-2.9
globus_mp-2.0
globus_nexus-6.2provides multithreaded, asynchronous, thread-safe multiprotocol communication facilities
globus_openldap-0.9an API for the LDAP protocol used by MDS
globus_openssl-0.20
globus_openssl_module-0.4
globus_proxy_utils-0.9
globus_proxy_wrapper-0.2
globus_replica_catalog-2.2provides an interface to a catalog of data collections, logical files, and physical locations
globus_replica_management-2.3allows clients to manage files within a file replication system
globus_rls_client-2.2
globus_rls_server-2.2
globus_rls_server_setup-2.2
globus_rsl-3.0
globus_rsl_assist-2.0
globus_sasl_gssapi_gsi-0.2
globus_trusted_ca_42864e48_setup-0.5
globus_user_env-2.2
gssapi_error-2.1