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™.
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:
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
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.
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_openldap-2.0.22-4.patch | Patch to make openldap handle long packets and timeouts properly. | #1201, #1483 (re-submitted by VDT) – fixed |
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_merge_openldap-3.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_slapd_backslash.patch | Removes the backslash from the list of characters that cause unconditional rejection | #1496 – new |
globus_debug.h.patch | Fix for using header in C++ | #929 – fixed in globus_common 3.16 (update for 2.4.3); not applied |
globus_common_gpt1.patch | Fix GPT dependencies for GPT version 1 | Not reported as Globus does not support GPT v.1 anymore; not applied |
Listed in build order
Title | Description (if any) |
globus_core | |
globus_common | |
globus_common_setup | |
globus_data_conversion | |
globus_hostname2contacts | |
globus_gatekeeper_setup | |
globus_libtool | |
globus_mds_common | |
globus_mds_common_setup | |
globus_mds_gris | |
globus_mds_gris_setup | |
globus_openssl | |
globus_proxy_wrapper | |
globus_trusted_ca_42864e48_setup | |
globus_user_env | |
globus_cyrus-sasl | |
globus_gass_cache | manages the local GASS cache on a client system |
globus_gsi_openssl_error | |
globus_gsi_proxy_ssl | |
globus_mp | |
globus_rsl | |
globus_gram_reporter | |
globus_openldap | an API for the LDAP protocol used by MDS |
globus_openssl_module | |
globus_rsl_assist | |
globus_gsi_cert_utils | |
globus_gsi_sysconfig | |
globus_gsi_callback | |
globus_gsi_credential | |
globus_gsi_proxy_core | |
globus_gssapi_gsi | |
globus_proxy_utils | |
globus_gss_assist | simplifies the use of the GSSAPI in the Globus environment |
globus_sasl_gssapi_gsi | |
globus_gatekeeper | |
globus_io | provides high-performance I/O with integrated security and a socket-like interface |
globus_ldapmodules | |
globus_mds_back_giis | |
gssapi_error | |
globus_ftp_control | provides low-level services for implementing FTP client and servers |
globus_gass_transfer | provides an API for clients and servers involved in GASS data transfer |
globus_gram_protocol | |
globus_nexus | provides multithreaded, asynchronous, thread-safe multiprotocol communication facilities |
globus_duct_common | |
globus_ftp_client | provides a convenient way of accessing files on remote FTP servers |
globus_gass_server_ez | provides a simple set of GASS server capabilities |
globus_gram_client | provides remote job submission and management capabilities |
globus_gridftp_server | |
globus_duct_control | |
globus_duct_runtime | |
globus_duroc_common | provides resource coallocation services for starting distributed jobs |
globus_gass_copy | provides a uniform interface for accessing files using a variety of protocols |
globus_gass_cache_program | |
globus_gram_job_manager | provides a simple, consistent way to interact locally with a variety of schedulers such as LSF, LoadLeveler, PBS, Condor, etc. |
globus_duroc_control | |
globus_gram_client_tools | |
globus_gram_myjob | provides a basic communication mechanism for processes within a GRAM job |
globus_duroc_runtime | |
globus_duroc_bootstrap | |
globus_gram_job_manager_setup | |
globus_gram_job_manager_setup_fork | |
globus_gram_job_manager_setup_condor | |
globus_gram_job_manager_setup_lsf | |
globus_gram_job_manager_setup_pbs | |
globus_gram_job_manager_setup_remote | |
globus_gram_reporter_setup_fork | |
globus_gram_reporter_setup_condor | |
globus_gram_reporter_setup_lsf | |
globus_gram_reporter_setup_pbs | |
globus_gsincftp | |
globus_replica_catalog | provides an interface to a catalog of data collections, logical files, and physical locations |
globus_replica_management | allows clients to manage files within a file replication system |
globus_rls_client |